From: wolf Date: Fri, 14 Jun 2002 10:31:20 +0000 (+0000) Subject: Add printable version of new report. Cross-link report anyway. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfe894cd3b9146dcb60d7bd6e86a1922816b91aa;p=dealii-svn.git Add printable version of new report. Cross-link report anyway. git-svn-id: https://svn.dealii.org/trunk@6115 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/documentation.html b/deal.II/doc/documentation.html index a21633853b..87c4c36bca 100644 --- a/deal.II/doc/documentation.html +++ b/deal.II/doc/documentation.html @@ -173,6 +173,21 @@ boundary approximations. This report gives the theoretical background of the MappingQ class. + +
  • + A report on + assembling matrices (by Wolfgang + Bangerth). This report looks in particular at how + matrices are assembled for vector-valued problems, and + how things change if vector-valued finite elements are + used for which the shape functions have more than one + non-zero vector component, such as Nedelec or + Raviart-Thomas elements. There is also a + printable version of the report. +

    +

    diff --git a/deal.II/doc/reports/assemble/assemble.ps b/deal.II/doc/reports/assemble/assemble.ps new file mode 100644 index 0000000000..a8396084d7 --- /dev/null +++ b/deal.II/doc/reports/assemble/assemble.ps @@ -0,0 +1,4785 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.86e Copyright 2001 Radical Eye Software +%%Title: assemble.dvi +%%Pages: 13 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: CMR17 CMTT12 CMR12 CMBX12 CMR10 CMTT10 CMTI10 CMMI10 +%%+ CMSY10 CMR7 CMMI7 CMEX10 CMSY7 MSBM10 MSBM7 CMMI5 CMBX10 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips assemble -o assemble.ps +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2002.06.14:1228 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/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{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +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} +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{ +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 +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.1: CMBX10 1.00B +%%CreationDate: 1992 Feb 19 19:54:06 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMBX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 69 /E put +dup 71 /G put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +readonly def +/FontBBox{-301 -250 1164 946}readonly def +/UniqueXX 5000768 def +currentdict end +currentfile eexec +8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 +97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc +8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 +b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 +50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e +784c6bf7389803d9450b0c21756a017306462c563d51ece66fcc9c831843ecae +1fefc1a232e2724f7baee428ae03aadb95c3035345c15e9922fe49e1f2cfc980 +237316572dbc57064edac9b0db8913a5e2d45e97e19a91435ccf8adfc835b585 +48e74b291446d689c7f2f8c4325e8356e974ae30c3e2977477baeaa33d141fb7 +80f59351e84bfc88c87b3a4a1d25e168b9d134554f6a581378c7d2d6eca8ac09 +045cc3a5e0ed86f147133f094029e3483bebc81cfde69942cf645ea20d0a2b64 +5140ccc2f9cb4a3d969f4b0a79cd3329b440dfcff5285494406f3dd08d804c86 +df191e57232f6f1f83df6430f214e03fa5412b1e13d83c60c52a698bc9a38159 +19a64162af7b83a9468fae9507c6cb55ea80df8c696dfbc3296c663902d77e89 +a181502627281181ac8624f65be9de5fb32f056cc7dd7cbc7366a91717b5892a +34ef6b441871c6993da3a81afc9bf70ff3842a21a29c0e49da1ccba37dd6b920 +2702db510b8b1109acf4c27ee8d676bdbd16abe189f34a9b61532eb777457698 +cee0561838eaab2d3939c5093afbb215bac433d1918c739b62566906bb2187f3 +378521fb52e70c18886e1aa15f53a1f8a169528cf2ddd54c203613ff88e619f2 +6c9c50c2c3b8b8c868a88afab1dc8472e7b6f3f992a161723a3c0904865a7c42 +3281601eee91f35222c4a71f343739f102eb43145a47e4fac3bd666e4c114a90 +5950618ecb1bdc29f90f6ebed1d8325fe6b52e14a8870e9b4bb088e585c71b91 +493c12845a101937e3473ac5e9ae24f7c358f06d590d7618e1a1d5834d87621f +e3f5432b655eebd4ca61a7b00dde0aa740796ce88a43d1c6952f8d2ca63d30b6 +dcbadbb0dadf13150a442714675dbe51ff838f2e47ebe8cd44f1eac6ae5b6ceb +0b07af03f5d3896ff935a198aa635e337e367e1e128d15e31afe3ffca8245e41 +a3e17011340e49d52fa1e322b435b4f7f2f49ae01f6a319f68d3d786c24be810 +1e1c975a8ba8debd89c6d93db8646b0224c805409e897061b37e81edcb4eff88 +47640c51c28e66d1dfb39ea37525a7f925eab9bcaaa741f90bf207c73cb892e0 +45163ca4d9d25aacbd790e0bcda3746991c5c70ae00e1db0091854884e0fcca1 +a38cdbbe0589e466520f7a132741039b0fd0d2e7aeb2aa458405f0374eb2ad2f +2c8cf8bc7583d1c7e127e9a50057dafeec9c515005478309a953ea6c972cd208 +1cc5364d221e1b4fecc486b2d79352e839bf4e6cdc7c62065d4aa0af68c919e7 +34e32b6232cf543e829a8c6b2ce9adede5898d91595e3a2efac8c464edf6bec7 +ee9f226ec716485d8171f69e74f0fc08abcc77df5f54a407fb69c928822a5ddd +f60e7440a2520aa45245586aae9c67b82497decb370372e4ec1738b258bc358b +4e5953940e16f418b8d27b59565986e3a76b485c2576f23cae22e71c30ec545b +4f97baa009673d5de69f47fc1bf5450b4499c7c8e8021ab9c364a026799526e4 +92a75ff93fe940ae263a21cdc06af1085c4a18732323457c93e3aa7cf9812fd8 +c603c8e4bf534fc01e66a51a82c2b2be8eb855c73f3e7d578cd60ea458fe37ef +b91339522a40d7b63d2e709e13e2458650ad20d5730187aef2467372050e92e5 +8d84186ac0c0bdb21f0728fcef3fb862f9a8965e6a65ccfbfe7e51fb157df270 +ae80f251a7a8dace39038b4a2fcfec671ce0ad92e4d5c90702c427fe23278ff6 +6115fa88fa4f338ec647873b483872e75ec56f1ee8e00d5a37e1b1a083f51913 +2f16c6cfb4cd098781a886eb5e8f93ea6c232aef4f64dc85ed090abfb289d654 +52c5b7daf6632fef944bd1db8c902403f769a0b369daa93d124d22c7831e3d64 +890f259bbe326e3a2ab1bd7a4b21f66026be8e37a1edc649f871a3fa75c55079 +d21142b35ee29cad28a15db16c26003e9b67337ee52739e54759aa37ffc908e0 +6cff5d0e05840094ec6b28a565c0b8485b13ebc3da97e5b5182e2b38f3f4027b +f472d2dd4559849b256b85e535bb63e3bcd8734558a0dcd0d91b43d01baa1d76 +4c85a4eee967be0f383fc8d67c00d15a36f2c9368f5610ccf7f4f181e83a01b6 +24b04f74faa7748fb7f3bece2baab6c6225ee2f8f9f804a40ed0d8714e552fb4 +2e3441ddf48511ce387605ce62da66ed4eb7c87dc1d594bad8006ee519252550 +52f4a6d6d21e417b25c3fa4b624386e40acda51c16a3bd6f7e208d3788e3688f +fe59e08965760a23bbb8f7d682538ee453d828a044245de5a6f1e28aa5053a3c +4c0be8ba96974953b095004f9876b56fe9868d7dc1bc623c0c919b4ef8e8a2d4 +c0ecfeaaef0dcf37dfc34319f9c0c9459e7db76991a6683fc5f66d88d54629ff +a833257926b752fdc3ed6e17c948c167ff7316075d277d16c72f17b9434e6844 +de9c647164245036dffc5dae9163d0e4b58237302332c6d2ca4a59ce6921033d +5919eb617a490920d528c456a34e671df28c79cdf66ac4f8dd69da0b5163c3ba +0b275dc0a54afba12164c6b9b6508193002cfa8041281220328c15acfdb64d26 +926adbffa5164efb714af5a14abfa7ecbe079dd5481bbaa9618b5bf625381372 +0cca156f71c2ce7e0ed9d56abe3ac04085e35383f90a8fbf7afcd2d5dfd6f52c +186b172cf814d6f65663837be4ca4cdc418fa669ac6bf91867d2f46d66ca50e5 +04263f0e6d85d55269faebc393f63b37eb20f45dd95967fae7103322419eef5b +59024c670b6b8c644fe8fd82628cf30d0af16948231abade88eae85e633bef10 +e72b3a6b627efad5d8ea7cdf55770a4c8af859c8e47481f8c64cd4bea275d4ec +5766bc16002b118c5a98e03cafc77b5e37050b63e7bc8e4ef6f69f66cf22adec +15b74db7b9f1dde25bd4b0384a58d5f51505c1e6ea5de3a2ec914f94099faf0e +8ca7f90ee51e83978143711ffdf55cbeb05fe978f5865bed1fa0f24377c4cc07 +ece35a99a9fb7e62c19a3608d13ed7785ccc27961d8dd7c6ae26c8d6110a0618 +b13f4c570452a12fbac547cfbe5b2dc695b4fddc16704ac6fda3ff94e72d8957 +d2a48cbfed11839315bc45367db66fb83fc1898b9692a78cdfd5d1765a100013 +0485298a5c43d51b658c083bb97940c687ff6985804453001dc7a2bf28181e38 +45c71ea8420f6b48dcd3f3b332f8ac78bbf5d5d7eaf23f3cac919c05a6088be4 +66e7e770173f4df1a234e42cdf2c3f52968a203994092a00553d8b10be4b848b +d99fe5bfebcb5c2c856c55e2e1aeddfe8e1c496a26f8f7d8de30ddf54103cc3b +eaedcc16b3be2fb0bc52cda49430393855c38f7d5189f55895cf4b6c25c587d2 +37ee654c4bf55003a855afe57751cc74d3036771bfe1dd01b564767d94682720 +88d5b6fc1384dc1c00a8c6d827850a038475aefb57060707d1a3fadcff525138 +ec3420dcf11b4623fde6f2e90ab4206ee65ba26d85b936e2dac1d8f0985820de +a1c5fcfa5dcd609e75e31bb0c3cf87f0eb7cdbc3d7f3067faea95137a8bcf65d +41088f25f1fe4cee81f54bea54be1ca1d5cf238d36090b16e3cb02292af9127e +e1377ccd08df3e349b35d271a4dfcf9a2495bbc1d56771949bf8083d6a81d77a +90b8d8c8e4abafcf07ac8bef65f6fe4eea7ee09b3f6419c958e8f81e6b3d82c6 +1aa8e64e543a85b8ef1a61751fc5df599dbe75ea5669f843bdd048e839a4951c +7dafe01ad3945caf0cc111e8fc95779f3dcd42ac01714b936e57f6d3ce30c78b +ecbd9ab9edd7bf00ca85223830531a176bef009aeb9a522fd1b2228e547de4df +36d3707e7b54311007332ee829f808fbb2cec5d4f165013bbbec3a615e057a15 +65cdc8992dbb4cdc7ffb9f930e4ea96ca2597ab45244c5ffbe46ccb43891ae28 +053bcf8c45d7b0e0f1743418f8afcbaf19415e35a4306879ca2a4ed99baa57de +c9f3d6aaebcfa8999c25d7d89e5061fa40f97ce6fa3f8a8ad87e8e6c899ff376 +b251ba11747461f2e1a75e5e7ee40204ed802f225095f0edf3c8d4723062d7ab +0fd3d18d30b18cca85ebe3765699a2e5bcaaf350506c7360e7914a75f36cd13a +f8dd68a72030bc373fb58849d9b158c7b1508ed980e7817737e10f2fcc224d72 +2f16192a18a7d21f1922b6ff94b50261ceab28674f648efd90879a8d557bd734 +44f8d8e3310fb55099cdae0fb4f03090323408c4d319153a2bc36218e45b5555 +9be8603e721f99b41d400801b15d5301ea5eb2cd42752464bf25523aa6163aeb +9764ddea342a78fd1d43c33f50acf8431d28016b943f6b5345a76f7de6cf273d +aef8648f48e5fdac3f573149e7e705cf2c82996bb8aef7cb699c79304084e8b7 +c9e437cf9cf8e24c78eb6b1c6b528445e42f7cc553746105e98e19aa699f92c6 +def1446a7008a0298c0cc9c9ed9601a62177202dcbf60357549c824d9697e9a5 +a0f400f4ce741827bfd897ce4cce024a18eccae6783106a710d8c76d2c9da409 +810f437c0b395024f0155025ab4d82ec8f2024b136da891a625ed5a872e1b81e +551598a9802ca89a85846620e215485e9ca1adcd94fe5ac86cd4d49f09c747e2 +295dfa2af72fd1f6130d277a212c05e91eeef5ff188f58cd4e99a838770bae00 +d12de9609410f847b491749b79aeed9f024acb6744eb560899de7f957e50dbc8 +4cd61b5a60eaf47717a48855f304a283c972213de3fa9812a03b6fdb829a3e0d +cef701b4da8dcc4db91b2c1e3a11476c36f4426019d2d9aad2ea9a8e39ad5789 +4ff08f83eeef9a643e212eaad81cb81b2add7a8def7810ba7e2682d45c0f175f +a2e16a127190227faa28f90efc2a41ec6dcb6399058ef56bad97e2b7d07199b2 +d00bba6af6024a4ba8acc7468d43b17dec3d7dec0cb79753a1a5a4839427c366 +f27b7346035f7349fd205392ad144abcbf23fabf068d12abad12ddbfcfb9de19 +5c72c0e51e0640ab8ba1f54560bb30d52961488dbc88ec9c67f2d577dca45d77 +37e9b074245b69b13b09cb447708d6e9bcf4fe1d30be0b6dbfb15e9fdd3fa182 +f90dad78e63bd0a21765f89eca3a5b6c9908a3e6a4c73f8b6d9a6b9992d6cae0 +9235e3ff65d3daebfa21917dd5da7961052ad5bf1b447ddbe5c40ef332e1926d +f4a2e7e03ad2053f80db3cc5f9c25c7285c8154372bc6620b0b6c888ca046a53 +e64aa3a1f0add6c0bd28e992a3ac3a2229f86c089021ac84ab80fc0af7ff5ce7 +5941c3c15a706de1e6ecfe7acb81935d563db38b05736ba75b9e8489d44a3f54 +512173b661e92c2debab249d649013d83747fc625c54fb4fcb40c344fb9b9bc7 +981b3cbe955651908777338b0557369c5c86f588665e65a630f94fe5023014b8 +258aa8d65d3d8fb75b33465aebd208c7072b6531dcb96143c2ff45ffc60cfa4b +5028ef487e42e5ad39557511a5838ea19090f019020ae01830d44c4e71d932d3 +03396252a730258436f90638142bd4c02137a2d5b84ee9e5a990fb626892b86e +bd89c2acedafbe38a95d591206e387b5724c37816db308970787181be6e1596f +83fd4aed608329db92480992c04d8e88946b9acefe54aa6350ee04de9be9154a +6fa03606301fc922ee58129af63ead00d64c78576bf287eab9090b3b9baeaad4 +0138c4f09e50949fc667bb25dff16e27aeb0b9ba94963a02f645b16c624629c5 +bd0e31a2f65c3e7b35b6d59b2455765b8f332e351e8c4391fe9789a0f9b7a894 +3093d79daa0593e0fda554006799cc6399a14ec337a5ae6a3294c946193fdab7 +da21888dd9ddf8940ab450e851da5a0a78204a6ec4b4c8f760c39061c6dad9c6 +e59faa3d9b088f10564ff0dd78e091516b4c64cb6f7b9a7a6b375c6fc10e2086 +dbf84db0666380f71a426f9e620ee5f33be163a0326a02f320d28e8f99a87b06 +9b518894bb0aa7a32c79503ba0424237360dd1471cf7db50dcce112bcf73c69d +a7097caad602f3ba9f95523737dae070166f6192f9fa37b4ee73531a0d869ce1 +ab10ca58439d4a4e76f7e29785081540777aa340f6e8a34e468e9ef42becd452 +cb48e180f92e5dca7bbb4182925e3f3d126f573e79de1c4a2b592a31d056314e +7710aa2f3256682e03860d4e5881eb38d48d25770e4c2c76261a2844ff7ef14e +68606e47705deced3700ef26544bc82faf609a85045f7d648c678b3d474af407 +93b28709a5403a3acbf996d49899b74412bd6ec9a5fe612ed549bccfb653286d +4fb4cb9b728a16cf5b59a40419b262861de214487b144c654689c7f8ff62c86d +272bf1793f0f6a0fae4760a2ba94c56a5e1fd56a868f7817c398c732571252bb +068d2e6efbd15074befb6f0e2fba8ef814d05d151f02a00f89b824e20af72206 +418c0aaeaa51424f2c13e5b413733dc3c09329412107a882565d13fc889ceb05 +6928999bcc15f883610dbed7a711a19d2836beef96eaea83f6509d93c1bbe548 +f43e3b8fddf5a50971dbcaf6b0945d1b328a2b5a732e515239f81cca72adca7e +fcd8f84924b8573525212bd891ae028b9b48a15dbaee8d869e36439dab294d7b +9e504e4108599d3de92c1c64b504cf73e72e2cc1a3d034cca3836cba061fbd25 +9cab1a5ea506a99b8bd530649a3705831d53a36eb780bab97a6a2117943d1a0f +66b8e5a5907c1b78e3614f894e7b7017e03b2134970414c7dc35b40b6ddd23b5 +47ef28adfb00fa09e6fc301cd23f32264c9c00593aa164931561d561bc97e269 +b981bf6c0766c8e86da1614eff50f4a95378120206c51e59dff6c01b06c46718 +1e8d207f8e171f5f04a8085a8c49cf7407502c07868194cadd1daace2774e163 +059be3b06b0c57acfbad62805e272c52c9ab882864df59482ca0660b9c2a484c +3d2e702a2a0a7a3ddc74260084ec1b33c750fea409a96874e66d32625377f7a6 +c7c96bb2570c5a3b2486c5716551faf52434c9189efb3a472be391f34511cdb8 +e57e641d97802decade70552a9a5 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.1: CMBX12 1.0 +%%CreationDate: 1991 Aug 20 16:34:54 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMBX12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 45 /hyphen put +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 58 /colon put +dup 65 /A put +dup 67 /C put +dup 73 /I put +dup 76 /L put +dup 83 /S put +dup 84 /T put +dup 86 /V put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 121 /y put +readonly def +/FontBBox{-53 -251 1139 750}readonly def +/UniqueXX 5000769 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 +0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 +79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 +2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 +b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d +823385fe55f3402d557fd3b4486be79011d1f5bfae5c1f476ee6f05eb1d2caeb +269958b194521197b312fcced4867f3c8fbd030bd715d8ffda1dcd454b174e7a +1a97b59fe770e67702519d9d9b23d61ac08424d555242a8ca08c49aef300945d +99b999a79ce74804ae6bfde623f4463371442f6523a5f6ce19c839a708c02513 +2e22c696c8ccade45680e5197189d0f98e7f0d5f955e353970b392cf530a68cc +56b0035ddfbf206c3074beeb0739dcbca272a6e629fb7aea2c5ba7bae50c7b4c +a595df78200c352997ec3ee564df229fbb5473f5e8ccb1cc0153e9a7e299a8ea +a29b69d1b622b1f0cffc58291248759607d91150cb0651120970dc9f743bebef +44f6ae92facec57658999c8bf01f60611560043962c0695e1bb87d090e0fdaab +659d6557208a660be9aeef8ae55f71b8bc76394d792967e41bd8023b6e7f8c3d +9987d5e54c53bf2bbb32855b946473b44833bd78873df8e4c7e668ffff25aabb +8da4148f744b9d0524d6cb8281247b3052cc5d66f3f1bcf8a56a3fb446ea587b +d8be30257652cee035628aeddfd8283b5ad21b8b1480ad24d898970ac8a1e33e +543ce4e3c48f9ee621c5ce3e8ae930f890011b630866c988606068d9e92396eb +f51bb3db204505fc3d09d4701ac703a14d92bbfe27bd7411b363a88e33a8e9a8 +025ac31f21e73dc52b333b918d0b1270c54873a490222d041a66e0192612be6d +2c88958a8f70c10390146ee5091df020ab97675e8e6b9e705fbe5d4a561453fc +99aacd038d0c9d92ce58c764a1a6cd497ec3cef52975ae84cc7e1d0401a7fcd4 +d5e847133c58d736e373745cbfa06237a1ee4ff0706bcc02e316bfe85ec2f0b4 +2dc3c3bb232c4045115c86f37c3bf3aa17b765020265aa22553707335d7fcd8d +9f619e844ae579bedcd8326b4e97b5ec744e172232ba7d77527d51619b629035 +8eeead95e65ecd25b250137cfbec4a4ab9ada531afc7675329140b035b5b95ef +70e59fa7265b97d059802c03f27a892dbc7bba4029e2c27bde2b345629887d0f +503daa813e2f4aa88286ca728443687bb970205e7a1bc8a1e926fbcc08bb53c9 +78dcd1347cbe7db6901de8961f3ae79fba9727894f0bd32eb07af25fbf0ed58a +e411298f0038ebb9ce560f435ad1c4ac5a042bc7edc88360aa45b3fabc9c8715 +fda2833f3ce873627eb594816ea234b181df3e546cfe9357438b3769c9eaa461 +71a027ed4572e8a28931c3adfd19fb998d53cfb0c45e2144d17c94f0a89f2b2c +3202e3aefc9c426deb8d01ff3f6c966870cbfc3946c6b2357447f6e2f1f698c2 +17c08485ba86f6ebf5be64a6d6176f777969da23715886a968bf837873ccc07e +d48f716fc3320f9d97953c57120c222ae04fc5013a1e4dd685488fc7529f9555 +ddf4252c0f8641c504377286056e0970fb62e4662c43f643bb37f0295d8c36c1 +825cf8401224de7d95140c74ca72f9db638d61b82e5902a866f5bd9f9c1bccd8 +74e3ce55d29a5292b27bea670b6f062ea2fd3bc20343a531487570f70d59a173 +16967ca2c7a8e3e2d2b9b0be7b21a0127e3d9505703dff0406a5a3e1cccf8aa6 +d3e80ee67541e209a7fbd65abd7c6176c43d052585fbe2dfd15ecb272b91930e +3ee3b3f2ee81a622318d2f686cac24627a53fbd56560d3ab78f375011c74f8ca +d005cbf3eaecf21dd7bdbef92e825d30c975ec4f57af46941d2926a409d958aa +bda09449e7f429db97a94d5702c1eb5c3f137dd843bd79225def89b5fdfaf347 +58227e12d909271428ea127048398598b6f0d90094931762a2f8c6f01aeffca8 +edfb0c8da62297a9f42c89c1a5b44ade846c5ea51319092cb21e09ad0fe37cc6 +216fa48547ebfbe7605cccaee295fb75e667ef38c098c9204d325b0f8b285863 +c406dd3cd3813a7b4c5958ff93d818044efd19bcf9fdd8b6be6245da8b9fbea1 +0043b3829086a220507bc437a57291eabd7d99654a27515d93ce5c19d2d02c05 +a116b88df31a29d1d9544aceb108941a3ed9b36a47da33225bf272072242cec2 +d53eeb44676ed03ffa4dddd61b1b222667c2bac3003360c11ee91f3edf2c0144 +4b811574de4ee463eea325f2d4640a1e638564ecf613fe627bedd8894e59fe11 +68b3189365025968046f434fab202d9ae6e0a54f2df3a23bb122e18ca1468883 +627de0bc7e77d53ea0bd991cbf022e9638957e84bb909038e72af12255edc69b +76b9b76ac0a93b05a6ec27ca442ba2cb8a0da8910c281eaffdde5c24d0522438 +aa33889b312e45ec398f7ead409d5c562e68014de7c2d4d75f9c181f6dbaf6d5 +455b99ec218b40b078f0c5aee0bae2205ce69a868c107caf7fdca8221ca29cf1 +7d730f4aa13e605890552dee1e092b6e2b7c060c32c84c706b4884ed3b445729 +e0d425893a63a09107893a9dae4461cfa103a4a45322377f253de10109f0b33d +176cf13bec9c174ed826744176de84f9a04d505b6502757f7de6c46fc2c649ab +c6ce33f104ae05c87b9ea81fbd1d17a40a3c86743a0cb124a2441f37471831f0 +820d64a2d230f083b36d3884b831f8b793db77bd65cdd2e45ba3b6dda206dfa0 +2582557674544be0d59da90d2092153e5913b74885fcbf58ef808509a1533030 +3b1ac8c65edea8e64e9144acdc8409beeb3712d0eb972b9169e65a2de53dea89 +3e69ac66c264defab6d9a4470421ead6b0f27df74686ad9d9c0034d62c7931aa +451c4a82c4fe6bfbd2cb79da008fcc4f6970ab87e1a5702040c0bf5a770255cc +11cc019079e71b593109cdd2594ed2843bcf4872ed810536109cc6c939fd4a66 +c0ad753fa6f924c594efa9500cfe770de6c5966cebc6858e76c5bf1973fe1cd1 +b33e375c62c8c844f687880688258a0552b2ac68875e264b7d2b0927e37f409e +f792741804c1ae9110c16bf36cd22521e9abea98cc6a3151e759f31d823873dc +be8cbc8c54562508cd0d55b1565295970b4c7cb94f0b9d960d7b5a5b10099330 +f9914b89c25655eba70023723976ea31e53428c3b2cb8baf93d77b56ffdbe0dd +f43904f574b040b2725c72bbfbc716a2624a052d0ea7cf6ca1eda1c559f591b0 +a9b218b76eca6edabee20bfc027ac7d102b7ff910ff11f741077fd2aca3ac620 +a0762495f3e7bf93b4d8dcd4025598cbaaddd840f1d67110f3b30b0cfc313439 +cd0d5edeb858df30c96db1898efafe57c1e364aaf71314fbc4cb5d95c6ad9c96 +846e09b38b1a13e534bbb06d622da308daf856ffcdb86ad624a4ae499fbff17c +8e77f700412eab675975191d5ebdba69a0418ef1dd81a69f8d6bfe4cccd30827 +7c1b0075e5b612e82523f93341fef8c1197dc5e97911f480398952aa61bfc7b7 +77d05a960164fa8a34f6fc2433c6a249fffa777da51f9cd3ca73091f493b2e66 +11e6e5d2c5b3d8dd3a7f010412970a386e93c13a20bea29c23fc976b7c36bdf6 +db51553e05839357524a2a2eee2d95f00be1fb63fbd2cb39a5b1f491aa2e2766 +b9a7d9281f78e46639bc3c27e1bbc270d7ab1fed1eabf400db81c66c12409fb7 +c70016868b7a2a02f2a6716e98ecf347dccb3280dd6bbe191c804883ad5e2944 +5e40963bec09c3ca1bffd998f20cc9b340611392a59608b74734118cd88559e4 +c61f66a4dde1adc7d7c1d63f3558907e2416f4f3f7df0328b4654ca8969b94fe +a06a9ca198a478b5e481c851dc7d1722bc46eb18c8f1fd0b093e82e6375b124f +2142d871b7cf62da5889c49de3d7acb0180e39c8e85f91a34804845a346efed1 +f0b4e00f9f4961b2a27c11236ea5636562a82be3c81f3f1c1ee0a9e30080e323 +cd899aef0ae3130d436263ddcb9b31c8e36b5878e0675a83ffefa39e6b6e2d24 +5b79bfe5d9233b7eee90a558774ea3e08d1e2ad1ef56120441ec34b5be9c149e +b31de826923c3e086815ae81fc56934f53bb1c324f5ef529243d38b7c30ba44d +d18695ea8f04fc8b76241aa05f029d27276b6a0d8b27cf8c43a5edb489d38981 +bc5ae649850c607a569e73fa37f96a40b0c052282b065c0664477b46d32342ad +d170b3bb92fb1230cb12d2114ed4789fbe3d3dae6e4d7b05395ed815e672f265 +b51cb6d7853c6f83e778481fdc9861a2470d4c22165bb0695c98f2a79d337858 +8fbf982a0c243b88e335dcfa917b8dfba901dc79913a5958f16cfd72a26c2aa3 +84ff3138a51af5fbaf09a06b4068fad84dd7b8554d22308bb7cc41c55f494fde +654fc4e977d61fdd898eba73579537863bb4a9941546796ad1b2d3894011ac64 +de3aa04e5f6adbb9e69f21afa7c7dc0409b6569cf33bd993329cc914e797c5c2 +3b9e3e0ff18ac542f3e850a60e6553614cfa5f2d453c5954a8f74ddfce9d8bbd +db07bd144dd14138f610139bea9358be42e8a002137be5180a3901de5502f371 +822c1a9d1eb3232de42421387aed207314b032972e72afcbf2f6406c0c62981c +da0a780b17ed90518d587d3dd4cd14ca36f96c00fa8079b5b748bf51163191c0 +838aeecfbb3025995613e29765b18ce8c14e510d1203467fec6c0a8c63993bf2 +a78b31a639361f79b1f0fb21bafba4bd6e3299d437ab5e7d366ce52f66c92519 +efb631361fd68215f8891cafb5232f000dff4692abe5454fc53adb79a73e392a +fb00aab08832492d0986c860503a5ace5e2262c048f9a9c07034f128e0e97023 +854ad209b10dd2507da4205c01ea61f99a685b080c2f9bae7011ae456e70143a +19b4378ee74c69669b73c78f8ec9d19a560a11d81beff9ef717e6d607d52bc05 +a7cda8ff207c86204dc74c107c877348b43285817c42c2b8c32d93ca1ce869ca +fef4b1ddc4ed4219d3499d2b19941bf4ad75c802cc6895a99837a66be6c14f2a +c9f1650694389837e40f7df0e56ff3bfc9b1d4140bcf14b266466a3fcc71aa0e +47fdaf8259a17dbb414b90b05950f5a968d642b2b9b1ff637417566fd3ec9ebb +bdda5adabeaf41b045020bad7976a423935bd7e08a878cd1f561aa4656564a7a +777acf608054ff390ad84e4cc40533f8bf8c23885724802bfaa18ab65b544ff2 +09b71d84fe83ad8c1e798857ec5cd79961b9e7ffd609b2cb7a3718c99375bff9 +c0c77370b730aea86c399333a657ba6cdf29e8a1a8a5666a9ef1b8c6a8dadc20 +440a875026917fb74d437b9e2de70030313ef00644c651ded8169b301d08b9fb +20fa64b4ac404734e82abe89edd2c5ecb4dff4fb6b5113545fdff2f8c038c310 +310773862041a0035e06f4edaefdcf68cd935879d1c9a928d5c62273f230d268 +01d36b1e5cfd8232e40e3436b7194fd9d35121152fe1b8ba7dfa3dc70b8143f8 +bb5fc40f5c1b68d40bd9710a6ba1581778dafd5d064dbf797096b31cea949cdf +71c4b80eef824b86caf0c22fef4369b212573753b94d3cc5314caae897432c73 +6362ed0071e6b998a7a2bdf62719df7b1c2ca96c1978cb26477b7e1fb47dfaba +b641c6f9f0ddac69a29452957335c41957c33eb6f2fda4701a9ab06f34b28002 +fc51523581aafa78cb507319a4249723982086e64d632f27edcbd38dd91422ec +6b77ae3accb6dd86a97caadf760fcb90b7d1ea98f4a01756336728002cc4647a +476693cbd4ddce577a800a1bdf08a7f8c9cc1c06c32ac2efce853b29391df480 +3adfdb279b73755e96e3c883bea14163e7e29ebc6ec0889ba177da9fa1d531ce +163984f30a8b015b182f7d4ee4ce95a454d86f4da3ca98e63fca130c934fe682 +267e8975c6472462cbc5915dd0533141f61f083a9e8cc21e7d992fe5f9778cd7 +0d272b613edfad4dd8a4d0cdf328606cf5764e82fcfb9dcac2ed7edc3064f5c4 +5b44db8dee36be5234b91c95711876966948f0bbcac41db838016e2fbc103481 +ed8481af6740ecf42ea20b24eb527188745d5a81785a8017ed15273ef10aa095 +6709a8a72d01663abf4c2043c8a7ecf908fd74ebbc095b55b29c6ea9fcbdbc6e +728d74def74c0ab7591033adcc16a06f3c8a7f9f08f9d428be5bd3b69316b023 +91ae86585e0d3597002b7bb397559b5bd268c22895ec70171e9dfc8c35057092 +21b3a1bfa7059e21ea90233fb9463ebb7c04b4cb84057c21632db39b59e20c7f +cbe176ed86419840c67e4ffd4f0afa6af32bc566caa5c8def4ff68d90adb0550 +bd1f16602565cb81285129e6dbfa859a25b82473d56aa05626d28e61330e3c7d +c4e751df696982dc79ffa912a1b03f5261321528af05853a9af5c2dbc43f1c14 +237a2b0c8b4662b034e4a4b74b6779f4bad37d21e455bcd6256986f243e7e3df +6a9d12e6e374b0b38c57c41681d7df5199865a5c1fdcf8ae1cf8ce962f969fc7 +3701ca9daedfc1b80fc5569fa5fdb4664e586cc906e051d74625884a6189a619 +ba749f102863f38ba49ccd86d10dcfbe2080d3d6cf95956c77181283791b16ae +bb69c99cbce0dd2e9c55eb0176269a7abadbb873ae31c7211ba9f746b264b685 +bb7f517264a0df97d469ed4d9599de91b84de95f945ada6d229372546d39be57 +6e505c17ae867880dc86a499c769199a62a16dc9ffc304d6b70dde4971baa0ee +49eb9956622dfe8c4007e4e536f720929e8c20ea04133a303a71798490ffa2c7 +10c962307b4b20e297af1db45565fa1f0db9c78e231e7b312b778b8b5bb7e6e0 +86bda82d2a253cd28e0a95b04492102fb7b3d1000b6fd1d2c21bc0d09e66502f +d56ae39b152d60a9dd346d7981268598e718e5f33c0a647b766aa46044b9e82c +1a83f8e700d1be3cab9e5d945d691039480b8274d8532f4ebab3b906903a3c7e +96d7af6d3518e3ea6df8b95dc9fdf7cf601a095cd67628dad9a07fe5c67f5c70 +16ad50407ab57749d48f9ddd60f43a795ba180649ef8157da39e584ec6941575 +ee5aa861d67dbf6cb86f0d5f92814f3ff80e846be72be01a86cb72b2895069f4 +64e2f8ee4026989b314990e82c89ef7e2b5db62b94e5f5fd4fadfcab36fe68ee +fd8f306b9eaf563bbe9794b4412784b440c8dfd5285e742cc8cf6a590b4f2ac2 +83730cc467c2b5f49f47a1df20422d460a9f02d18780c35f9478877a2b4255af +7c2e782609e134f5ca25ce223deac2b4b2ba441b69246e356e41ac1340b45635 +386ef79aa368773b769da7492d7973f0071df7e407a8d4c7a934ab00fdc050c4 +4e82d23a7e1510f0b451267ce5778ac489f66e94d962b7f151dc50ef87bd1d5c +4507eb7172da84cab441fd8d5f2b3974a0037b079f8f90a0fa76035cc1797a11 +f19ae567aa19ddf066703dcbcf04c878337fa123bf7ee20186cf4ebb1a3fcb1f +c893963f72688e5eb31f5acb7e6c3e3e7744c4bd41483fc414144650015e6d98 +c6fa6f081c83c3af3c53a1e26b2fc4aecdee89d0bc0f354be9fce0d1f2bf88b3 +3738897ada4ffec0ecdf56449d251e691b2e7ecbb6e88ff7309abd43f0bfc0cc +831b0aaf7c779a66346712450737e25ceafc2027bd75d75c5f56702c9ec78ee3 +b73b39147db1d4c0069d80b62f3905adb289f689ed70039a642ba6852f3283a8 +3561854c62e7ce9d65edab9d3dee07bd8d2547054204533bc4ea5b724a6b3cca +bb12849f5d9b943602385edbb69b2d3ba682547bbbbca8ae62f8dd00848a07db +688ef33da5533475f4c107abd5264e65ecf318cca84113ceaa8e2febea147a10 +e7c9095a377335be37ca2251f4d5f48cbb62c66f66ef089d31d7e01c50d74100 +d548ed77b07f5865dbfe963fed3d5271d66a787e075ed57938d694d5370f4ed0 +3c76a7b76c454993688bfd5a2043b3cb9c645af5665278fb5787bf29013ea3ee +25e91cdfd655d093bb0bf2efb800ab7b6ac0010183f24b55e539a2c93882352e +1d185fdbdfd240f65971933b3e03d4715c4a0ea7dcb26bbc2fb54136fdf93cd8 +32a39b2b4b99e32431a076bd90c7280181babbc729f58329399b161d64cec526 +fb0328ac19c179fc0539c1c4845fddc512438c43e3c5db3cc0b444e7525de4ef +cce733465ad2e2e606adf1d14885e13c7bd15aaa81810d1b59dc91b113c17e51 +67781cbf3b0a400fe76139ef8583ce12aecb08abc2d86237b3ba47a8196d416e +80e93f8e59c364ee7426d30f2a11aaa29118b90809998372cb5ded677c13e221 +27864d88f194629bf8c3d577a7aa6638b9637982c375fb15b0b64e8a747713ba +2eb1e7b7b80a4ab9985d05f6a49cb26e7555d0a0a136d52d1cf028feb1fe3714 +52c6668ef27db0dbef424591b5ab4c18b526eb656ebc30829c558516f8c4d2a3 +eb97053c9cb9dbc810315897fa3ba632fdc76e2ae552d268821baebe0f96f037 +e0f2b8743d36ca24bebfcd7b0d78057009f1ab75998fa9210e54ca67118fec8e +10ef59c05aaa566752652b6dcf52fddc0daa07f14bc6c28f6334955ba1ebed6a +eaf5a365f553b2f9359c23aba570a02600e41d2944e140c802669a50be5e1485 +3e4837542b8aa1805e6267a2adf8b640e389c91d1f332cfbfdc2ea20c8249576 +127d420c1d4ff42f8c5c3272c1638666e908db925bd1889f445dde5596eae246 +3ffeb843e8da7dc4820cf72c94056b20e2382f97b5d3f30006fbf7f996df97f0 +dccd9f526d67507526a1c875917ee614d6f10383b71d0f38461ee54d54e12662 +70990f0d58cac89e3ae020307d824812c2e06907f7038b3744a45b9cfc59b4ae +3554afd96398f265673a554b9aebc334fd481853dcf42b0357d9d29a4fa7b73a +ece3fd639725bb7030e14194ca5f766fff5fa1a4aa8c76d29ed1f50bfab1b8f1 +583ddc734f22ecced4212458f428c4f386077334f5d00614e3239b5637128c02 +882c7d860f9a5022e1703f1931be1e7daef8d0393078a2896a6fc156dd50f8d5 +38b644ae0e89fd60a3590d686d8e12b3feaf9ab32c570353527d93507c9032c1 +fe6883d2ea1f78a876b85cf29d44328668a1d5169c76fbfcf4faa309370db180 +732af198481f456bcc5ef50bcb2726560eda602eda58f5a42d664f339e7227a9 +f07114ef6e13225d7a41935848702fd9fe5bc7695237e313b7dfd2d2d2ca23dc +6ccc539a7851397c6ff2d879b49c137f80d3cc648f3330af99aaa6614396a40f +1ddb3390a55d2486dcd9d89f7415d173f4fbce3596cec0ec245fc727ef549e93 +cb33cad8105b0e8bbe64408f01001ba5c7da7cbee7e9b7f0a7af360cb3be4ed6 +fb425c7839968234828a09a0b78c20d0b0bc8755ac0efb9c8ccb437a985a3982 +26614a5b022c5ab98d75c2391c9c01f9724d2db6c5c72203dc81f3b3c6e6f7ab +fd96 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMMI5 +%!PS-AdobeFont-1.1: CMMI5 1.100 +%%CreationDate: 1996 Aug 02 08:21:10 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI5 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 113 /q put +readonly def +/FontBBox{37 -250 1349 750}readonly def +/UniqueXX 5087380 def +currentdict end +currentfile eexec +80347982ab3942d930e069a70d0d48311e252234d51741e18db3a68e8ad10242 +29e5817a10e796a78d2c7f7c1f50961b9a57aa604c9f821dbf5a9295197bc666 +31678d7d2c7e1f8f2151ce0c29efce46270570f4301c5dad1b38884732e53dad +05dfc36b020e726ca575f71f04abf2b49e1f1d6d2a08a477658ca9a48f1c8cce +14382f0a42201de56e2821ee2b0e91a818b1b753d810ec2428dae5153b66af66 +9442192024becf743a8f6264a58a0b3aa823510a4957d1bab3e1b83135362888 +3e392f49926471a8021fdb48637baf0abcf31204b1b214f48c99f44af7782323 +69d772ae4f49be53a1bf584747bf29b94f530d59a5be5370b8dd0691e32a21ba +9d0d592cf3bb50a99a3ecd18d6c4114cb4cfecc49705da90d7edb10e3a28f9eb +a49347a09d31eec896f2a28e9607d99d42914aea16545c16e136bdd0b75fe486 +61e24c7a9e9b233a76754c760822d0a88c575e08ae3e3f081d7bfb80ec4c03ac +a08b65fb6474f71fc95c7c2462f2eb3754e647c29498288f2ced0bd3a2bca5c3 +2f80a61fa667802d376cacd34de1f9572d1b3ab09d6f352750db4a768f869638 +a87457889aa502850427b40e1294c5ba33e6b17532b2d13b5f50e71582f93daa +231e86597872a2a968127afb0f36257a76ce1eb24e6c4f29fce2aaf6532fb5cf +df84da03f03a45b915209f67d398c7c4f7a3b0623750259087a478dca684b29e +a8b7f52060bae9394369ed1cecc645d113cca3772a8dc36c6d916b5c5e65454c +0a188a33395fd3da67ad0a31ddab6a8434dd80f0bd0ea1a2a62eecc331d88b3e +369552daa1c575a98fe84383548626b65be7c24ae7eb61159f149872cfd87cf7 +6c1a7c155c7186c7600e58cb61b8cb0c5dea98268a39e928bf6fc53985eaa763 +2b28c1eb3d82e4d3fe225223f4266d2b6147e344aad2d4884a9308aadc7801af +a606838925e3e50ee7aaf73f090baefcfd4e34b795cd92d83c944d91a4940f2f +c955d727ea5bd76f0c8057b12621eceb0947b0a5dd10dbcbc52957dd978d7db0 +c794660afdd4e946b3d7fc1ba60907fb3f756aab0406c0e7bce5a2238fb3e12e +07e2c0a7f465e90057642d704434ae0b57bd46c8ea91ab2a386e24c6deaf9cb0 +8cdaa8fc4ec3fadc06bf28659cb878453db16f4b03925b2127b83be8fc240f33 +23ea950b51d70c8fe861e30c346efa0a0125137598caca5478991e35f5bbbc19 +4c787488ba339830bca15f8333431902e82b66a514a41c0bff92719a6a0d9587 +4cff62c622fc61a0308a69f9fb7ef51bb274ce9e059c04b64e817abdbbb39375 +bb4d84ca40de5fa46b84b04f3056d74aecb5c4a207114d9a5a6df3dae68c068b +a8eac3ce90f11cea03322a18b1486fd2d40cbf112c42389798b819c71671be40 +469fb02a086961899aa8f163c9458603ab61d9bff4cf30447fe852a0ee54074c +a70c4743a4f4b834f93f9a38a92f5a22713daa7ca2e367a51c37ebe2d879955e +67b53fd9fc22ba858f47b9c160c48845d0eb4ad008e078fe9518d901d4e609bf +7e6920bcb1db428a1114552e607fa92b6d0cca4cc7029c7b73f937c2e5169ed1 +484af89fd965b6a96f7a315fc92041494e00af617f6c0f76ee6e2e81a1ba9bd8 +86ff90e811643630b7313c97c2652bd5b1e878434cfd26f1d2828ec210748a7e +e81ca140d9af69d8404bee469ae0d863542fb878b0025e9698e77c9361c47618 +10009cf766e9a06223dd2f219b70639b7bc7fa8c4bee8310ce8f4ce007213242 +cafdefb30bb05c1476cfcd1bb8f4d193884b1343b6eea03ccc6d87c51f9bbe7a +7005855330dfbda83d1d6224 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: MSBM7 +%!PS-AdobeFont-1.1: MSBM7 2.1 +%%CreationDate: 1992 Oct 17 08:30:50 + +% Math Symbol fonts were designed by the American Mathematical Society. +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (2.1) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (MSBM7) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /MSBM7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 84 /T put +readonly def +/FontBBox{0 -504 2615 1004}readonly def +/UniqueXX 5032014 def +currentdict end +currentfile eexec +b5e2457af4a6caaa4536453c498a618ecdce7b5f6f2d5944265309f833bd3d50 +3df8bd14c071f404d2177500681a801856cb8c9c9cf0112c9bd17ccba9ab8944 +1759a320b2078df0fafdd3e357994bd81740d1a7522ddfafb75d58f5def046f7 +084d10fa2f702e570b09a7073d70efe37b48c355a7089772238b7b4538c4912f +cf6703a14fa416057ea2e1b94455913dd271b42846ee10d78270a8118e7e4bcb +8deb048bb280c240d59409d47046c890e5f79e5dd4b0be65a28a77aeb53dd33e +ac506a6da87bb55e329f433627e06c3c94b078838b908538d93f888e504e25e0 +3a8ccf7d2c02122ab3d485525564295390d1154e15fee35edff4eb016fadd32c +26d1b4c09de87943780954cebc4965aa890fe1f80b03eb07103e13d468245c7b +c26455f229e8859585c6eeafd9474acdb27290fd62950dc52f893c99a2a614d4 +2a7e3618266f3fb0c68a01a30373e048385ffe7dd5844e208a55d1a9263ab2db +cb9b19038724f95af00349840157be45cb337871b55a304b87ade64b10ff0eba +21aa0eaeef74aa01f049303a8b25de0acc26bb3a33fcf267f479a2a73f7dece3 +2aa23083687322b417fe86e8f5afc2136d045ad6b392364811a17630a94ff097 +038eedeedb8da4ebf8fa5a96ce27a2ebf771d14f4a11fb1f9f48cdd207209934 +885ef9118463552984b0fd3cf15d55de967fbb051549dd65f60dfe07f299690e +58252f032bca78935b7d2df852ed688bd13dd171b91cf7bd46d5433aef9f50f1 +41a2517c4912b837793f84ddcf1116f70f7e9b1e6ec752dbc9183d4791d92602 +397bafe29ac6f879ceb72c673c8a1aa0135d6f92d0db7791f9a2f1a5b55347e0 +3e63723efd258754f5f4a9ad35873a98d54b6c54b17a39892dc1d38660597448 +fdba9258493a0db0d560c01d49f2d889a99eaa8a5b5919cbd33f6b3d97bf27b3 +e0b94b48d5d21d6c29aee4faca71bd775bb9defa37ff627f1e4926f10d59313e +77d81a511027ef9a8ed5b7fa9b5bd67758cd13bab6ac18411c974a65d0c90085 +67bf5860d0930d7f43e557ee45e76ecb2806d21f4732bb282ac8b591f2b8775d +4b3ce2a37ebb371cb74a3cc513bdd70a0115de4760c21f034f5080d769f7ff83 +554af524184702a02e534d1eb98dd3f7c5d51900409354dea37de4ac72c4128f +b7c08af8a17f2033761abc7ce4578d50960ba229f0bbde72a750e61ebf32f961 +f519c386735f979944540cdbe8c8e2ef8a191839e033fffae82e797b6d99eb09 +96caf6191f6824680f0aa167fa3670df501492d493d04da4e0d40c579bc98f69 +1368624f1beefe7c681a84f0122a97651ffc905047fcec9abc49089fd5be8cc2 +aef34559b180555eda5ee38056cb66ff3c179cf5715dacb4b66b8a695434dbd8 +fab68a01da044cba0abe634c035c19d20a8113a66ef4bf6f80b8332f2edca065 +eb99277c1ad03f15837aaa9bb52f5f63c73de2760c253efe0533e75467f968f4 +0847ada5c4e097b1096db482b171b8397131a4d797896ae8361281c3a70e55e5 +71a1c17b23a4203a62adaa8f8bd4491db48f60541846f0776653b8bcfdf845e1 +4197d51ede41b129e79157e9c6597d52ab4460ea133d48d02cd32c43b3f02e97 +19954b9ff25fdf +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: MSBM10 +%!PS-AdobeFont-1.1: MSBM10 2.1 +%%CreationDate: 1993 Sep 17 11:10:37 + +% Math Symbol fonts were designed by the American Mathematical Society. +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (2.1) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (MSBM10) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /MSBM10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 84 /T put +readonly def +/FontBBox{-55 -420 2343 920}readonly def +/UniqueXX 5031982 def +currentdict end +currentfile eexec +80347982ab3942d930e069a70d0d48311d7190fa2d133a583138f76695558e7a +e9348d37cac6651806d08527c1bb4a062a4835ac37784cc39ad8841404e438b4 +d52d3901e47a1de4f7924e0fb3daf442499175bab1226edf692a4956739f8828 +e80592f450c5d5c22ac88bcfbe9748f61d18243a16f4a4467f084e8e2be46ef4 +7fc51c3a8199e3cda62ff9c4fb73956dab8b6683d2156377808cb35026073e80 +523f59a30d195fcf9b9fce4ffafc6d56491bdecdcafdc988206c5a457a19270b +37d0ab776e03eaa7eb568eeab6b5e79dec03b0dcbf923a2aa8e4f4deda2cb043 +858d8b430efef0ed914a80ffc9818aba0fb30dae3694e5b31df3855892d59b89 +7f82ff79fce8444c7926ffc4ea008e63bc518936c9098afc2d1c14030a2c15bc +c9285c1b57e80570d2f6301009e63d9ddeba44e3251c75ca9616a2c5de9ade66 +1a15db37b40b67c1bd71f77343912c62f47dd24be0e03dd833ea60d2eb020407 +eaf042fed30f0c2f01956c83d46d982b50dd979c2026ed5f71979dd98c9c1eee +25054000a5eed5ce9498b2cb59a7ee55e0538ab47d86e69b2ac79229c8c6bfc9 +3a24e822a2f1c9964fe630344579a25f66646113f73d1315c447f070c575de76 +266c6773b01137e4a039df5e4c2f199e8e3396ef9fd001eebe090e04384c4089 +ec9f13a07ad8733c6af775f432f154ef50ec4477e08760c03c006e4d1eb1c7cd +acb8955ca4b0d62c7de046ff58d431bb9883d28586552c51809e3ced4dfc2198 +b97ad9e52ea33c91b9e335a80d9b77d3430e0487930f992459664abca5dd9177 +150b0fb502fbb04ccaa94ffe2697ed07906f95fd98e7b325bfbf10ea6b39fd76 +c1e5295022cb39e9cd471b7b0b3f9d72da99deb0615d35cc22f42dbf5cfb70dc +6279fd520d99f32201abf25e621cfe1d37961d9c0ad36ef3d9264c547638152a +be30812eae30521c3c775adf1959595a43d8a9c4e12d9f9ece27a0c9b5f45e38 +8e26a39cb0ad4e25ab8f21b25ad1b106ed22af7947ea8ae4dc17b9facbc5e22e +89a91b046ba4cddde69c1997fa7f4cd949ba3ac4b6e001475daf165b9432dc70 +6e30aeead8cc342d94b20a4045a331175655d6aa279627efc0fb53a4ce66b68f +a45b5765f0c1368c02c39418366880efada9c81e9dfcee2a9443eadb1aa1b209 +eace5b0fe59ec29ceadcbb5e9902b4cbedc5786ee430d30d2ad87b4cc744296e +0a6790d555ad3370c4241d355add157a77d9ab97711af34254de54115b4318b6 +528051b275ff76cd466285941b741ccee31bc492d4f92a3281f6dc36cdeb73c2 +ba6eb39ef2ed5e75a795d89c78a49e0c62df0959176e3de1337ec0011eea5841 +4c44f9680262fc604be5d51e04e69668379b034284b2eda1c7495a8032ff6871 +2070880d3da11d49556d625ac9f774a2e5836f36097467c3559ec9db7464cca2 +09f46aeafa09908ed25b3fff86b6a495c2d3e80beeae93b31b9d95e14850d06c +99e2416db06fc949761a01a98a7445e04de2a89247599e931215ac51c2493912 +bd378c2b98618bf7756fb17992f7b27feb5fedaba21d5fdd0f24d935dac3fedc +12e6082d19a99b96b8463d0bf33c174d88e687671fe9295f747bfc10b720d62d +b5ebb3cc1256 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMSY7 +%!PS-AdobeFont-1.1: CMSY7 1.0 +%%CreationDate: 1991 Aug 15 07:21:52 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 50 /element put +readonly def +/FontBBox{-15 -951 1252 782}readonly def +/UniqueXX 5000817 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 +05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 +b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a +f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 +d026957276530530a2fbefc6c8f73e9b697ddc0351763500e23c4d170ea8a2d2 +75ad0b6b23097f02fa803c1f46f9ac10fe0e527c431b11b1b9a50e874896cca6 +17fe3e255960846bc319ca68b9b930a45d5d0fc36b352c3443ab6f7793b38d2c +7fb9c409ab7980ead55e9f8f6b83c70088d1fa6d7f2214da8928e40b96334ad2 +72d1b5db9d1355a579b26a8dac21f021e393d7d837a95deb8de92ed818a8b80b +98ee9cdd8a3c57ad7d6eb7a82f43eaa6ec520eefa7302e750edc4b495f70bba2 +24a2182eec37f1a1c5dc8e20973007150237daa6bf03d498826777eeebe09014 +ebfe05a8731e1a421cfc513d47d673e3d94d805f5d0668ffa265e0962cb5a75a +4a93d9b873912be368f3f300b584a7c5dcdc5e3f796d62bd191959cd043bc0a0 +108ac1860e97e05173d3b979ffeaa815405d9db68a72c102cca8b3becc60437a +946131e0670abd3348ce6dcbd3bdd4797f83472f944778fbeb0a0b93d8a4d446 +9bd54ed42cc57e2736d312a9961d759ffe9b3c98b7b27e4a4f067d1b37e5bb99 +cfd1b895c4bf965c25c21028cf9669c5e8e7e3ee85a5afb8f60e436a84164e91 +ae86ef778ed1f461c1e2f0a520be7297c2f256549c13a73adcd7e18f38d442fc +97c1a047f71e118e524d7bb28b0b5ccd466b9fae8ad3511a6beebe684eaff350 +12dae83db9f4a4bc77838081b25dfad9a2f9bd4b40091695d05925d5e8c8f975 +d2b1aa768834bc87e3a5f70f1a0c55dea887fee957a15b7a3c26e2467f35369a +394937b277f888e534406f4d247303f5331a7f435ba5ed3a99ca0b38ba37d619 +ddaccc6dee082b7718fbd1a8be7055914fc63c54b0e69b52742352d7ae51b14a +c95753b097 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMEX10 +%!PS-AdobeFont-1.1: CMEX10 1.00 +%%CreationDate: 1992 Jul 23 21:22:48 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMEX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /parenleftbig put +dup 1 /parenrightbig put +dup 16 /parenleftBig put +dup 17 /parenrightBig put +dup 18 /parenleftbigg put +dup 19 /parenrightbigg put +dup 26 /braceleftbigg put +dup 32 /parenleftBigg put +dup 33 /parenrightBigg put +dup 48 /parenlefttp put +dup 49 /parenrighttp put +dup 64 /parenleftbt put +dup 65 /parenrightbt put +dup 66 /parenleftex put +dup 67 /parenrightex put +dup 80 /summationtext put +dup 88 /summationdisplay put +dup 90 /integraldisplay put +readonly def +/FontBBox{-24 -2960 1454 772}readonly def +/UniqueXX 5000774 def +currentdict end +currentfile eexec +80347982ab3942d930e069a70d0d48311d7190fa2d133a583138f76695558e7a +e9348d37cac6651806d08527c1bb4a062a4835ac37784cc39ad8841404e438b4 +d52d3901e47a1de4f7924e0fb3daf442499175bab1226edf692a4956739f8828 +e80592f450c5d5c22ac88bcfbe9748f61d18243a16f4a4467f084e8e2be46ef4 +7fc51c3a8199e3cda62ff9c4fb73956dab8b6683d2156377808cb35026073e80 +523f59a30d195fcf9b9fce4ffafc6d5649664203ab24acb938d58d246707ffe7 +d62f04bec4b70c21ef75beb2b812622b3c74e969d72d3cd11bd7106294a99caf +0b1629bc7d4de6b96ca82930831d64575f23f4ad06a0e45e315b1d392411be8d +6d73c998789ff258a07a3c8c2057325784514c845500bfd1a971310cfc11d41c +1a167dbd5ff012c60add4e87325f6e5299032a839de65fb1473a166aae1876a4 +414a434f22c1d241591fb36f857df6fa930608750ffc0c54f44994662b1f00f1 +400bf752ea8d83ffc4cb77a290bc2d99981ae59a191748ba5c7ba1a9d2583fd2 +1398452b6ff5d83a059f7eadcd2ef744e9dd22bdf9c79d049bf06835e878c32b +7765c69bdd8ef4deb4ea7cfff4cf9354a4ddffa689de961d16772491c7afbd7f +ffde42400764c68e954ee5c455a5687959829bc3b319b2147deaab3628662c80 +30c5e02fea09609abe4eaa12e217bc3af673f1bc36a7039eb13fcacb4218fe0f +c5a3f9452d4edf46cc91db67b624d4f2d37502fb9f11af4da18ca40b61097f95 +d44329375467ed13c5cb585ec53f62b83ef9502cc755af44bf32b87b8ae9f3f2 +f8dbf72dab90acafbacd280db6aaffaefdff6d5eff26669bac56280a950560e3 +d01714ba38659b0e4e28bf8cdc1f15ff7e3ea9d95a6afbbe3d8e6905aa6d531d +6b6dcab89e2036cc492c65f76ddcc3cfcff33fde3d9ffd10f7a90530fd5c7683 +4329baa902e701ca42717476298c9ff511b1941244bb1dfd0e5cab92a43970cd +1bdb292eadd055c97972844fdcdb0aa06401e7b2632b9d134f96bce0064860f3 +9859da7a9a82be0a840672a1331212752ae1b521b693b384a72dba8d37a86eaf +a0341e7fc5f6ef7a8c566aacb91e8bf5005c18837894c4eacff41dba54e071ca +83fd0f12cbb9773faea8074d8bd9ea37f030d986e98005cbed3f1c881fa23c87 +f911ae5d13f56ff5dd1a25442783ba213bb6a93e276ff63d12d224f4017e5166 +ead00f973cf9db90af1dab42dc6f1d2ae4a284fbd5136f805b3398eb0c50d783 +8c179ad372384b236c64fa4632bfd5bfb64b748442f9d8d0605382b98c4799f3 +ad25c000601c01996c785779c26dff0c1319d9f4bdb375d923d76f226f334476 +2a2ccecd95b30de86ba86f43d999e56e2780acb74ae5b054a428d318260f8e05 +c15e5b0e06815fb1d876d613349d284463895a8a015e976b88cdf1ea950701b7 +8a9d3b6995b674a1a64f7819c1580ef181214231c4da92234b108aab4ea41589 +3ac86480441d5bb9cebb69ee46f8ee3a2e190783243fceec192db6cd794e106b +47b3e879676a2010cbe354ffad34dd897c5428e65d3e67a73360998776ca3ca8 +9c001e17f5c8c2f38d08e1b4e072384ff64ced8259739fd20ebb12c8e0e58f17 +f8f3ed36866170dcb0321378226d029eeff42a3b2a175677af5602cebace2d36 +37414bc12a8d9e9ff85510db5831bd86ffb9a2feed6acf21dad414f54bebf3b0 +e2f2005878ae109d8d81ec2f7309123fd86f556dc96e7c7e2dc9b2efe3bf2d5a +1ae7599d61e8c1cb1f2fdbb5636f2da5e6960b0fa3e601de8e3f294b8023984d +0cf0f61aa9f564fe3a2b647172015362c5b6205190b7d9b7062d3b73b456dd60 +b262b13dec5a283b71627662242f22a6528729bdc457e30807aa62c9c2dbf9b6 +e89de730291405a6e3bd95dd31acde9644840947242ebc7e7c1a77a672cbb56c +3e791268f2ea6b8e1bb7c64522b22bca05905fdaa697f084238682fda5e667ff +e27281f1c543157774b65702c675edff440e027fbd3ab5b98878cbf040014455 +e3a872e956fbae99882885060698e64cd81db0abac0a35627dc8ec2e9b704012 +3f99f5dd70b91b7d75826142856becef45c966dc3a845992af89206db8a79289 +497bcb45427c81b5e4e097f7d8d11dfd683f8c191f27710e540bf6172e6a7ea3 +b514070b9d243fc31b9e8b3f9ffa2606314ee8a73d047a612b8b7a2b93e545ea +a17ed99bd0f39037d33346f55e0c8fce9175767f19da473cdaecae5aed360f30 +86618d84d61ddee6e89f70abeb83199ee6652db67299cf6de6b363f146e554f9 +6b96ca03e351d249163b61aaf8bb9e1d77a0774f30b6967de477539f2c16ac3b +3047ea940709d5206a8c1cbf82442c9210938d67837e800cfec13d6aa3ba4ad2 +5a663d4959c11e116b65d2331933402bc9d143eb96d53f8cb5a454ef6adf037e +e4e76ff1189c01ac981e1c2de02e5f76a0389ffe20ecd918ceb3cc14a586c2a6 +f4dc0b563137424e5d3ea7919da8ab8c23e6dc68a0ce743fac5b1eba0acf85db +bfe31dd949e00cbfdae9f730c871d206a182cdafdbf22e772a29824c7c2ee6c4 +310f08782fe6ba671c5259a4cd45c38493c3fa2fafaa6ec2fd66980b6e0ba7dc +dd7f9ba303d82be6becedda4c18e351e21a520057b98e217733a6b48585892bf +2de931c1fb49bb3ff3a6e3f973b4d5bd205d6f9bcd010b2376b1ad08051bb592 +c8cc08ac7a97a281001f43b2ff2f0d99205229b868c4589face968b286aa81bc +409b9bddc21f9f9855d739d026eeb3ea3477bcd8e30ba144f6ad2942b1f3b629 +e3d73705b734716290087110c76dd324a4f112c49214ec3772a15d6f01cf7147 +8df8bc20d4f0eacb8bf7ddd50f777d790850ca8e8827ffdeddc1bd62e7c8764a +94f68d42a91fb72d9f23d989219578c03a670f0078df3333cdaa5bea49197cdb +5ed702f67368ce43f8a2638adfdd95748a4509d6890c7e74b0677298b2332889 +d3ba74402ba802652be2c92f085e45349ca9961097805bdb9cf3a3dab3f9b194 +79f0092c553e381e20f551767b832ffc567462911e4c1422935db29278a2a04c +dc310d3684dfc3ea1e2d61086689f67f44253d692a91590e498c26903b419ce2 +52f4cc4c4a1e5ba36b4bd8cf80269823c02f860d4715d0d60854f00785986d0c +334eda7626c27573c6a4e1f1347a76d44c312fc50cf789440a8f70ebb0bfa585 +327e9cac8f3f2bccb844eb0dbda7372a9ae068c4d5fe98e8e84804e93ecf5aff +88ccd19d794ffb8f9e803a5f10c86f0fd6b3fb3696a9cdeefa810575c563519c +ee458762f45906ca833195d806efe5d56298b0285596cd4fd4eb31cef8726a5f +7a8bf001ff24953af1698ab9465d5d2ff9e76470905cf00b6a9a563f38c8e028 +3e19ee598dc848fa01d93321cca6351932efc82bf4057d7dfbd34dfc5ed60a83 +7e325d524dca8dd6f8bf75b994a8ac6740df3ab435cc8358ef7b035f1c8ad7b7 +dd9c4e56969a0f5abb68e04d9bb789294e316c327e71f9ce06fe3175331ddb17 +ed87dac38f8564afd0ddfa7f26b83a30b603d132dd1d960d08cb88815dea42f4 +f0fca10964e343fe8cd754eddbb9a991007b7bc393f08b29d8f2b2adeb88e966 +84bfdc757585689182bbc3352c57a434c7bd5464f151646ca7a78b7af88bab1c +c66f827183800e2c5c743fb03f4b60d396325cf1cc4a539e32e111eae1c823cc +8c127a32dbeaf51f5e200dcce6759e13b7bc577055e15772e73772ed0f92410d +1b2cce55862846f7d990c941b3ddb49a0813172eff3c943fea30e3284e61b671 +9ab9690ab93cd82e8e3aeec31136bfee856e02de3bcfae6fa326e104acfcba6d +284e01199a2c6522261e0dee189d9eae5b45f8248faa14098be8e10317ce7570 +a2289ae116a72cb868a6f4f3fd00ccef636a0d3a3917e2f50bd2ebb57fecd1d5 +de42f083f032cdb65846d009b02974cf170e42e367c4926b608f52ade9de82ec +eae10007a15aff196b215c61b1b02a7dd376844fc08c2374586b24ed573e8f31 +30ec15288e4c354a1cee6bf99657f07278933e59b5897e54dc8475ef33a504c5 +1042a6c96a0e003c4cb525dc97f13e62d250c1c07c10b475b18d90ea878b5e09 +5759b686d68609c93263c7db41bedfb61cd3a34585fc843f3b8fca94ac310fd5 +5f1710d2cc9f4a095d9e864e753a36f8bf8ff96c16a078a4175db59c90c0f1b8 +c16ed94bb52b23d5298a60d01c533a5208a4d13414920e53d897e9238b471f18 +e7f6ecffcfca7e2b51e1db7104d55c63e717584dc2d5c578c0f7d772e71a3055 +8bbf8c7273b23cb16855d58ebdef6ed5f61b2b0b77dc52c13906f97b88a12cf8 +3508933a9b9b5ad9d11a359d22710d440cdc903b159df0ccedb27a6835c0a316 +30c642ac68479da45c6ccef48e59a79926299c2670ad3a4d568f153ec3f18148 +f5dbba52bce098e746fb4e45ea65fccc128df496fc70459ad574b2b170c71097 +fb9c2e29e9c20490a98e887fd1a7e31bc129f3f9413bea5f6f0819f9ef443503 +fff7d456194c11d9f4e64d27570fbf2ea3e8f20f67db81b43b7712587ec3f609 +7dc52284a1d3a39d0337f5ae2e8c0a00453d084c190ca8751e677e52c0ce20aa +bbf4c9392e1abac7708da434ea711fb02382b40dc656d2571ca966201229a503 +730c1dc6b8144738db8a6379bde4fc1cb7a7213951d4d552f78e0fc333adefca +b15225ac2ae505295da8cc9b735a91c36be16215f4e40fd614956a5e2128c393 +b169c19114c593c591febe162da7a68123ad6a50454a9ade64f70fcc8d7c6ae0 +f8855836b5f3cf596590c785193833ec8b7e214711cc97ea6cf21a27c43d1282 +a0a7bf1d99c6dab4b402af458c1235ba4fbe064e8691b28cf2ffecbf252796e0 +e986c9908178e7061d2c108ea0baa6fb6225824f7aa99b4178482643e3c8649d +cbcd3d2356136810b0f120680065dcbf6103872151466ca8d8cce2c38e0608a7 +282663e2ca3d7f77f43a272c2723a7e6729f3f6a9a85a7608b935b3853947240 +2b1ee879b65d88515a2753b1277ed0fbc6fd2f57de88e77dc43392ed6a90646c +00575c25a49372d4ac5cd6efc8c759053d67cdcdec95a674a9d0e47269ca022c +1c68c6477a0719adce72b223ad6c5fdd795d37fe7b997800863baf27ded8b5c8 +81846ba1b1c1955403ef0201c6fa4a826c1e43cd9c0582798ae58ee10f1ab02b +44da6ebbacc4aa922d63f64b20d45e269334cc9ab5b2d6c20b6248f4a71cca49 +07183a13e491e1aa14c97e524f12ebf354fbdcfdf4b1ed9367f3b42d32eb20c4 +2cb2837367fa254dc9d599eceeb58a95c9acb60f89157935 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMMI7 +%!PS-AdobeFont-1.1: CMMI7 1.100 +%%CreationDate: 1996 Jul 23 07:53:53 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 59 /comma put +dup 75 /K put +dup 78 /N put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 111 /o put +dup 113 /q put +readonly def +/FontBBox{0 -250 1171 750}readonly def +/UniqueXX 5087382 def +currentdict end +currentfile eexec +80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 +74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 +48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f +15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff +da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 +bdd7da12534ba078ad3d780414930f01bdaae649990604a33aa9eaffbe5b5489 +e5c7c9ff9d9be01b08220832c41caac64816b53bbc087ae4b621d2b44b21ae5e +3f7fe4ddb05c675abfe30510eee4a7c874bb57b2ffe521a6875eddfdfd18c781 +25bfca5a097aad361dd94df46f14026c25ea988194899b95001209cb7009cead +4b4ea03473ea120e7a7e341d4e3926796347fdb3a124c29660ac09f4648b313c +b58e824884382f24ce08d2edc686923acace1201c16a07a42803288cd0b946f7 +546510e95b1fa1cc96f0bf72aa823d8e83d7c68c752c82a54c752eed2b1e699d +e9db1830272ffbf2f4996ccc2d6fe2ae272798989525ef3b67b0d09bffcef749 +a805e5f76578222b9c4a8a09b13189a16ab746ddef7875f1ecf83e568f493d82 +ff729baa1e0834dbec30a35d3c49c9b10c5e1d90c6e3c8fb737df5ceb3299d96 +0fb79632f91f257753b4d2e34e3f54a26c7b950981fb7fe4dee3315db63e75b0 +24b4d318baec8aac9cde186f6d65767df1dba35124287c2e805bc660a3a22772 +0ae4fa097f1d75107441c0a0fbb9eec17d5516fa03b98756b7df7ac7eff9c7a2 +364b9f691ed5cb692dfff9dd80c761e9c4d5d6061782b327302c053ce1cd09ba +0605ebf761cf9b730524e1994e7dfaa956799d522ec53d5acba27a35c4d28279 +617771938ece58c5ab664aa00c1bc4efba2d15504247a68e3af0f9bd59a387b3 +80db88cca083b06f5af70d768d1699826fb12ce12efc2b4c70923e052dbb964f +5fa957c3ce225c0fda64d9b5321ee1ade207c1cc93105096cc73118f4082594c +8ecddeb0d7bfde6f70bc62f10407c26a476ed88be7999d64a15912493829a9de +62c71f5a34fbf5a843e311873cd98817dc9f8a4aeb7e0738b5de10043f5cfea7 +147c908eaae2af4d09272289231f5d80c37f63f858f713f1348f3519606f2b1c +b32498b9322c2ec5d38b8d205d10acb61335fb5c8dec41461f5c767e054e691e +60a73f6ac42bf38f9eeb48ce671ef7fb68a7b136f99f7564d0e3df036ef98ab5 +6819d7c66223c1123930beacf9e67647c427bd78a9f481c2a573a1fd2e21ac71 +65ffd14a7ed14ae0f20425e8b3d861b6373a0ba50fa0afba8e38f2f1fc114dd3 +847975c59686ccea85a507a2f113d40699ff037af8471385851c88304c3044d1 +6ca1ce00e62e97a16057d153e3cc0ec64261f9eca87099af409985d7893aa6cb +23264f4180e917e1c34f4b68f0f4f93cd078a2f1d842f0e22c728984a3426653 +816cc64fd2e79df4fd3ecf0e4b1a1a13f97435e6b84e7cfb410f2be52cc8e480 +951d13449c8a9631ea081de5e4f4813e58d27e0952638b7d0dd1c7f0a5061ebb +6aedb99329b63f86b8d052f3eb5769a6a26238d1870daa539daae91f155f8e27 +0120addbb7961f8768261aed2e775a4e620127d67ee977744dcd7a077ea29f02 +1dc28f13980d5a4f3a4e9a4c41768632634c666e0a0788db338f096228d8722f +74a139d8e665bd8ccf7c3a6ea2a70e39d96d484ae36c56a5537f6bd27d220d6c +0f1a5ee3276134bfb0d646538878e63ed7f69430dc06bc9be26443174774339f +c86905b8f5ccf562ad74e8d979da721d9d2cc3ee687b0dac0043238d0cc8b5d4 +6fbfe1340166dc1724f93d19efa5e6e7a8ff6953aa8e9b46e05b87a6cd7a3b50 +a404d9f85977b135ecfd70dad236c147f506b6cc28a19cca657d34696d6d8608 +197d13d2c4b10b83958b6f0ac695ecc01664394a229f527a577f10aeeb3c86b0 +b4ed99ebb0f512ae7287bf94ddaad921f0de9a7a48a9ff73ddc377eb8aaf9e53 +bf810005c4cbb6e9bb6213105b4f93e6a8b70f89b473542cbdbeba27f7979c98 +46995036fe40805dcdb4ff428f8a7501a41b9d90ca7371c55f8a62a581b2eafb +e2c157da72ea3b988a3c782fc5e7e47bedd9120d9ecd889761cd7c9377ba7b30 +f4f4a21f8524266134f997d5d5dde34697052dfcf2998001e9085e8267cece01 +14a07090a9c397d5dfe1a887e0d565a4258704d6c03466e08e6b806d6d02d78f +0cd93eae3334d53071af55d544f4582e070cf8dfb0445fa2f521c48eab605075 +208f7ff7d4a9438d4fae0ba803be2bca0d74cc4a95f95e81368bf13e73e8b8e7 +cdbcf86f13d106410e10d52df3c224691cf1bc657d8fc56b25b7b882700724f7 +752127c505ca581679b858a08a70927c4177713140701abbb1e30d616370d823 +e348abe9def37688fb8e314c4f1c5766dfc41d189059d21b6230e971415604f1 +961597c501a354aa14bb4bf5d8dcad5c0efb391e158fc4a823ebd6f6b5599de0 +8e0131ce8b1a6505a08a236241f802966445579969e272e53b2026b6a1d8f663 +2ec2e07a2f4c9fbef5f6d78883075a0b7575ea565315d2e42d1e9f16c99221c7 +da0b77907657aa020e46f9eb4a27248a8bc6de31de22e9db3e4fc7742d865943 +63d56f5ad7fda25741fc9b6c56e07006699e3abb7dc30e9f1cdea74392ceaa6b +0fff7e52b5a070830e8061c1042a32099096e2acf5a233473c9cf774994d3fa6 +89fd5c965fe943d77ae971488a6878ee12efe60b5bd362cf6730b61cc2e15de0 +cc50d238d0fdc18e30dbfcbd3282cc05621c7954dfdf78a844821994172b861d +8a064c5ddd8f187121520e9b7591c18b70ca17f658cfa0c11cf5bf3ac68e8187 +8ebbd0b8bb353ac4398452356b6cd309b6d5304e3d40baf9b6603548b18d53c4 +7bf554663751b2900e27ee1e46dd2134992dc683d2790ff48039adca64a9a7af +9239d64d37b593307b10a3793784853eafe1dc7b53efa215727eb7dbd4dd0e8f +7f22205c2305c5582aaabbe1e04bfa0f014da5eb4d4db37edfa08ff22102bf02 +25c17ef51f3b29331e5eb582cad31e14a089ca97a1915536b6449d944cbdc23b +39bcccac5dccce5cf1c0124f1d508ff69303b3f68588851a342c118bd60e170b +25e7cef0102c2dc4aaf045c339d5e21da358cc6341567a1ceb3d82bd9fb5c6ab +ba26bbaaac92e2d4808a482f7a86a9b9b7ae64e282a4fa9c8b180dd5a4223995 +f2bb360f43c57dc0001c3bea49e27e65ee4e10365ff2ccfd406ede218e43a0ab +e95fcb6f6ad1771ed6f1422ecc03bbdd46a86a64664f75fd700775fd9b8b27d4 +6803c6a5c06cbb04b585b5766447870eea063c83969efb11747e5113d559df96 +8f2c27d92e3a237bca8c181fb3c82bd75f4d3ec8296e5adb3273d63b2c124b7b +22c6941b5709a9e4ad8a771c7cb44ad034b0802ef526b0ed52cab81fe4cb4b3f +5dc72dc5b86b724d32eccc40def6313bf73bf16cf56ea92c236e3df997a8c4d0 +1f89ddd7b2fcc8981e6731ec8ef80cbf665ba08d41486bb48210e0fe9e8d9601 +5e538a0c7353bc5bb1e6c70cc8a5b2bcbac6a6a1e08b4e8c13b372a8942577dc +9779de2198b20b7552c4e001adba2b013809f31167c1901a58c1658eede633b5 +214a79bcaed71a86b4414ff4eeb36bdc2bd67cf7c95ca9f01520c718ea59905c +bb838b367f7b3fdae701df64c3f34fba0dce8c884455d0dea1ab985c9483f91c +64597df66fd19cd2b1d5aa90d5d0d98326ffb26a59c2c982e8c4b029ceeaec40 +2c106cb40913440d26f8e73d81cc62727c97cf697f81aa040378ef25128968bc +0ab6acae0ca91d4398fb9c10445d94ecbe315400f42150b2f8cfe8dbefa745f0 +1a4e26e79c189054334bafb83205854136a68fc375f32057f5821ae684d1de32 +4c6d40c5ac0b7da9ab3e04bd51d1e2ed10447dd5a990badb93b04b5d79825f71 +0b21e566fbe8acf3eb06988cad4f2ce3ee7ea67068f475ec6c3313794adbf23d +51c84dec0cc0568d2860ddf75dfd2f9fad70a71701729d744dd543e7f37497cb +006694da423d491220598b43240c48fec615c5300d4b9149b8f7754506eed3fb +d919b8fdab8863f6e224029c939a81ad91b3189823fe93a7a8346404ea422ca2 +120d1dd287e716771fc3d0307f1471a408f987986914d1531dc227adb927906c +090d360d801b802dc8f14afdb5f85031d77a48f6fc7b4c291bfe77141843c195 +ec2d98eb08c50598b11b57f14cbbb981b385fbf2601ebf0a2193fe3f2a0d016f +7eda8341c2e842953743dd5303bed4321b6a6086f2529acb942bb4867b601ccb +0e033f1d9ad071349425abb30fc5c59be2f8de422825a0c65c9af229367d88cb +e64d10baa696a7d9234f1d9013b0230e3637686f78218d92f3f68c940a9c71cb +9b9ae607c2531e2d4c0922ee3fccfa919f564d54093fbe4f7a38f35fce87f94e +1f9852ed10f0e2589366b8b93639187389cd6418b06b0d24f4ae84ccc7a47eae +11355a44eb6702241553ed7bf24d711a966970efa823fd0741f39b8289ca405f +89b6778daff3790cdc8b1e3d92d3d3576dd09e9be6a0fd0d7ca5b6b51592e0f4 +74e746db72a8b8ac44e0f1514e20d6fde235ecb35c92da6e3d713617c6cc713f +e295b2789dab9b86bfb429277a9af1f48caeedfb367a1af6407cfdd6ae871400 +c5f6e4aef1f8a95aded9445aa935e9d029b19912fae49d8c0813537a1f83a397 +5d3d503416962627e7a064486bca01e9be649e9592837808c289347818c56d07 +ed37354b64ab0239f279e8502e086e6d5556db55c78ccc5eaad23fd55f02703e +3a50318b84528743570cfc45714e4f2a87168298c1730f4882f24542fe34d407 +008cbf83bd09afaee4816427112a5f7764d6dd4ada8711d9a585960dc1d20f4e +fe80fd13dbdc18d165c8c4b96a523de74b4c6865f1ac55fe63c39be0e10abc3e +66554aba2b3f1fdedb01dce1aa8652633b6b157c35513cf96db9f75924dadf1f +ddc6d3e66fe86db851f9ec9bf9eacdfb01e9f82a6f6e1522abac7cdf380372b7 +5b50bf95413a33cac888caf762dbe3e94a6b46a3d64b1bf2666e00cf6afe2c15 +8aca7e1175bdee5978c13492775b0da771a26a3d066674e6451121cbfff3ef13 +67926ecec8cdbc68fb60b2b87dc81f81f3e7f36db93e185b8503716da045b4a2 +92407e0dcac3de6e0421db593d2ab73786f4e5d2b30b52829fb2ac70eec5c9e2 +912dc4915a230c6244e3dd2e88af1c6af60f9b9c390446b459fe1add8171cbd9 +6332b29fcfecf1b968d82a16ed1790dc5fe720b0ef1d69b8a9b84ce4907bd3c3 +0a5624aee58d7bbc275cc6da5cf77e64c9b6ce73b17f03156dad97fd1f5fc095 +ebdc92cb98cd72d097a768835011f83f4a543606e2f58e9264c4a134bb2f1df9 +0632e52a1ebede1ee706d6d0efcbf96943a3be71eab3068862420e57ce79a81b +a4aae9e6442daa2a4217e2546b29794893e30bb0bc39f53dde14413b308c37e4 +ec9e1419c956f96658cd17ea4fbfb62e4ded3d7047cc88e10bd5a32663ee8ddb +4e07b6ba4c45026e1281c09f9d4ea975c7158fb8ab +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMR7 +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 10 /Omega put +dup 40 /parenleft put +dup 41 /parenright put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 61 /equal put +readonly def +/FontBBox{-27 -250 1122 750}readonly def +/UniqueXX 5000790 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 +0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 +79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 +2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 +b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d +823385fe55f3402d557fd3b448685940729e6e22f4be0e08c6505cba868f7950 +93f556b64b808dd710eb936d3ac83e5783b5f7e56d363a59a026a5619a357d21 +c4e77bea121eb24b09027d1aad93158edf912940e91cd2f17922b35885894644 +7773730bb19af9e70453e1b78d5edc123b273a979891d6d5e624f4a388f3897e +13b045e34b4ee2f5e4fc5e996d3549640010c671de14d18b0b3cd300e57dac03 +22e59bfbf7b29422230870f5897fcfaad4b50c7c1c58edcd119218163d6f6e56 +25ccb882db7b6d09a1586508e8cb642a11c29a46915e4a96e282079cb21922c1 +c2e360b487a45302fd22ec8c5fab63e54b5e844d4b17ca2fff37c69c366dd72a +d02922c14c0932f65ed03e4219c117962edbad2dcdeaa9c10ce8af38a4ae52e2 +b377245b0be19a77d6c936e7530cc4d0b78d0cc4a92698fa2870fa54f2d8503e +2d17b3d52fb2febb09f2b2af0c2a1892039ebe19a690098799a858e3d39631bd +6925a154d161df3918074ada6bd52baddd0adc3f07e2d9f15e27cbf7fe8b98c4 +07205c811121fa91e059f2f99322fed63f359ac9da97aec383f067f23e5de331 +51e80f0a88ab50fe8fdae4a5de93c1ae2fdca06150b37246140c0e87cb2325a6 +0d2349162ae3ac93144eee1e665a1289105318fdfe86b6e76251cb25adc967d3 +d0b97fe5e279e1161736ab22b4ca510b964342383a840defd38f96a7280e6ac1 +34e48d740607ff2e7804164a16d47735864db847c97335e6d4215cb99911a1ec +015a3edaac1f28fedd56d2467130d07bae9416c15f0827d27c6c79f59054282a +418c12c157c91223a829947f47592f7cafd93ca182b25a73a9419127e3b12a9e +5167ac3963f2b019b338ac46d63880f94dda4b538835884d2a5538c85528d6bd +977f844d32b43b0e48caed5a4bdabcefe71695d69ca784d64d476eddddd04fb4 +dd6833f4b71645d7f76cc408f4aab6476e7c58a62af2693158dee00e15147afb +1ad390821f90872f0ec9c322cc6823a6837c5d9c9506c8dc44144588283e02a6 +db49cc3281594301a76a0573d9c95d986f108e988d3900ebb6edca7b8580d4dd +500c8d5ce83fa8d80cce38a5a3647ca9a87ce5e1558729e80e20e641cd833d27 +f0f881ee92ed59dcc51d037d4d869189c996959b7a0d6c35f8612381133ebb4a +608587e67e0fdf52cfaaabee88cd286475815456a89f3885824c1d7ed2e6b7b8 +aeb41c9df9493a8b534f8a8fd885ed7dbcf74f1d9ae9c598e305e82f4dbe9441 +c616cfb31195dc5864171e112804cae020c5ed0162f367d35773680ca20a42f4 +988a84aa9ad085056c3c37f858b8e1e050564539a5e49de198204c46929695d3 +189624e2dbeafae6c84f7554f02a0e6516277a478118a13337e1185c3d23c1e3 +cd1241bfc2454ebcdf3532db75fcbb9d4bdadf41fe191e8a7e73746b6829b5b2 +a8cb0cdf77f6cd864364ee9950fa88796d9eb61bcf21960bb95f6767cd58cd71 +3b8b0af3ff926cdd1d121b391830e040290a961b79b9041dd33e8c6f1712ac21 +92b624389fd7a739320f6bd71987819687cfd66595cbdfd5c2a2f1e908286612 +bd58cfa49b8e2080cbfee7fa1958ee86ad87130976e18d1dee4ecdadbdaa0a85 +d254e8565ea03d7d74baaa2f2ae85307cc4d3f1ab3839e77ce6412508092746e +e67ea260cf4dda2f5d007e4517a240223050791c2d718c20dc7fb1d285399e18 +91838c7e41450cc88bb3f8a795e38b1b8473b2920c115faa28fdf0a30ce6f41f +30e3684268deddd1d1d5fb550cb71572bac10d6b3fca6d434ccd1673ac17b5a8 +f9c580d376580fe5da673aa0acda29ca8482169410a8a127f41e590b3b498d47 +a487ec7c434a9e8e8b824fdf56a42759e07b38cc537d6a3a7410a71b003619f5 +9ea1cba489220ede7b504a047df332ba29e44d05a2e91a76bcb5a029d9e6df31 +4e9ba7a5b1127ab0235367ee050e970a3427942dbf20ed1e84c8e30f49592e94 +1e9d98365667a8d6b68cf992d30b9b77bd34815cc5286664e8409d1a5962ce25 +f086658b56a65e9612e4b058d03a7a723b1887928c44b1cfe5bfe1590a6d372f +e01e354b2a75a782ef19dbf4315c6e2b095a61517da93696503965b720a7ccd9 +ad214caf370fa7a79c4436f7c1a950e8d51a926d26952c82bf312453d1d8e3c9 +b1a14154368db8901987b1c11a39ca2d9b9f9f46d08ccf61099fbd6ff65d9d61 +6c5d04ae92d965d6fbc967e54598465c50e0e652c23d22d3c57dbfd019a45176 +6576335e467c41c024f46b904ed6b9b11e32042406f35207727dde598a53b9a5 +4579f8adc256ca73784fa67691c0c6b265c0bf359f48487bc02555ef8f91fe6b +5ab927c3df47063731fd04dfc22a45303ed4ddf20623e7909180e2e60cb5d35e +496ea412c139464656ed52649b1a4c76452fc5a933b0e4d710bbef4806d6f77f +7744814001ab6781029f2cf5c1330b259f72e60c5f2313972bb5e81afb8e5e54 +ee5bd3df39b998e9821e3787 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 1 /periodcentered put +dup 2 /multiply put +dup 15 /bullet put +dup 17 /equivalence put +dup 20 /lessequal put +dup 25 /approxequal put +dup 32 /arrowleft put +dup 33 /arrowright put +dup 50 /element put +dup 54 /negationslash put +dup 56 /universal put +dup 102 /braceleft put +dup 103 /braceright put +dup 106 /bar put +dup 114 /nabla put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +/UniqueXX 5000820 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 +05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 +b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a +f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 +d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8 +3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0 +aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a +9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4 +9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa +4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd +df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79 +c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074 +b64c4302856ef184e72b8e52f8eaeea96d7cc14bca7caa95822ca41fddf44eb0 +3bb40da5b3924d358871e96edff313a6ec2499923dfa1949492a642c97bec26a +3211dde8eefec916a57acd1e634dadcb6a63d42213c71983d04d3090df55f0a5 +b7c9836900216207d18e17c3db80dab291c185465ec32366f135d7ad7aa76942 +bd63888a2bd5065497d506848893d2a605b26c44783988bb1a8a1bedf197592d +7a0180e49420396162a13e4a9b59de2d0f38b7dc25f730b461b5da9b221bf3b4 +3d713046ddb4fec29cdc420a8fc6aac27530d5818ab56259fd436bb5a73c7abe +84c08e6aaef6ce9eeb098643abb517e194f608ef6da255a292f0146fddf5b75a +c961836d838165d45a52345e9b5da40481ccab1bac422f0e02278f2ddf7a4c1d +d1bae5851e9372f9b8ea2e29c3c71f455db7642430ba1878df32be678bf5ce0c +48bb1290d70cf26785d4fb2e6df551b47414d2fb3d85e630cf436b08484817ba +cac8c295e2c6fb01b523323e40652c04710ce9828743c9aef92bdcc05edbd9c4 +96186ac8f1b4ffda3a6dbfb4ffce69a91afb182ae013027c15abeed6d2075a59 +b0f5662a741702ff73224ffdeaa42d29b9b5b81ac347192325f8a377fe9eb5bc +acd8204054b335a6d75bab5be98075b720a8f5dbf285b0a267e25bd1a813c353 +82d26725a047419263aec87da1e1aa2a440afd0915e25a8a28485864c1df7b41 +6430c57561e27e10c66002acb8a3edc82d86ca58d58ce24a90ca8e0b12881428 +a5c4cf0eef500dc032c2feb578277a18f3495f5daa3849c9dd04bd513dbb30e8 +644edbc79b64f7c22a8e7590ab84e607fa1e9849c7b5f27e1ef21661898e6fda +d1271fee8ed88a3bcb0e281458e1c7ff0068a7d94b508e06feb5ae961a2e2f0f +eb80e8d466152ad24407313fd123ceb54ef1f8ae5b9137a89b4c2c782ccd70d7 +e3eb0b15b87122a6c33af361c19bbf64f7c192f0b3a319bdb5da389ccc0b9ae1 +111cdfbf8bd1bfbd7649cd4d262a9e03714a4ee46a1a48dfdcd87c842659b8a8 +dc474d69d998050f46041693463b558471cff92cdc2c29b60254fad319ac272f +8f54489b63771bd182b92bb869275e0a4f6ec1de4830f49cdad6d73de04b46d9 +1c62086cede7d96aa1bac32defbec9608f963a0a09bf7c27fc5acf04e52b8889 +bcfa27ec4527cd0a4693fc11d8b52fa742ffcfda7a893e087e4d4e2898383916 +f19b7273cd31fd7bc82d02b3c2c81ad2849e6cdca5a03f18461aa70dbd7f61a3 +6f6461a5e540e95cb0d8d287be12ad032ef029c29d47f15121a52639aad590ce +c0d83f8f97277a08a67da5085c608b10a1f1cf498e75514c67fc7247cdb4203d +5d72f12330385154bfec076b07d8e5a3e2a90830dea7e1f3d02b1907476c4c60 +1248af0fa77faea617a3f26a78533702beee40cc156c2cdc025b50c393286db9 +88aa919ea0d1f9d4ff734d98759f56bf9b6377e960485f0412bbfdce01492e8e +900f22f0b088fea71e6d57e798efab73c11dcd367b7d0e45ca59c806feacef5e +d257296989838e436b0f6e80bc4b989a7bfa1dee1ab186f0d001e0b50494edd7 +7b6d671a5907e8fe28dddbdcb163000060dd454de2aeb84522b2c047ee2ab0dc +aa489a2a8affb95a50e4104176ae3dabed9d0ef8128b567bfbb016ad8fb3ca47 +8135f2a8a71fd987d3f9e87f864934756a65cb3f5d6c3f6c9ea796e85aabaf56 +79075315d18f420d037f4a24de26ffb8e1aaaf169665759d74e73c7661ca2723 +4d8c33fd9b5802868360a42d722ad913dd1df87ec624aa643a648fbc66ca9552 +9df1d29fe249d82d5d7654d606b1d6bd814637ee73f38eb1eacc6a46c4908a87 +add4692aaa49f3fffef89366fb74aba70cd115876c9c1fb78930ac59d29921b1 +f5e67d9841ed4651f34bcbabc8781e79d3b2c141ac89b37a079adbc5779d0d94 +b0cb910725b1e4cbeda6a58d99e6571154eedd378c770abd8b7d65b42a135688 +073519669324d73f0891ef83946156642a019cf0ed1ffa216a298399cc7ffb58 +f3d453429a712bca43f77dec8e89078c98e3692925974642309817915f1278b0 +97335251a9be4a6a6569b6252fad51089bbc91facadfb2a473e8df6273c4651b +12a57f7c2735996642e7524980c5f58c2f651eac4690530a9263b566e4296846 +650f5db14699d6c5c2db390fa85ad243c250bc399b8e67e376bc8f1316d5334b +e276b3019b932089b95e15db0033a0903a42a701deb64518634b9055cf98bb09 +e54fbb51e31dd69849c00d0c160c2a9a253baecf9c5b055b7568d547635b84d6 +b1f2fe3d074fce320ed79388d034ec570f935dab98c42cfb101c8d1e35e3d36b +ecb152aaead0dfbad8ff645eef0a8e5f515b45ec3f3ba0cfdca784c16f1934a9 +7b9a8c585434626d2c63b629a0fdb72181d1cb4bf77f19d1753d923de2f2755b +d2f23f8dca7605741be7d01da13a608fc090077878cda5897bdfab3028041c68 +1107416a6cefadc1758ad359197dfa9da8d57206f48c0e6e8571ac91c7e76392 +8a87c49cc560a8c7e518eb91faf4f9214c8245d5bfb7002bcd15472373095c44 +e41996b4eaca71c31ff1486aadee4fca3ba1c266f897ccce99471647932cff2a +a6f22eb29c56d7c52eb4d24ea0ce30515349219cb7831428b694ddc0277738b1 +747557b5c500787adfc2ed266c9f754a9ef11b856c05dbe93ab8e8ceaf36b4a8 +c4d658b331bb1c0a39f4a27ee58d7b868ffbee9f2b4a9a04df3aeb2e3b37fce2 +596c681bfbba5efce13ad045eff1a90f6ee3163851c315e0c0644373d187e7db +0c578df822dd1f4d7f370974da1e49203cfdb96389ad11c3deaff93fff81528b +fe828923218745b2c0a04b2ef7b3892c3b3c63318cf64ae90ff45508dd1f96a2 +c9e53ee27784c5cb3d400def3b7efcb12b5f3a0666f38ff3a631cbe302d456f1 +3b97d7390591714ec0f4176689808e820e505060c9b1096675b8d9c3bf12dc5b +3fa883a4264fd03972c298c54ccbb353743c205b257327962b26ef90a7740a82 +34b0e6ffbdf432f78540f02f31975289bc0fe05310329180fa3abb024ed6a8f0 +5cd22238adc7787e0e04731c8e6d14f4a62c6ca364e92d78ce9d6e638fa8471e +155fdd6a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /beta put +dup 14 /delta put +dup 21 /lambda put +dup 22 /mu put +dup 23 /nu put +dup 32 /psi put +dup 39 /phi1 put +dup 58 /period put +dup 59 /comma put +dup 60 /less put +dup 61 /slash put +dup 64 /partialdiff put +dup 65 /A put +dup 70 /F put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 78 /N put +dup 81 /Q put +dup 85 /U put +dup 86 /V put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 102 /f put +dup 103 /g put +dup 105 /i put +dup 106 /j put +dup 108 /l put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +/UniqueXX 5087385 def +currentdict end +currentfile eexec +80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 +74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 +48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f +15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff +da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 +bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792 +3c6e705479464a4b310b58348c4b42393988fef4925cf984423aaf65fea9f0e6 +4629953bcf50b919d968d99bd185f83112b2759cc411764e9bde677f57c5ee5a +c555448d5f81a16259ded1e11bf4119d53e8ab07a802df900d3a2d5ccc1c6876 +d29c5e9effb7af3ef83400b0910c07873a8c56fa7b1eb1ba426043b00cc95dbe +dc6e136cbbbcb3f67509964f9f281ebf81fe5b018122eaf66c4a838487e82e18 +6e006093042848a903efb3469ab6b4049767aadb95c30408dfd58d8a10f4cb22 +168decd9f3ee100f07b49aa44c92139b669cc312ba20192454eb2375be6284b0 +26659d964b96ae82d4942e758027fcf23c25ed01115af27ce7f20efe2a822bb6 +84004f20243a49c9e93301fc21b80815c033c3e2ba58ef53da2157d524b395f2 +b37abca13bc6a2f42e824ab7e47106176b0d6db267fbb795ac7425582df2e3dc +55863468a9200742bd7b552c48f8cf58bc21343bd3b95abfa140f33f37c6f3f7 +8b0d8a5154eb7c1f62ec598267f13e841a3e64172663935ac8b665d86540d316 +ddece329c008049c5e74b27d59022c5515059bc3b89370b1bc6a169c888bb325 +e0b74282d6f053a50da4024ed1e433271a32ab8c17d41c632b41cf9f3ecd5fe1 +24daf7aea7ce8a63047b245822930d517df7baaafa69d2d17f7d93cebd45416d +f3459365434123a76ccf883a4973bab19807e1f0c4bab03a45f7ed69ff2660ff +3963e4def11001eec4238c368a39d874fd30b3c14f4186ec7700fbce22abe468 +eb32baf7b0164f8f21a9b5e706b91411faaa44467cb2180ab03de375c1ab93e9 +76e11ab92fdd4a7280a6d1a8dc65c4c89d04c8ed6988045a2a3de9a4c7b1efd3 +75b6c82686e73bb775a43d527131a99f996092d2fd0271cbbd894159d9c4349f +963f8cad05b7a3474a493fa92e3a4c36c32b4a1491f478ce1cceb9e8afd88e05 +14a1a9794e2f5811abf84a3cb6a981393332eb618459aa41758cc7697276d0ab +1bd1f12e879020427a05393d90b8b1f3a26b29a774cb303f3a8773b7c8aed695 +ea0a2395efe28a4a42a092ef70fcf011b65b4ef23d10d1a62c09f6d8be7706f9 +e0bea08b0974bfadd7097a11ca757972f639f771dc640894cf69fa1ac8ce20bb +93a2c420dcb61e408b4c49416756aa9ed8767a73e2b287903e4fa7ea654f6abe +7dfbe52ec02836ff7c7c0dfd17b12d9ebd36eb04ce62b6fc165094a72a0b64fc +d4837cc13eb9c1955d8988e89d0fc746d572e45befc8fe20b493a08af05792f3 +3ea5719bb43a6b544868707a12c68e31f85d4a80706451ece8617690d580c991 +f4deb6f83a35116070be36242b3970f90b2b34457c55436f19b5fcf093d07e4a +19e255f8434ab0395cf2a4f1bc58e6fa989431e13d96633109e04a3f04b8493e +2e24c0f87e21eec9d88cc43b6af8b3a068c3beb2f0f5182cfb5e56b69526a014 +e6008183f67fded09046ce1221d82ce622e013c4cda54c9f1ae2f58f5e522378 +b584a2eb9401c6ba5780994eb99c35265d454a3aa0b26cefd20d59ecfe4be62d +ecb8256b056ed27ad45c05ea569de7ee337b19d7df6737d2dcf68eccadb327fd +51bbfeb958f1b2a0b4450435067a1f8a959b62609ba8830695a97b11b86e5f3f +67e34832bd1be9fa658d9de712abad8c3282164582efcd03ff8218ea8fc2098e +95594fc4e08b6edab8d8001fe4bf88bea89df97e63f6382c21887720505f6e8b +5738b9da76f4acc28cd941ea7fdad45cbcbc274cb24c8805bda158e415a6e3bc +3c989e6ac3cafed5604f152a9b262ef18e567d0fb0eabc88a8035884671f2e0c +827d9fdcbec7fbac02b932dbdd788360039c6a6785da78f485aa5a5933ad99fd +19ee71d6c930b12cce33c7a1563bc1834ea516192246f84d4a6c4e47652cd8f5 +f5ce53dd72198eb90f490434b55ea637a1fb46fa799eb283efb88fd8d12334b0 +83f112b08aebe46f86d092c4e9f8d97ce2a3eb4929cc9aabdfe7c4f67f97d9b6 +6c8d70e99e69e00d7d564cb7f5865b27f99f6aea21379dace806b799291b4c59 +b34557eb14ed4f9196db1a817cf7688d2516379e13525fc8a0cf2b586b55281b +7f5657606a289f185cb5e9d8ee9ea190f8ee211985cd909beae0288b582f3234 +4e5a0d73d98518ee3279d3d854f16560b20c72346782b8373c030c5e31dd9dca +40b03970a64ac36006aba1ee3407f38a7bc1d34d17d6eb8280a830b2c2150db3 +c67a8a930aae2928984f9e2456ecd309884e0e276d64a693603cfa01b784338f +dd0a6fb50a9e2dc18c9a49acfa440f648fac48457dd08ca486705fc8efe3a4b0 +a1b345a521cfd974b35eeafd7668329d89962a7bbe0a5a786fc769d2753cda67 +155a62850252b0dc59c735112058bb713d8bf5c93a143d25c013c84f99cb7c12 +3d813d9d0c3af073db48821b8d9f2da5917a9ef83af8ce94f289cf54716080b6 +784c8e4e6d8f8b4ba8ba62401d8c89ec602cae99746a3918a2b6edbb1d6cf375 +8814b0f2a2f0e9d9934cafee9ef29d8bb70ee46897cbf286ec49dfd85f90f651 +040f82829caf9311242be2f872b789deb0d57c9e9b9ff9e8cf33a556181f6314 +8c19f8c7f015d6f034ad7a70efc91818fcdec1b25535b8e2dfe9d526931b29ea +8262833ca4bf3213392053aaee02a01faf431717d8a3b93426acdda121ab85ce +899a758d49d79be5b2af02a9bd1844d972445690f4dc85ac0bd4b4b211859efc +422121a29126f4381c3fceb9b37dfe526604d9d0a187b68afd703d4f38b3dcd0 +d943c5133add4eeeda2186ea58ab4c28f6233ed8304dd65b5217cd23dda4a449 +6556679cab23280bb49a3af9b763a4c6c8e9dcb3397c47dbaeb139b41091322b +e4d7e47f611c435945c2ecca69d9146388eb6913616d6d9be7449f5d323311f6 +7b9a95fbe6a4e039b398a806d00a4e71248a6b2e9a6918515cc38bb0a4cfd323 +1c196043a99727f1bfbf46ac0ffbe965bb2c68349874249cd366d8b2ffcfd4a6 +a7c68f9dc77c01bc6e9fbe9531ea5190f6d9e86a310e456ad87862c8f187f5c5 +89320d6d484fdbdc118f9867834b10b4bb5f14693e725524634b5d5f54a5185b +d9d8f51b0cb2ab963889772ed88d3703646645601d4d1efc080dc7481bf10047 +a9346612b013db61c59267f4fab3f386e03dfd42b1ae58dd2e6e9d70a743ace0 +c0e1722b60ac000099d589df4f6ccb7824e4330f373c20bf17bb17d734e500eb +72eca1ec8f6cc4c0ab331b1fa5a35f06bc0a8def90217eecac810096d6ecdb77 +ed0a45910059f985f6aa7e47630e370867ce961ace19c447e40720840ab96f4b +dc61db820841d9d1794a2be4d0dd6e8db366dec26970c7d737832471db257be3 +7457e62aa194dc9a174962dce261053d5514beb305626e77ad1882bd6a153807 +97408a8a6893f83f38cde0297a37f566a83982200abe8ed7c50e01867d5bcbc1 +56f9cfd88f14c42404767057b9a0b4a805429cb6b117aac30cd83ed6c1910444 +f1af8ccdcc5f7d4946f1d48c1849bed26be6562310b4979b6b8161477e2a9993 +09e048100ff85a14332d53ff67e7f056bc894e77b2bf3cc08df4b6d46283b8ec +fb9cfcabf30c1096eefd39a74d861462317d791f63e5a858b23ce21a0d993a42 +c2b271838aa79762a9efcfd29e9b538b991dc8103ee5255f6286c07aabd47a77 +3521d3ffbc4ad4125b2b4455a8236ff725e61f19986f3adc7fa7b34890b202fc +1638360144c1e474519f83588585c289a7347c3f3a675a4ff7603dc66d2dd9c7 +681d4bcfe1f4614cfe623a9480eeb51dd1da758fa6f0c1e21acc3095288b4a52 +bcecfd5f590df206d43ce35a81a5c6fa294c3671a540c967b27a70d079d50d2f +bf688c56e3bcac86db01a8b9058cd06d9ebf8146c9da92a18c6c5ad8a105dc42 +e9b9fb1133cbd9ed62552e9669029b1afe510fc71933190dfe1676b99452d9b2 +b5743f37c581b3348bf5d3e3a9bd81c538162b6a227bfff480165866891c5e7d +20193bcdf8a5993040bb71e7ae002d27fd34970897385bc1f815286886051bb6 +a0effab4055a3648a2c5eae8fc2e42b5839ca0ea2ec0e150e24c801f7a2d082c +4c0e37da1e7ce037ab0257591f0303e5a1555a301c32a05288d100b747376654 +29f03f17e078d21da9dc428038e07a80ffcbf5617d8543efbe87b9200b01f0bc +a133ecf2478973cafdd00404d4a05791cc85c86c2cd2ce6aaa00a84317ee2846 +16c7fa1e142e2f086fb070cf17c48d597d963b53ec82a4f341546b81f6f00b1b +c05c60f48e3f1bd68b2d4c96d7ac6ba1aebe765a1f50b62b116f5504090882ac +ce2cea9e38664a5cc60d2d9caa99a2817f1bd9de967dadae69cc73977695a2c3 +501247d1ac73065ea4bea71f5b257ac09b9d76b092209913b166e0ffd0d5f4e7 +1363b74aa8a37f8be3fc1337a60d4615a61ec9308d93b2f70c8d92d6d7fc29a2 +c3064ce24971c2b8e1b07e920d89ed0a044e0050019fd4233d2f57c8f092e836 +fcdf48a441a50da0ec5c38ea137deac64a3d6a527f51750283bbc4783fa58453 +372bd9ad06e9f183570728c2651788e3018e83cf9bcd7badb3279bbd91b1a015 +13e97d9c9e37cbc7ba0b43d7c378be25817b679c1a0574de0927268f9a0435ea +e49308dc8acbe4312f42924ab3cb66e4111cdcb11f10700825378e5ddfdc8170 +6dccf55d16d3e58ccac7858b11625e9d1965e3effd430df3ba229b0def8062d6 +e916264f306df9ecbed95d08729bb86e1a127a3e8665b42964b96871e361275b +e0c2d5a8de8fb36fb712ead4548b10623437f0bba56a35bc06eb5915c27aae65 +c367f31e87badcec7b32998ec7c91f62be646140afb28a93ce0518196cabbc93 +73e7de347d342365688035b612def1e5d558370d747b55cda302038d0754fa59 +3ccdd2232b51c0c03b50946a189b29c0d2839e068fb95ea5b4ec54248d67659e +c4c40e62a9ce197dcb6ba5dfdcd34585c5db5b0326dec02e88705c5b65222503 +0ab1ed366ee0e8a6d0b6e9a21bf3d3522956f9f309c21e79aa78346587d8d478 +718729765ed66668394ec3691dbde3d8062cd7953b48be4fb48c6139d0caf99a +322099402db1ead0cd282cfba49782ee9ddff07a390dfc0a1d08045608a80f81 +f83de3dda018fe309d2a9084928b99137552bd9b1eecf33c4d275822dad9e448 +a3b1d9d48e2411e2bb0e7ed4cb2029303d6c59e377b0a3c15ffe4b2df0877a6d +883ee027db89e7a9188d8daf0fcc62020f08727423040a97d0a587c10747789f +d413d3d55da0a530e49b3b49ded82568d722f681d3010e51d848a27b9b6afd22 +6a6c0e7ed78186727fa4fddf136074b0367bcf3103ea41ce6298f9688ba8547a +aab453fd860847c3a36584990fc4ec252a3a41ed9e6434a7494c79a2db1626ab +eb1beb1ddead0e082db5ad0b126b38a4d177e800f18920dcc610a8cd39e705ef +71e021c18783eacf42d5f1225d3a31d3f1f6c87e1b7703784889f560cb8e5c38 +2163bf533ac305b1efce25cac1cd09dbab5c2e1cbb84a8cfca5c4d35299fba7d +9d49072d27d04e13c8c1030cfb66960e3d1640c4bdeb0b9652e7a82233c340b8 +0e7dc44597f1f4b25eaa9a392feb61c120a1354b76e3ec1b39bf46bf63c88e42 +53317a6f9e21923cc479ca2837d934b22f3a63de42c16fefd68c25826670d3e3 +9a820d6de32ea20f5f51bb1213686883cda8fdf46e7d0d62c14d80012460a3c8 +c72b2607323ef921eafea39bf61ee401aeaaa277c46a8e9c2f5d93245a3db5e0 +c1a51fce53e31991a5040bf1565762d52b8851e00f27758f3b1dbb1b85709513 +d33e295205802b043603c9565f0921f267d856e111e8609d6dfbc3bdcf742829 +eebb6cd59ace388d30d101aad627f29ac3f0b1eab30de25a35343d227532c512 +75205ecbe9b32f8484e4c1227145c5189ea3c073e40f10e655fe3614921e7a3a +c4e67229b82438decce9b34ce1d36223abf8eb6d9950603de32bc9e0c7daf092 +a811ec1d1aafa3e3719902976a4b6a055465511cff3744d8b4b546386b89eb9a +49eedcac3325a1b5001b5b2a162d38c3e12577285c9c489e6482684335189e2c +0d16ed690dccaecc8979560783e5d50e0a4ad066bd181076859a4416069a387d +9f776106722ac91fee83013c5877108d83a105a6da1c5b2ee11d09898e40d819 +481fa8ddf7a8f8baf3ad95265f7cefc90bfc55fc09cc2c6f45eddcd0396aecba +8fc6642379378e674c7e64771b2aa8f709938253f6047b6e8cb6f382c60821d7 +f9803d37900d0afe349e83f0abf2c67955ede557809af6608986e09f895cc37e +ab14c0a448b29579594c52f06725ad78f8e7f2a0e35b078aa8629509b64f481e +95cb2195b4c53782a17b55cbcf43f5741c614c7dc57f87afa4ef1239042c3886 +6e8f550f23ae0577ea75e9574e0ac7fca96755a4dfc0eb02bf4c1f3be82f75d7 +ebe47928bf682642bf7f2ce3da842d6275c909572112f8697f7bf8f8fef1b573 +ea68613bf5cd6860512e1092770ec59d14aa4a0794ee60dedc11b0c01c1b261d +a2a5aed8a3fca15eba32ff78cd4e478acba05b56b042d3126b8a4a005a56791a +da0f64c80ea855b2ad43b494fe079ad7da3eb1483d7c9d6ae2b57507213e8984 +4251af0f718936ff84ed0a2e7c3ef1abbf9b81a81012a3373eb6e4ca2ad8cb1c +44376c1e4fa13e994488b4cc638c1541c3c412b7227d1044449838d6734c14a4 +4011f5611d0f31faf52f5f1ad4fdf97bb10851cb0ba814ffb8522b86d194d368 +35f5d9c0ce02b1d9a76dadaf71da54fb2fd8b476e911b62e8646692c2dd5fd23 +14daf09b539067d657f9787de364290877bcde1f721abd316ca19b3fec5fa07d +da25a63bb94022ec52ab6a858562fd21c282082a78a852e3feb7248860d7aead +0396cbda56541ea44af11923338cd6ae449136d0899b7f3fc5571d3da6767126 +4daa3b010c01db57960e24ffc4d8b0a73417cfd445a46a73811e32810e1ca950 +4969cf44399d9273ced22912f42479ee954e5c61ed6b52ad655e8731e364e811 +237b645fd6bbcbc7c4222771596f5f9c3ee4f233fb3c3b56746d7fcf8bae3828 +9d1931d6c6977152433c47dbb267b1ca36d1c4468680f309d9a66730bcfa16c4 +3914393cc8c277393fdf4bcc6904bfa118c6765cb56ea4c00c33a96a03fbe5c8 +37dce38171360b07c180c401db9983359c29be4e68297960b2ceaf1f6b55078f +227dc4dfd50344ae6151f8ffac49a5efe1b454b83317f0315e7b574012e60374 +c677961fe08bf76d1cd6e3865edc3dbd679325ec9e0b20f497d993dda74a9caa +dcc5b366b48aefd55671ceb8f2236e6df62416fe48f953761d6c515289a16eeb +9859290e5e389e9c5c7d082c83533b6065ca18b6d06e5678a11ad419e3a6f5a5 +5f459c70372a7f0419766a6d42008e679a207dd7989e941d6d9f543012c1935f +33a553be813923e9137a2f0d40fbbd1ec98a86195adc0856c0285ace5516c6d0 +bf688e33b1339fd16632f21dae5d2837af15c66054c987dfa62d9808af608851 +e8da8d3be44128ba4bebf5f372b4c4ce8565652d0d7aff995fcd283c20c25103 +2bf1eb8a5fe4b8533f5bbb224239efbdb0dec2d9baaaa030a78d0ce6d9993a77 +7a2888322ccaeaabb2a1d2a501b57c8524e74a778e3d6a80b7b46bdf9780849a +4d76d6e5f79d5e788b896ba314d6a1da2cf09582656b70100fbd820ac92c66fc +57cdae03a4b7a2f0ff82c41666bab6b62834e72ee538b74d3d25a0d7c83fd124 +35997adfdb586cfed7e13e59b4cf7f844553fcc563ad85797ae14cb919477716 +0f230aa5dd2f1cfe7e8da916555b8dd4678ad4df107cac2f16a31ffcdfde5003 +4b7f04addb3f69ed1f1af19f2cfcdc439e6c8fef5288c9c310644f6dc78c2d6d +65289fe2ee32dbe76a81921a7a3e5a2856f7e5dcb848691861928b4233e00093 +ed5b8d6e5b8c83f5a5247e8443a82a85b5961e53b0570abd120d19592168bd7e +a6b81a245f1c9ae5899eee3d3838018343bdbf8e8c5d90e50880218b021a4474 +842760eeeb4ede9af41a5095baace2582341c422dc36c37e5859aac59aa9b657 +b40c9fd648ef69ba15fc05fbdd1e42d5190caa3b72612c8c7cd31cc3b77cc81b +0be619df94a3394a1884708c11f904105808fa74b44b08c3151cceac9820b74e +df6fbfd954e32c09aef856027ee074789a9bb0b16de1a0e8ca1695630657776b +054b560fff78bd2d9d56887b05f62dd516ce5201d2af5881efad7ed75dc11e78 +cd08cfd65cc1919b038bb338a808ecf6950974accbaa8db694cdf98605775889 +0fd9a047fad18e9bf982555dcff94082919aca04fa1b282efed4965fcaccafe3 +dbbea3ab4fbdd40077acc9d5ad9b3b724e661fc8239522038fe887277df552c6 +3a59e28621a72147d62f90a974689566ea6fa310022680a0999643da14f1268b +87ed9f07152faef12905c0005c5af753e5b22d68e2112484d315f57c1b602769 +0df965b2d9679e38a68a0edcbd1ce6df9c7864f938426492ff2d71a759389073 +97d577cf45cc7a1b1720fdf93d06d9c1d114b24e05914a36c74e51cfe6f4dcd0 +df6bfa44d8ffe2255c9b7c4d0e01f28fa3e55ab90c544411a418f80f206180c6 +5ea414ef1968df38ca341a53db3b1cdc0bc0419a3d59394061e3e4402a48af65 +3bad74da7231c2d670e8a582d4ca5a7952beed6b211f2e1e187da899ce3fe648 +337e7489e135f78c52d5bfce51b945db0f72415a9f65e73bf15590af07dd2caf +c1f8f685f9532c5bde13d52df54dfdadc2663ab9a98c9d613b393a561f8551bf +18cfa630baf1ba0287765716185918346aca6ef21c317fc939f302c7a9084d1e +c7d328888ef63c03c10aa200f62d779320ebfed643313f806c31bfe4ccaaa706 +36342297e4e6b45817e89d41485c16deb935df0c9614bdbee682a7280ad66b74 +8868b5307e513e969bdb28aebe3bc583fc73008b1876d5d23ef5aee7c65ace41 +9d8d49fea2d233d5787712a06a64507ec5237f88dbfb0796561858eac3dd6f10 +3b02e93ea3d11fc94354ee097540651df89d21738e7abeef2af8cae9c2c66b6b +c3d4a4608fb8cd7ba6cf4830367353984c2429fd7ca631353233839ec5bcaef0 +f45de8678cd357c3a58581d884db17237183c3cff4f6ad1ab3c90600f1912c27 +23312c05675cf0225ecec06c2f700dd3101e05b62fd990c8a780a7c67d309d15 +4028f3ddf624d5d9e8b6a589d9157765d221fe6b1bd7b937edea1481c0edea60 +b06bd5273563abe4eaffd6cf8a5ef7e15d620f54d13158816c9cf62901c6f4d3 +1b016afba2b5ad5e7312332514957fd0dafd608a45079d90d027c537d28bd038 +080867d10214648a6a97e6c207b488a17db10022e03f8431cd1fa5e1b02ee7cc +361cca6df87d1ea41f862efd3c271b9a4b4957210d04d55a8fe05f1c3609e81f +473ad8cb6a83493b23bb3fa4050736f20a54d63a3f2125af5edde712285e1a88 +d810d30e7eb5347a68f68812cd7e518a73127442990b2010abb8f17d3b1f9195 +16ac7b57e79de2d8752de0eee1f0d2a851ae02faf7d72900edddbcb5783cf879 +c6be384891c274431bbc9b07e4525e6e766593401cb0a1fd4c3a2382ce872c62 +3febd440dc183410d697f558644877dd9351e40ab7419fcf19f5f3519cfd1e0d +87bb2ea2a2c71bc26438047179d2c0bf8ba817b3d0f9296ee7794574283699f3 +4da47462f60a0e6d4720b4668bd94a3a48c93a4ceb4c188400615d640851165b +53551600e7d60c4e3c6cb3924544e8e64d35d59a17a215828981457a75d9e0f0 +cba401b64eee8beff5d1b584b722590790cb500aa321ed786bc2a9e74ca7b55f +b35251d034972570ab8ce4452ad3e601d627f4ee61a3524bfa8ee3b1a4e3daac +394d6577459f14af7f3d98321ff4ef1e9b78aaef8e1f58712921b7da9c5cd7d2 +c0f2384a83dfa4a3f68c475ba1bb955f5f235a1e8da626670f0548f1bf95776d +f498f5a12ab40a89ea2e927ba3519a7037f5460dea7db73683b9409fa18e4e30 +1971ae782a5dd528adae11a2e275b180009ea11f0b5dafbe0994622683baa049 +9b29426357211d20eaec88b9a70127abb08f9b91ab3388a953f911915a78511a +baa3389550d5ea1e84340f3444e250af7f43e681700a8123feaf4b06a8b373f5 +43359c89429c1d47e5cc4fcba2f34d7f09ff069d1c7f05f1c1d667729cf6886a +ae98803fc710c435d5b1e1584f13797163f8c7b113d26adc38512ca90ac0353c +463f19ba813fc866801c55d1e575bf0a4e97935101774bf87b5fe5c9bf67044a +9b3e6f7fd46023e352f004a23ab7bf84ac03f4e4342e7b6be5f99900e81e1d60 +d853a2cad61784b62d5d86cf2e535be99f06e079957928bc58d7c7a31c371796 +6853ecb5f85084262498439184e90cebcb52a341f67bc9943a0580100b7c782d +5c36a61efafa80e3fdf41e4f63d7e01ad53abbfb979afc9dc0f5c2cdc922b747 +2dbffe17403ef2253cc28c8f60c3fc183df0f2db1b108503fdb80565d730c2e7 +39b2214386465f9c2bec07b8e6d64cc210f9f7286e40e8d01e167d4268048ecf +f068ea80c4303a2de66b651c8166fa314d36453a281026d58b1f9cae623b0df2 +a3d16f1e0404a3e9821efee9a67aa96fd2b3b2ce010ac9ee08751af5e29de43d +b6b2786fbdc210c7fd1e55591c18672fee9e9c5675184fe56b001be88e23303e +0b36a1a6fbdc703b768367473bba77eae8cc7214362bed6f503026626e5a7bcd +960097309cbc19aa795363b696c9d8f23d36c4ae0ccdabb2ca499d26d273f14d +31bd002c245ac404db88c73e3d9bff37db63bfe1a98339eef889a1d83ee7b511 +49c41c12dd2203cc5a1a2ff4342cccc2173c13da7e4669074be823cd9ec85ed4 +8406e5427360bf9b2008056e1224170d8add21a16ed847e8201cb3b3e066c9ef +143fbd7152201e003d2f3a542cedd210a0c3e454bc32337d2bad6e47d52990bb +2f2194e1757206283fcf4dca1c21cddf1004fe8c03f1f99cc3ffcfc5d184f43d +67b6246168f32e7d1c35399e2fcee1af8ab2a354eb58a8432d1f94e11229d1bb +d7ad0b8fda04ba5619c0175f99a0c937373523e0cb2e756c504c83ea3a262086 +80 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.1: CMTI10 1.00B +%%CreationDate: 1992 Feb 19 19:56:16 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMTI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 45 /hyphen put +dup 58 /colon put +dup 68 /D put +dup 71 /G put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 122 /z put +readonly def +/FontBBox{-163 -250 1146 969}readonly def +/UniqueXX 5000828 def +currentdict end +currentfile eexec +8053514d28ec28da1630165fab262882d3ffd20326947b1065649b533eb5e9e3 +a88a87fe987918a687950b26f647d6e08bf14d983ed1d4a8ca1e2da8d985f944 +2eb916f5b6ed0697ac7c33e1e36a3bf460d34ce45f1631871097cb04f18e3889 +4cf4ac1538eb19481311d24fe3be7beaa4a3730e8b4831fe59d6d9ce2e46116b +629c7ba2f9ce3ecba2f43bc162a5a077ca1b2882a42afdcec3f4b75b5d63e0bc +8e5dc95257766d8ea467ad9cbaf47be60f797580cced6884b3a68f70c91f4fdf +80fd00ed9139e7f480dc3a76af72ad9b434187730bdfaefe4cbfe5c7edcaaf24 +9204fd703011932e5a3c27be468b7dab69daa18dbbb6335ab8ddfdc607961c7c +02582763fa069d43563ba17704029945cf42fcb19cf78c51df0ec4d851086d43 +c1ab38e865ef36865fff3a08b01cbcb070ba4893f7482dc7819ad03d337e520e +7d8cd83bb8ac7aff4df36751f4f12aaaea2b6d7260c09a26e987c904003e0723 +7dbcc4a8e4e85cd3259f40d3caf55c742cbb40ad0db1044c20a4f122a63f7b81 +1d945bfa69662189ce4d089464d2ead9f6ed60b581b04114d5d45e97be27a576 +35154e9b8464f2a0df18da855eb51b8f64d3054b0b2e84621f025a0776d16fed +b988a43d2d64c32768dd106b9f541ae8e68ac0bb7399e16f4d4ba074b2152d0a +4e9b5bfc21bfa0d531e28165e518ffc054dd4ed0d74eca079d20e79670419f92 +e03bcbfeecf3554d661596f6f29e12170804d15a250d917ffe7a8b6e8fa53047 +1ed97ba56481589a65ca13619129f1e26affe6c22f0c38540f8ce37efb6e9e9b +60b51a5a9cb4454fd7c7f92f2f9437159687ab590f35b946a54491a7739c9269 +e0f1fb48b129811c82edb3171cbd5105fe65906974db8a7da92f4f43dc7f6b36 +6981146d86d23613a0b38d9d6191db9fea0172e982cb1cc50e382f69da1b377c +1be9407f88a2a761b56f398467a057f35d18c01cc377e0061822b94abb98feaf +33e32c9bc59416e65491cb08cd8de429deca10ec4765d20faea23f130f5226ac +4d27d24db0385cc31b8b3227812d2c2fd223d0b86eb936ff0bdc45a281c544fb +d7798b4aa264d33ce1e3eed7c77fc4942637b524a072aaf76b4aa25c250c8496 +d0787d1139a647e7165191dd7ef7d25d830220b8ba0e91b1019c1541cd052faa +de1157d53f434b7002e6456b12be1b16806309326894d6a0a3485f24ef480e9a +14342b11ce0fd8891c13c10e390a6fb53c39847f4d08d29b5b7ffe083aebe339 +5b1f4ca06296feea1e03576816fb7c1df7ca971e36c78b30f8721577705a7ab9 +1c9531bda0a59d24edf8e82b31b8bc5a1a12d9c07af1cce3312d00dbf1b771b2 +6c5589abd3ed060751f05846eddb31de522d181687e78299c0ff890ccc069a4b +371e360c5ffc3d65e8d01215c6126bcb6caef861c1b6a11523eab958ec503309 +818ce93536ef9474838e560e830c527971da10f4a50108a7762127d5f40e2d2a +5422e2cafb000ffb8e7c99f21996044b88ac6d80ad7f0bf30819ea1ec68bc5fc +cae4c05f4bf371a1d086241258c581fbfd4de1dc42cc471c13fc760eb996be51 +bc2ea2b9998877d89fdf034d271d5f85d786b7ce92e532e9ef649b2533b45060 +38928fa310feafad7588c7402bca7b7bc26f803c60e9116da753650a88ac7a59 +36b58cefc3228a1e058d3a757690c056bbfceb35bf3a845a938fed86cbd798a3 +9850be5e69c72b913485a89d7347ba1fa91bd36c886402da3f609a6351ca109e +69fe0506461092f65449e9db2a8d6e5fa4942992a335f740d49ee3daf044e66a +42fb1f9f8cf3e73772fc63e93490c7990a96218a953e52eab5720a4696a1d8b9 +3d6f986693331a2f656cf7b4b64eb1e4d9e22215f179d33f06fd0db415b65fcf +e625276719a077e79fb1d92f3211c968549cc645ab67b01b0eee62f9bcba4340 +f39870264e521d39f0ecfd652b7ba7214254091e16458d3b32e51f7db37bb132 +8973e4df7a2f52c7fda7d4d7d8f263ccf85cfe46ff489ed1a5e78e0b534bee9e +970f7fe9ada93a5f1156e7fc1ad9e513276b55db0a28d34296ca85d28a0832bd +dcbbd3159784b6628d0ecdd905b431499e45a463fa5609ce615a19caefb2f106 +f0f92db3d6d708da9d3d8d6e0ab1496bee7d77956dae5974a2889df2dc02a921 +f71f4937f15abbb81c9bcd22fdf190530808881a346b22aba6e8b0ff5677cc19 +7e5ccb56a7726450a2cfbd2e5d87a4b6cf8426f18238a23424b3b92d73008998 +1cbc1fcf86c3eb58e3babe6c34129605fbba175f1ee19276a94712bcd620574d +0b45791aa9914585f5f5506ea6006e8f9482bf1c55201c0bac872bd8ef2f19e3 +58560c111c367c23ab327c5a9059c8481a6f030006616906d920b6a6ecba3a04 +d8bab040337fc81c3cfc7ca06814ceb40de36cacf79d3d4b37859b77436e056d +29b3ec580d4abf59a8abe4603ba15c6b3562f38b2c85bbe20ab2fbe9cf04c981 +477119b4b670b13873a58a0939aae3a1711a648b09d970abe5cf73f4cd65d61f +7fd011847173601a50badb334baac5043c9ff088901b23ce8d96519ab03bef3e +5cd038cbb4e7d5949604c46b8b105724874886457e61b642d3b6de8b469b5d81 +433b9993631720d28ced32b3658228e74f9893d43835fe5e3e0abe338df28e56 +978a375c35f60c974094f40cbf53570c67e121c3596008a179a0729f91d46e5e +38a8014a08b8b1837f88013a84c5e25d9e997b78dd1a3acacf6ea4b6f22b7633 +498ec8fd01637db6652c8e13a1b2ec63bb7ecc0fc433aa7fe9b98e23399504b1 +63342aec4942dff2e03b10ec2f878aeba8eba0317d18d319565f4a4aa9a8d58d +3bd5c07574a4a5cb1470c6cdfea2fac23e48070b78efc47f04349d4af2af42be +5cfcadc6c4486c57e544e915a3716e730bbf0bb0b8f02b7695b5e41e17bff778 +6ec02a8ba75f0ee0ddae7fc2b155821267d1274701c5f115cbc7e4662491289c +c1a848a53a41989a21635ca76430338179c3a21dc4448b63c921714b98d2dff8 +a56c2cda854064c815de263f52f499c683482cdb1f8ea28627bbc0e2881b507f +82de8fc1a4fd8edbb842c4b314158d13f50e857b11459c6b327a9d79988f716e +c53bd57a7aa8b8cf72636750a399a014cf390025b84cad918a077641e93353de +ccff0916d3a38eb9ec8329349406da403dfe6de263b3fcd64ab8302de5f8311e +1bf0c82f273dcee0abf0fdf1b7e9ba56258344499e01ce9bc64bb39b114432ad +0a073a49aced5c1565a4260de577d54e66faf7a25e314fe187e71e6036df0166 +aee19ab0c0f17cef521c6b343e313b7d061c784b796ecde5525364901ac92a69 +9a0be0b1736203a4097182cb3eda67c4ab278d318cb505db11bbc87cd7ee0a0d +8fa13d5ee0be00d03ecbde7d97eac4bc75c94b46bb1ace9e44261b8f8a592198 +f9602227c06dd68cc227375aee4a18d15ac1ae5f2e7afa89a0c10a916bb9704d +c9ae1e1487f435db4721e0e878c166d428e0d994a73e22dcda3dcf7fa1c726bd +33c0a2f2e61c528ecd89d78892ce9880b2b2c9c568795cec45aabcc5d3ca6836 +d7f18cc57705048e484a91f02a1c6582bc7fefe6ae2d3c0ba391da4ce7b4082a +4f851ada61b157e424271ea88e2e2a7e3ca022753d103ca3ecda78d65b7f33b5 +f65fff1e547a95008cbb1069c2a9ca3f1e8d5cd06a3791a783d5710dd3a2bf45 +1739b6fc37c0b1ff7956d367cd4ec1865068d068364563cb3031ceed51989b77 +161c3fc9267aab57d0e3ef202e4be4fa5ce74b2a215dbacc6b2bdd41e065285c +10af1569b61d0f0a39195b323b910c9e96cfaa173804d44adf39143652d5e64b +2acdae6883e2069232d999d27e9fada2e9ef4d1c6b96d4b8e6053665e7e527d4 +68bd7a83390c70bb3dd73b96d517bcb24c5210669507144ed49ccf20d9685696 +ac300384506f8fb34e5151604f3fdeb47e82bb631c42dbffa851ce01092e8bfa +67e418bca43abe2b9b646cf959af0623d7e19c82c40e50a8f4e2efab94c04084 +852361f4056c6ab42ac9a588128544028c3c4f9f2de2089869aa240698b3276a +10032049fc4a1633d4dd7702f596bd3267fa8c4862b88e6ae21c5f5b13ebcdeb +e59e2b8443ee59ef027a2de9bad3151e7dd59581b991b6f86d0dfeffd5bf2e91 +887b1fcb8d8b0cd6e9066588f7f02cb7777cc070004737a24364f993a1e9bcb0 +fad861eabf3747fa629b72018a2dfc17c29894dae3f496ffd0fa11321938222c +fd9dcc787c782c95c0085d3573c32e90bcd9b7f40efba4138a26286845a5b992 +613bdc8fb07662d52b01d771b03329e94408feea1dd31b9d29f3f14a5e93a5e8 +5e35b2505a0675b0d80f8ed5b726076765a2609eb25466507c97bd200e29f988 +c18c94379764be35369fcc1a9aa08d141973a33af367398e3250712153d082ce +cb6a1bbc56180f55b99c3d979a2553e52849153029f30dfe86d1bd1b72d7e1bc +9848c0145f4ccfe1ebf7ef48b85505c71cbe584f6d001bf1310f51ae315478aa +45ddad248a875fd6588823d483b2425bbd3df516064665cab2d1fd7918916776 +8a79099b4fe239fc338b93eeef026db890c5f2344a87876a56fb8475541b5f3f +f87eada7eaaaa6f15728c058a6a510990aee9c82cb5bfbc86274dbe1c62c43cd +e042400665b34b1ada889f40c71028857b2a800a0c3446ba53eb4b33cc22ef3e +8ff1acb6017e67ac5958dca7c336f5eae73fc79e4c9d4e83e9e31b81c7069af4 +316cc3f1843bb4d8a86c1b64ae5882f3437ff3a3ddd126cf13b66593dda3757b +0cfbc0dcba28f02ffdbddba82d58d2cb74ecb9f410c989e0e216a16fe0ff291a +0d7d46635fa780ff107d3d54c5e01fa866132e5c6cc2ce37874a04cf6b980f45 +389f0febb4ac067f31ef51f18f7b8c40f988bbfaf20d9c76b26736eb73293784 +9bbc22210ed0eef68f9d5660f2fa98531668a6ad9f0cf9163cf4d01920428037 +032d7fb7f625561511ff322e508f558ebaab877ae75af7c70ce92a41ba163ec7 +8c0f820b763a408eeb3f315e76715614db10818e6107296ca9ecf1376e0bb5f0 +21538e410ab05f40ae71e7f8f5f9504ab7eb8d9eb75d7969ce1069fab55ef8df +ad3146e99590a2178f1c6621984070bcb18f16fd8f8dc8adeda9ac3126403f5f +ef75226bf78a47eb300d56932c20de486b311c668c566cb1227744d0c77593c5 +dbffb4083d710f7344bb4923c39b8ecf375bd2fe7db162151b78f90a836a8f97 +43e16773929ded333b3397875a0dd78824d1428145213d1c36e1ec0a9b3b5da8 +1dd17175bf95c92e3c94812cb18fd213d33399138a8727f97c04f509d90bd238 +9947b0a318e2c124dccfd837926a983e75b171ebd7c51836fde9eab589490bf2 +2c323209a9bc2200c93a0f6ef5a955d9e554c493feaae35f59f58f92d6e5bcef +3330fc3fd18184c73dcab9708b86462af71733ec25735e725441f0c60e5218d5 +c6f81dd53df7127d3f42dc086b851301ac12b5dbb62640f5ee2c789414fe7372 +6b8012059b5d5d452645d530588f5d56d49de17c5142811cf1c018c950cf6168 +6f1bc25eb90d90cfbd4907ab819293dc308a4534f3d96ba371ccbd69b7eba2a7 +912c74015bd1f9d591909bc89d2b5a18e9cafb94b6a933d124fe9f23e4e206f0 +b2f912cfd850bd9f2241476617e422f7b0a23b2ef4d252d194ef0a5955b0d1ad +07fdd9b8060157f4e5f70102608b49558a049ebfdc7f1e440046e2576c286d7f +9b0302e66dbddaeca264b0c76a1c7d5623d74501d52368d3fdf5a5385bc9c2f3 +1e138d11473637b5d709aeda39b929019c5a9045f08f033f180871a4efe28049 +6e44f0e47242ea584327d28c8b5df1d27b55ec763bc4ed21620c00e48c87f821 +98f58c54721946022dc721571ea56d2cadae561b6e0342d90da037ea59f5490a +89a7237d7693ed06e7de0b915e39265fa960d1fd63aacd44354a1f074bfdbfa1 +89579cee9c5e1b681283711576e0da93f45ef8fdfc6aa3f1c76f5bf0d3a745c0 +901f7bf3af7757ccee7ff8e8aba6c921730b1a048005cd37627ae36cf66ea398 +8d032c87c60efa29c1a70c225c5a62f7f94b963c42770a8eb3c4f78d1ceb8195 +ed8a4ac3372e718fd8fabafcfc9d65576e284e257a679ad56dbfa8d165ccf1d9 +4d6cc68aa9d391c24cf06194ff66822089153f9ef77de9b63bca0c05785252fe +5b5ba7038692602bb8eea3f9ed9f51f6350a1bcf45b5a19ddf79e41d3a1719a6 +75e539c4708067fb4515e41c5fa12b59ee39c288f25aea40b713adbbf832450e +ffcc36f837a6f62119e74ccffe60c2d0c1aac2c26872d35bb99cde9efec166f9 +2ae7579be3a972046372898343ce8dae0a0de3276c182d25896bdcfd578119ad +c8b8d9fac64929e8e350be397b34a02027fd040170c183a71454419dc7061759 +4f83ce2cf137e277b4e222eff5c20c031c70b2824239c753d53152fba0aee6b3 +71f438adc86d941ebef0b20f856ffce6e47a757ff94ad406b0b01cd493dc7117 +7d4b01c9b26c5a443b04ae5dab07b02fad4d39033d02eab89847eb84291cb9aa +70fb50e54bf9ecd24319cc98c2fb394fb23911fec80dc0cc86294714a1bc45fa +bf829a3c84f6d1279560b9218eb584ea8d0f066fbb718ba5f3946de4fcf4157f +b44ebfa718eba3a2f4d666bce59da5e9c16c23fb839e57a307e607047ac3f141 +4c0e3aa8439272367b790f0e48d26b7dfdf080b14f21b24e1d8f4f4088c84d12 +fe5616c430eeb3d01d8f7bd0a2ad86ec14dd7f1d33ecae964d4841952b343bed +0e1342ec931d1032d72b2b553b6cc139a20934a1616ae8b1bd923e8729d73071 +142a1e977380ecc2e306a1e83fa12f47d3c7159eeaf9a21f703238c578e21c93 +8d3369e2a899902070a0ac5f1df345d83fd9a9b16c12043f3ade6835c837ff7e +2ceaefe2b346e6ed0ff6e33e07661ee775730eefd22c06aa9ee61297822fb37e +0c853e9d2687154a17a36f0bd6773f0e954b5a36e1e74123cbb9333b70525435 +b1ab97e5963fd97333fc91a3345de4e293c61ce91f85edaa6d7a9e595421ced7 +1d9d92c2b455d7ad5c319485705102e6dce6679846ca08ce2d513f731a9424f5 +a972e208dbb1ef213044ba7a95f42b85bf95b8596ae9b34783ca50b316668cf8 +96af9bc1e36d0f2f8da7517c72eb8c6df8714e1029c4f3778d6b1cc14d25e767 +5173a678cc11dec825ca3959fcd3250cd49514fc085afafb3f328b844cc1ef54 +20fa4650f154b5d5a13936a0dcebcade7ce08262395a0669d70c97cc9e7a633e +67ea4d5e1442a460ba734efe47006a8649d6b937cd328c93b8c60578a6eb9418 +e568c5f1f7f40ab1261c21b24be86b5f91c23e6ff04d4c409bdd125d5f8b4c9d +244401c5bda954df82f45e757e4fc41290043ddf7626e6db4905613aa9211918 +7a2057e4585cfb06894ebb36cdf8a9ee8ce80ae01f91ca4a8bf58c23c6efd2d9 +0923e954464052e5548dd1c2adc3086c5ce99639999bc190af99a1932a2d573f +7f8543e2334fce16d64336a82e65b6fb24cb61c4bf109cdc82a6b3cd1c7f2774 +f11d8901dbd8757be8acd02d8408d79ebf94fbc3deda82180450b2d331696bfe +30515d6911749fc31e2f8044e1092ffe73244ff9501393aaed350e9dce07493a +c3d93ef6c898c707db3d1d533a7795b9eede2849772adfa9136817a3d12940f1 +e42a0e8b67265a113154852d8462e6acc3bc34957555a611931a94dc4dc6e3da +17eb5d4cf2cfaf833736c1e29303fde272055266bb2ded75461f236987485382 +de077cfa3bc576db7efcea8b99879a703f8915438c7a98f01d5b02161e75feb0 +0ee7eb405ac4a044e6e2f8e06dbbd21acb552620c8dc9cdcd0c5cea48a4d9758 +025373cf9d4acea8de7e8418412748530b496da725e1fa75a7a78cfea5a41e4c +fc400e6e59c7ba5292812d513dc15e6996a97a431ad6ab7047700f1fa25c312a +a2947c3fa06019658cd1c322fabb4ea38cdfa6fb047f50e4c805a9fb9df42cee +b09bdf0d4e9434274fce598ad8e37a158ec4eb4ff59a9d8552ee53fcbd903e3a +584f45e6d2baeb0273fe2735ef5f0d0fc0b305ba868bc03b055f58837de58d0a +3a8b2e58412a4fd61e12560a7b25065b0c9f5ddf61c36a2a259b094be5216b5f +414b2fe72e227ac67f672d59f417c19a87388e0cb7eabdae0fd846bf1f535b8e +6e669eeeaae681e442773fbdffc27eaaef5dd8c6cdf7674d55e3334b492b6f3a +208af8d159cd2aadf9a0f89f876ee37fe2a1893b45c487f412ef1a80179a001a +9efadba5fb13df4fea0d7a5e03bb2c4deaf502a3e2b33dfb238ffc5761f7304b +64003f6445588fe23d1e4d338689f444639e18bb2f56e57980d0fe2edf951064 +7aafe870ae659b615c8c7a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMTT10 +%!PS-AdobeFont-1.1: CMTT10 1.00B +%%CreationDate: 1992 Apr 26 10:42:42 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +end readonly def +/FontName /CMTT10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 33 /exclam put +dup 38 /ampersand put +dup 40 /parenleft put +dup 41 /parenright put +dup 42 /asterisk put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 58 /colon put +dup 59 /semicolon put +dup 60 /less put +dup 61 /equal put +dup 62 /greater put +dup 63 /question put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 77 /M put +dup 81 /Q put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 95 /underscore put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 124 /bar put +dup 125 /braceright put +readonly def +/FontBBox{-4 -235 731 800}readonly def +/UniqueXX 5000832 def +currentdict end +currentfile eexec +8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 +97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc +8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 +b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 +50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e +784c6bf7389803d9450b0c21756a017306462c563d51ecefaacd079732f12c29 +315e4b9623a5752c6f1d8145869e120d910b2644887cea7e30b15676a92537c2 +9d3aa80dc30082aba94b40990b82fb1a877e805e0c8c48f61e9f2edac05b944e +e4d8084ec1d5cc517aaeec5b3ea379dd011eeb454cecab3ad2443c887c582789 +72355673e503affe0394fc7db31de364e4f56c24033c7df2265c56445ec63a1d +5695a6041ea1b94407e1cdb7c5635603a4fd047e6edcaeb2d0da6c9e0e9396d5 +1a4a58e8fdc1578730f992435560a6e2d3e3687703ee2f78f5896389ac8470bc +806169eb01762e89b6dc9adf857ead656620e2589aae722c37a2ed7a2941c360 +b067ee34d8d5ca3bf68db725614d936bcb207781f4d4ec2ac67b13a5ad161f3f +059add7b5e3d904831e31c20c04546fae83ca93a35989e65c201756888f727b9 +7e5313c9870ec96e4cec3901ea03a5c744754485e7d169bbc98bf872d0796e18 +9d43b712950c3786257d8be06ab6080b9d9392313298327549a8a41c00a2cea3 +690b4a333e45aa815a64facae1c2b44640860b8b8687afbefdbd5b4a541a7251 +4ee7d3e0752af3e96a88c95d31fa16d34ba2f02fdb0088b165844f02611c734a +dbcc2037bf741fdea7e8bcdc130c70c33772f777d8bcddf4611db99001ccff14 +d7af2bb05defc3480bdab312a0eff2f375afb4e0df2f803c594b7c93f71ca4af +861ae1711932fef19bfe2f9b7adb69d68e5a70ea4d1a3d5bd85231b16993f65e +fb37a0a823f0542f8c2340a073dc1be4a8347f9d3068a6435cd8278b0db1809e +8af9664c2c989b9f16873c009449b6284b85da4dee11c96a05ba83292f0edbd9 +2cf674aad6ac1a5ff966ffc37e88a66048deed053565b55ef6bdb8c2f2f67832 +f8939a32442ea54f13d003494d6350a2864b427a9126a9c26a031909fe53fa84 +63b80c3ffd536c9a5dd29ceb03148dbc24c0033aea2a574a8c8d945fe4b2a75f +bfeb92e03e5c29f9fe0ade45bd289affbe6de29b95bdca1b14cfb1029e83ce14 +30e04503100dae953b01334479ddc3994823f4b5af856c2573169189b3b77193 +636afd0a7ef8102205c0ef082d34ef6182bfcc89750be59de2ecb291b918d72e +06263e4c8aaac685287c997908cbabef64b2604179ce6cc65b05cf6ff8cbb6e3 +57689d43672ad21c31052a01e8df852eb3e9f5771a2e4e976b51492f47aa2f4d +d71b8e53cde9f398eeb841ca03ce3c20a6452581ef985eb6f91c9a719f3244b5 +ebccf59e740a455f3e1fbf3f8a852b93e620a36eea4487d17cbf625c2b7e2cdb +4d8504b06fbbfe867bf9fa467927769b39176c24dc5d40e28ca54a2a2999656b +ed420923bdd64ba1409806066da78637eb81cab9a140ae4422cb00ad9543a3ad +beea8d4c01a43b0115961fbcefdcb4c22a238466b1f38ecf9f6eac0e72db1021 +32b781408b2de8ed88e9971be38d24937f6c111653c5daadf58b414da78f6251 +6fd3a4b5f6bd21529b55d4fe7620fd2d8d13a7e8604ada78c2c287087a40af79 +5092eadcda6a502dddd06c3d592ea3a752fc60e6b246fc9098cad8c2bd614ea7 +4351e0a5ec9721969b52302327f3f4a2c199db96eb724cff99d86a4af59ff5cd +15345cc94ceb500b32884427525fbdaefaab12cd7239da224e4234dee5188396 +2192fdfe6935a088bf012b3dd8063663aef6c5487d27affd1a8ea501f4164c66 +986b7674dbcd9fac8223c938286aaefcbad9c5d26b4e744fed12842cb23c3309 +6e1d127d6d1294bc06cc3a0469e2d15bb0c166c962d5fede747e54a18fe66be6 +650e43e1831dbd5fbf39519213291419dc442c30b835e8f0395492f7e21408dc +d4043ed3cfca51e68bce4a358b2d23e406e1ef34a294b2c41e7bb6c93b989b0b +c5ab91e6b26c68b371f71e2d895f7db1ced99485edb5f09590c37682dc064a2c +cb8c2ad1896d45fade7745fc4404d0da5ba23975382930ee860460d6b450a5b7 +8156d3ced15e7b9b50605f830a29333a7645748cfc5b17bf9bb8cfc8219d09fd +7433484674baf9d5385492cb3402cb3273ccbe121f93838a21ca03395d9772d3 +c30cce1e7c2718f9a825ee7d401fdb733fabb8c9685212fc70afb90dc296bac5 +94c52f8a08b1d1c889807f65f5ed30fdc79c167507e85d42eb5ee579f17e5461 +cf108be5a17c74c533e5929ae8d9ba34b95e4af05696d5bacfc39ae07969cd95 +23c18ddcd9097ebe6e33dd6494f3213c3f4db165174bacf6e742cf03a246bdd3 +ad60d0bc19592eff8335bc7079b3d192b4423c10ea73775681d3e9c3155f5e2a +4afe36038f1d2fceb44d2f366477c355359e6e764293b4da0ddd1eb9ccfd0033 +0ef6eac0977e873dc902d5a1be235c0a1d777841dad4731ce0e6addac0d0b8b4 +8b645099f3a482aedf8e49b735655adf0eae1d42826369be4a1de71c941f6155 +fe81b5bb7fc5c1e420ee5959cdbb338c4b47c5795183841c18acf75f6f0b7e98 +18e5ffb7a30f1e780ebf8406a247e7ee390c26a8092bfcc32a353b9b57ff9c5c +d5d7793b54ebf122fcd20a0faae7c2da9c6d67971d1e172cd75778252615c74b +51c0c113ce1cff124b8c35989d3ba1939f94f1c8e53dc2e56e757a8d775185d9 +71c3b1d75a8866667e6e117e42bc9eb224a2bdb5617e98355c8189b21b718f67 +f88c49011f6098804e4a602299ccffd8a94ad17b13786e234a5dba6db7c46bbd +d53f6415621363cd1d37477d1f39c256710afaf8e1e37ba56c784e48841cdae5 +91d3bcedcc3a87e948b99741899305ec448f6cb58616d583914e787d7df826a3 +b54a1b93d49393c658656f4fa6e51546a16ae79de1990b74d7e651f7914bc65f +4e73eef9ea372d04e3cae7b47e73b7b86d38f607a95fa2ec47fcdf365aedfd89 +59c7bd3c55835a7f7794b313b05565b627edd1538b6b6d36d42b287907139991 +2cc88c7c7825e5604e90ce776a20218efb54304e287948af136c8083aada107e +d50b24cf0cb2d37a45c4e78be8f5b5ebdf59b49c5e75b064c63fcb715652c988 +d6af0e8a221fbbae93cd8a638a4e496cd43b2879e2ee85d502ebc6eec2851d72 +ed5ddca18251a7b9b0da80e4617f6b119461bf40773a4d6aae7ec8c705bf4495 +5557ec37aee0e4622dad05bc78401c7ac15bfd9f86255507162eac66f1262ff1 +efb9d3d08dda78911ab1cbc85163f03109f01b6363bbd353ffdaabf69e4fc0a1 +9f7c5650bea97ffece85ac8f80979ada0ddfe65b78a98f42662dc48947e45287 +539ef183e0014822b99a1437a7691664e3796df1088062631d4e2bb4c467310d +7c1b1cf7a7a8342b3ed2ad460bbc70b465d7984691706eeca413b9c9ede63d66 +7d9e8627e0fe1fc0207332637365e5097b3c334abf3d8360495372d1c0d3bbb0 +547a7af6022baf5b75721db0b8a56cdfbc47c1381a34f4ebdc84c11e19a7cece +77fd340652a79d4498390455f5593d71db49b28c09c6a11cd8bdc13d4af8b377 +fc701d17d61af73b872d40aac89e4ff426cf033e9c11db747e2c7a5b19eca754 +fb0fd8c6c96ae9469d411aded314ba294867d1b350403ff9a701577441d7a92e +638df839b7b04c8430ce91c5f5cf1b0cf1b4541dc598a09216de86112548b086 +c2530169c07efe56992a60ed4e2497f68b29aab7e0f34b93e1f198478de75cb7 +01d9cef4ca847dd6e681dbcb95c8d170191e9fcae9635f334803ea8f66134353 +ab9ea1c5c2a770260ea0d0fddc8904f8ed72ef85901ba992e0116e14d07fc3fe +a0830fb392a57af8bf658b24e64d84803b3a9e6de15bf921e52bc3f8b8338129 +ef0b43527774e703c00308c0c5ef0f691e14a60fc1cfc084b3ca376229044938 +a61b48d55acf33b8aa6758026ba6072f0336173ba65ffcfa14a0654b76109c68 +b62522e8e21a282446ab955666ae6a23030767ee001a42bcb4363fbddc8beb54 +7e1d10dbf56c1ae64efda30c03a2dbd2b6880c8750a531b570e28017149a7d46 +826d9add7cc098730dcdca1b37e8d5609e8937152cd7defcec52971132ff4aa7 +34be78109fdee933aafa4cd6d68426116796ef1ae30c94d93adc62e757986d99 +fc4b07e3e47d30f2be13da1bae17a360beef8a49801eb2099bc73498e970cf03 +77a7c20696cacdac3c717c3dcf63f43e85d9806d4c172af9755654930d92a801 +4cf9b09e44059e235c7ae1ede6f0cd0e1d900093cdadc235d613b14591ed9fac +de5c2811b03fbdbbfa3b925293ab300cb6910a30c287b9aaf58d82588307c643 +e2b803d789b59290f0ffaf27dc1f721d28daa2ff71fcdd1ec10f81fedd778d28 +b847b3ca8114fa63a297eeb76c19bca3778df9cadf20ed74ff3a2191ad3780e7 +028eb830f0ba173ed16d2992216e1cba1d1f0451511423e16581862ca92a9c0b +4ae6ca1dc96a52408b4177930825da5e9dadaa2ab0b3b7cdb99258898eeeb296 +44c48e0163d1df45ab4a4cc861ac108d0487384882f558d5df2d9ee420837009 +f0ae65a8ef75bfddd493afce88aa1d8232c08b71bc50595b6805b54775b2e37a +b075a319e4d77c04365069cc5f32dc7e8d93599d9ef77a9699d1c2c0a0b5e00f +324e508e3c240998b5edde1958b7bf7b64cd4eab474e18ba70b6dd8b4ad99cb1 +350ef9449e7594ae133e160b15f84fb85db7aa5ebbfb5e11bd637a5c457d5ab0 +7ab0abb8d36f3194ccc58c8408133897df859cb06615cc1886bf1c52867c1ff6 +7a7089b9136976d9b77421179d249a20cdb51e2d1d4aca8afebd7713f178045b +04894639e532105e30cc40a33950fa55725ba217251be8f599e125219785597f +97923cd28893b41dc1000c8fa8df8abb9562950739c727018fe70fb2e6f492cc +58894d6771347ab57f34c1ff0674360b3686f51e8e16e4d498a6fa8f176cd40e +3c52039181140f10decd1aecd83dd67425fa2305b58722426922e7a62d8ab16b +28971f4652fff5a541da6a35ca36b2b81ceedac6e59f5a9cd7b17b5370ba284d +f53fd469a66ef24ee29bc44dfdb136ddda693b9b4fe42ee044f5d070c6b9199d +e21dfaccf084c507c76ccb6baca8c95cbae00c572d54e62193581ff4baa4a94d +8e257a19c2abf7b5f4fcfb60741a9dc2cd2a7efb0797bde78f1b348fbbd6309f +c30312365613ea45dbfd061400077cc1c112c40714e04b253ac3983836abe40c +71a6bfca857fd06cf214954dcebd4a04d29462bac446f7601c5c17b976f4d50b +c930e2e24f9b75e700a02e4ee5c87d222a41808fcdd2131f0cce57bcb0a6cdc1 +985375c08d69938e958ef5ce494e7edaad53fa54d292da30c819a4e22ac60e66 +8f9dc1c65b6c43e016da6a33d75c87f3b80a95cf6fc9f705e5a99e928cd3f576 +8e9d34ef286581a3d315ce142a719ac7901d578702b8d2a9a8306f25be279a9e +354dacf1e47e4385c53581d5b842180bd2321e9f8f373a145b73eeb999f6da22 +dfd25ab85ce28f9fb48c46925a5f6ab293a038b96b3724e4ea782925f9cfea2c +1e50cf68bec65ad1764e42265ce9451e00eaaf28095acd40799d59fede1ed725 +55ba65ae6745c420058539e420635dcd0a9a249530c0f2c2e61d1f75fcd8d3e2 +c0aa195bc2a6409820b4f8c2b73c9f79ceddb391780665098a47f3435031655f +704029ed3b92a0ea56b260a1147767d7b3bb1c724206de6d8cfcabc52de025f9 +0e84c0dfa06a4f72a497181b496c05c10a1b84fde32ab2ca4425cf110ca3f76f +2ea7a5faf53a860eefe9e5400df45248d0750bc2b2d38c96242c819395558255 +fa71022f72cce154355c0e69b2994f4ebb477a4f9db95d449e8473f2a0e4db43 +4795e45fae17ad46f1ca580e9371f6de778c9e82a1eeb339be6e20c41f5b1ca6 +dcdc9a611b2f7671892abeb642ff6499b52891fc64fcc90b6520017d88618d71 +09a805a9ec3be8d1a65d9b822bb3bd464d4aaa6e1d1912dfda0591aec4092c11 +004520573c20ad0ac2008dd177ae587523f435da621a8ec7b26e9a3b8bf35d08 +a7475a3307f9822e764b7a041002371a2c0c94efb7d74492b6c8fceeb8dcbd55 +4106f5f632611fddf1161533471215da6df575b80fef3bfcf2831772ee8185dc +8471478f85c118b94cabe4a589291e66d7edfdfd79c61ae5af31a0eb5ae7e96e +6ef6f3ca607a53ab02758197b021f003f645475d69ec2b3e7bd937687b7b3369 +2caa4317e0638c0c3ebc5b6708b86459820e22c56e1b91e81578b7eb0edbaf54 +615a1d08eca9919ca36a38f2c6057cdb51d42cb509d883d846a30129a2fa59e7 +f8b1974b8e073eff7e6de62317782e4faa62a45dd4def8287ba8a62b8e769833 +21b2b1a9dc2f9e574d696ef0c074592b204981dc6732f355a813175888161f1f +0e6a22388c0a40194f3223531f13bf340e4afadafe33a5823e30dccbd9be3fb3 +d1e420180f789ce44062baaacfba961aea5b207c408d34563b76eed5f33e3e0f +50086d0e065d5ee7c4fc8234860c2daf0ac703bf97b30788dd109d84a4db83ca +ab69f3f1450125990c2eda22549fabaa0b429085d8de9d40ca4f4e2865b5e12a +74a2cbe57ac8f07d0e7fd170d42f820ebf8a610e52772e4dcb210e817ac0b461 +519777b9151b4770d2d97d9a66a6e40aba0cb7291a517f5b79a8bff03ea1b183 +9b70b9a6d595e87ed2e8a6dad65840b91d58c4d2e5502875716962dd30cde125 +38fefacbc5c5bd2f332bcaac29217b70c5ba18a58796e1a920b7d5f41691d38a +3e83fbd39e9a8f67f6ebf951ea7a2b23c2901e3c80c9094ae32dccfcb53a497d +98438de3d7255f7b6cf633a58c6f85a1ec31f95c8410f61cbfa0bf7351e5f43c +c1e5c88b53a86ae66252c7a0c3fb0570c7ce839c3aa6b59d6ac3d03eca2e77fb +c0fa3e0c460c30784ab5baf996cfd283d6bbf3a41c11157fdcfa3e41b68545a0 +78509ea3b96175748c65f5391745e5393bcad99be2815d6e51571e38759bdefb +2f525b0810f541cbf2ecc878250b44ef35a9ec3beb108ca7e523556cb5c6b531 +0e43ba3ed2aae783b05eaf13abf1575d120efa6042e07a5a1eab856fed89d5d7 +5ae59898fb71945cc0cf987635ba73b6a80af4ed58f67652926c75731ff3dfe5 +d0e27501c55eb1a5a004c7545cb674ed642987a11d693efc7c264720e14d771d +f49b44c5c1714209d94b3a69b54f359e60090d5c0288b80acc8775c0089b66bf +453c4790dd93dd1550ad38aa9fb6da74ef7c6aebf33f749389433d3372e5bdcd +3fb5674e1a481a6c8b2db9eeabadb30375857b7220b017747eb63e396ed9049b +49fc0a4b4d1ff40e9f1383f907cbf2287a066bd376407eaea68e59e1dc5ff56a +0d5cf12c75b5613986b7c0840ba9695dfdf7d135aa5e75c4bcf17ac3a62ba79d +9b5bb5180274e8e1e26f6382a2c95f2c0db1914697f21b642aac6c3bf00cc2c2 +a34f2a7db4b4133068ef8e16ee8c39e92ef0cb122e040a216aad5bc871d6d04c +453e20c8e2f9baf2715b330b22c57d34aed1a309bd76d2a24cd223a04a8530df +a132bd32dd75fc94db551cdf673057a2b70b61f3fc4380866b003d6edeaa7da3 +1bc95f221600403d0cb233aa552b3c69a0fcbe1fc802758210445f3139e5ed1e +11b14b0789fa3ea6de0f3ee50c2e039c1f812ad7542820ee2adae97a92e238e7 +33cd732a277f5176d4610d903700215451e822235309edbf5b9e37f3846df85f +afe4b92ad06e5d4751ae8a8cf976e0e4d46fc222b512958d83c482798f21221a +96a9dc1de701e9e54438ba55a4dc5eb4ccf206efe8a3cf072f8b9b161c0ffd87 +c509164624562a15eec35008cb0fd5676bcd7b649dcf2715001a1e6c302cd654 +e809ff768da5fff9a3f46de8498c34087fea7d65f70827657170d25e6293b3b8 +6eb825d01dc2181c523da298d3fcfd4afaedbd33b35c80a76df1cd279c6b6f04 +6908c7bf7dbf791a68413c3c9fd2a0f61ee9c94c8817bf9d8332b059c21bfcec +b055c96aa0ec60207e76ca7160411edcc61a4c7386d53385fe6ab899e0827b1e +59075be124a25956d21adc79ffeaf0a81a74b65fad7532e6036d033005de0da5 +5d69a8f9ec183a1b003d5fc9652720f016d72ac6d65f0eb6ff4ec9f29a58c1d0 +1684a220e871b2babd7b2288d0f3732ebf71369695e776fe2b38551bc71086b1 +9c245294952185b9e7389713820a1306603d205b67004a56eda30d78a9df0445 +f509467b34115350cea6f72c020a8cc1c6db9ff07aaf234409d34149da781d3f +61ba459a2e4bf03239eb1fd6f6af118f9aac56d8828feb03da1f26ecc293f715 +f820855e45301c45e70c0fc7a33e17756af3c6828fbfe7bcc9e57d0652c36997 +e45b34e2c1f69c2ffb7baa220347cffc31f70863e86a6c39917f1c007f2d53cd +741c2bd408844798ea7389eeb68c74c656050a1cb16b4841b015673ade151529 +d7f88af9d7ab1742e453e31c41cc4bf60224e99c2acb846e3c289cfacb4f03ad +c30ad76cd18390210022cbd1fab91821b28e5306473d861af97f24db321f96c7 +c12ebb6aff8e6f7cf3376409b826de9f1295726b04276ab95f333106c3622353 +952d35cde588e2f0b7256399be37b91409b70e4ff7199a42a4dd68dfbcd0a3c0 +10a7e374b38fa6e21214834c522ba81e46fb0650c629e6f03bbbaf70efb76466 +1f849b71b1208855d40778ec7307d3485275dfcf8d4f6670957929de6a4db8c4 +bf0bf4e33daaa5db5c5da9200d448cb95f0f822757f96b7b0c5409c223c2fc0f +4e4e66c9741c9fd130616e7c4aa7c77d4e6bfb7b67f5eeb9099681cb5cb3970e +43c5268e350099030d2d9eb16f26e95e1a4d2d07b755a174c0658d7e17bee09f +ed08fefdf73f687400cdad541f4d2c42bda687f7799fe2ace66ee662094b7412 +5d7e5d168d191d06788964f3029f6829cb0c13e8999e5705ec65c4ff1a3efdfe +503beffc00486d214b5d6ee59a24c825283c9522ce88876e5f5be1f239acc55f +55bb812c38623bd4a1c15a3b89adc53832b048fe10a311f7965cfcb373366d40 +0b6474b276e7b2fb8ef89af3e5192927c80d66ea768739794b48a1a65e55200b +7eda32472b65bd4ddf4e7c70cfc1a0c5a5d604b9580fe1595eba57de5d3e172c +07e537eec376e7140f6b3a16b494246a5a5a42591cd2d971c9339930f05807d0 +9681a826ae7c5c68ef28c35fbad4360583198aab1fd8e105da7b8dd1f7c87bb6 +5b97edcc7b48ab797ce989ff7b2dadfe2cb29fc1c8900647f2d9d92e77e034ef +2e0859cec90429ad0ec54edc771c0b1dcbccedacefbbffe498fd554c25a95684 +2b12b76e7755235a831005ce3a9885306cb9396512dc1f09cf644bd551bc8cfb +643b7128a558b17755a7386285c295962037a72ef87e1dbd32715262e541f5f9 +b7d3f3ef4125f156de6ae09cc9376e0a5f5849b312573b348e05096b841b8fbf +aac8942845f67cc2530fcb1a9c5c4187e56a76f46bcabdc8312480bb2543545b +806c6948d74ed5d6738c2e13a171a583eb1455e07131ee0c9a889a5d2fec5e6b +72660378fdf2126f2cc8fcdd18da1dc687e9f9839e53f332dbfb953e72ec82e2 +c1974f1aac79a8116c11d0b50478ad3ddb14410e5d49b2fe857b4f323f5e360e +9765067fb057bc14d1576e678462766afc88dd6f5dcec4332f4ea5a021ee5726 +535f96900e250b579588a43b5bfb210c1585c8f2f261b67f7dc08a8d23e950c0 +dba521bf2300bf603aa1be04d7dccf380dc92d5a64bf3289e44fb5c8a578b39c +81b340402d996691d284d47cc548010855617eb748b5107a1d316d0cb2958399 +29f6a7f51b153792e1168bfe04f2534830c2ae59d953420aefa0cc0838dc3acc +4fd00931f97b4d92e237a633e430b6d2645fe03ac5e8cd8652e3bed7dcbb3ddb +0708618694908567d9a26d17b365d61c051a9f439d8e3a7108bb69385bc621e1 +9b142de584cd65dab71a9fdd5c74ca8f8020cbf9cc9a99b517eeb570ae679dcd +821c7beefaf8abd0dcfcf40013d067d9861f8764a149a4ab1a4dae073342720c +ede94ae7987464d8a7499093cec892bf7d549193421752ca9da3d5b8bdf616b9 +99a0c7de11cf30d77d2b114bb430efb34a2ea0e47f8f67cba7b576b432c47a04 +24be8f0734a90752345fbfc58940adaa7cee25fc7f619196fd520d3e3856a9ad +f8939e6e63d20079f67bbee3206f4a5ec0dbf5274b76008ca45e65b33987183d +ffac4113eae6a69a4a8ca21f20bc6c550aa7060e910f52dcd630a74918509d38 +d780180cbfd7d75e1cd04e433a8cd8a7a3c6828314120d7f7ea48d55c6a21b03 +a311c8d344f6fd0506d8654203afcfd61c4a0856725fa9793c4aee19c703a7b8 +eeb7bb1e475cbae39b542a556b328267f4953b5706d043388086cb76950bac3a +405c35b6ae6c286b289a0db03809deb6f32749b2308b9764e4251b1c935a4ad2 +625690f7555991e2d080e0e4755cb88ff582201ac0c874ca84af76bdaa74ba37 +2fed5da2877f1ae1fa7165e3c23c7d3347994ab74ce6f167eb004793284f1d84 +44607ed31bcf584b96a95f8329b35ca823c7774e8ba96541d7c59b42eaeab3f1 +22a292a66f1bb00d4c3f98fcd250935fb842ae3d71e503ee53d177e060be7e39 +4880b982cbc8997b03fa349548056b0b058c00983fa23bc0b0cacf05a67f0d35 +da6268cb29adac2fcd25e14879190779b75883ece69dc7e3790776ea50c8cdcf +5224d6b8c4bb0ae3f3d5be1a4607f0ccce7658af8c9fbf3a82df3c635cc340e2 +1cede24ed459cb673326ea15b278023de2daa06fc95a211c5b8a6e77c9f59464 +6a1de6ae1058339dba7dc68bc73541daaa1028f70f3a4b004bcda23d15a38262 +02acfba6158243b66c34f23cf62b39f76d0a1e8a1b34eca8302bc4ff10e00fd8 +2175fb9d65bc7bccf9cf62c974b9b1d6ed9dfbaefde1d233b556d8ad0ba98648 +ab896887b4332235e23d4171bd47dac7a158a42086bb510e98437184c1d053e9 +919f04dfc573c234ecae192de9f18d071b91448d1b155edc961192db903e9cd9 +a625b42ad3ac341107afd7d6098d3358980fa8a5fae07b5e55c26f2fbbbe0d43 +26bcc1bbb1112643f9a4679af19bc658b109e97aeca3a3ee2712879a7440c9cc +a9f327d52d97d421b457580768145a920343c308a1618ef2825198b67f6c0139 +994856cce7bc2a1d6c50de08c482f001c28d569b2fac3beda57e8dc436de14dc +24d4f987a279a69a00bfe723eceb41f20d3b51feb37ee1d55a600ad072bad704 +60a9922972d22868592836031123789171e3092108bfb04b7635f80fbf11e8ea +b0c021550e915993313d15d4335f6c828055beb1d7ceaabc6028bc13a6a04501 +cd4519bf60d58b262bf0fb34602f932374e2b2b6d5f35272887ca52b1337f23a +b45bb11d124a53a360b07a05df562df6b410db2c8e8082f3362ffc275ffd4e86 +e8b79659b871f22568c914f42325004aea280e7ea65947127d6bc9eac7804f39 +80c21af73eee20345481d1b99aedfd3a2ddac74ed8f9324810ff701ddc563419 +3707cd085d8d56c4e667dcc87184d5099576f2698874f418aeadbcfb438fdc96 +b1b9a7376c06aa8aef4478020ea79620176b82e800bb62ba4ebd794fc7263e95 +44c700fa409eeb75aaaf3ce676fc3c8c6a53bcfdae477788c32313dc5ae261c7 +3bb5ed09e54f96e8e456d78adc17bdd2e23161c834162586ebe8d718248a8395 +4695c70159c8ff278dc04bf74923ebc2fe7c4421426dc4a7cd15061fb5e9b7b0 +97fc8bbcc0d24eba72fb300a6ca95288a69d72efebc148b5f0af2a3a1c74f714 +c52767df305417c17dd42fc1d6472dbc995d168820d61f15c1f166fab3e33032 +3cb301f3cc403710e28ceead2eb4bcb73231e69a3b7c5168e2bc9948ea219792 +6040c2739b8f27702be0d7cff735d99bd2a3fec60979169c297093c5168d8dee +9ccd4710052a67f490137d56819e01f5b6fad259b8e97b4c8221ac60b309a5ed +38bda4a5e512eb3a62d33dbc87669b332f83c9d24e0fbff384f8d1784c5d96b4 +a423d4fb804741fad0aff9fcccc372bcfff830fb9cb5af0fca777c78bcbbdcd4 +979a1fea1590d3bdeb8123cb111534cf971afc9769e3a7be30eb9c45b3c03760 +159393c9b21d33ebd87d7e07054400ac358e1d110385342f3beaba3a7856b1d7 +3545cb4c0000674d60541aa5c3071974b78449b753720add9330a748a190d6e2 +5a5c522e29e1b8444dbacc886c525fa6765e05ad235cec1ecb53163c1e70d244 +b3d01ef0f8ad22a4bdb5a5fce201ad8f31c109a763cad4b9cad435624255d3b6 +567cb5a0ee78e146d86bf9d1f8e943dec16c8785c73c0f57237f361b5068ba84 +0e60c099eb88158708bb92e4a9146b5fded1952deba9dc874a28df80ef76d8ab +9e2e673a863a6d56b14da700dd8fd2dd10fbf6844fbf67fd6c5ce970723375f6 +aa21e479917a4ae40118800d85e36bb26770ab1344ea3c4cf424b685a2f310fd +f31238ff1cd4b6a1aea4b36ccedf1f807ef56a7b38bb6002f9dd1db80253c64c +700026b8433bcd1a481497171e06dceca3a627cdd0a47a96b1b03d57bc3930f0 +fac24237482cfb88303be384c514fe2b429bcffe7640ffe074b6c4a714f2b3cd +45d21c3f90bf0cef030a43297057315e477700b3af3e0e698f42b20b263f32e8 +00f34eff7083aed3b7cc610fcf9676d1e19dd76fca9d849f802cbb89eb69d644 +ee28c4eed2648b889bcdf43152a92aa3e631de76988ba8af1e7d45312c458ab3 +50334d7eb6c48cd5f5075d32942b625abae985237be5371667316b59f9af04cd +987f1ac9f810656fd0e32e411f069aa398b941810fd5cb76adf012a391e88b77 +9c71551751ba9a7c4b48ca076699d8b1363adcc1ddd7804a1332e5d13837265b +2c52abb97d1dbef6259d038ca5f5be2a1fd833252da9c3af558f07e5ddc87a17 +ec9d015e3763251c325308053e4b5a4b00b8d758cad87add1df483a2afed3b69 +348c0c24d4412faa7b2bcf4fa735f754f07f650c77ac4a35727e11d62b984d2e +ac7042a03a5b5657cb86d43549f1705beeaf7774ace9ceb6ddba9d17a82cdf41 +e2b7ef4faecc13815d9ccc2303f94d44500b4435fda9d4098e75f1ecf96e15af +d1ada67ed113133821ece3f646743a6949c683d4c9532042b234dbdf7bd4ec54 +308bafd25b0d611a24a0bc6efb028f83813ab25776d255f39239647623b3f84f +a2cfc4031e1a3fb112c01762296bdd28bebad061bfac4397e5b8f1946576f734 +40198b709742d45123f4f459f188dd3761fb3893d3928143573fedaddc29c362 +6ba3cf664873eaec3b904af89d59d637359fa1cf8d91542bf698de17756b6ca2 +605a092ce66b490b93a357f29098380ddd201d094682479eb3d4c35355d89898 +9bdbe3ea97a0dec8b2f85486a2355ad0abcb339fc5bb581aa7544da94477b8c4 +9bd9b90ac4be98afeb9ebf23c8bf43e456e54b164e800bc877c04d01548bf8c7 +ebd47fcda4c5092d66f112c5263ba68d8683bd3093b8ad41e2bd51f221a4a791 +c6983fee462bb74e05d604fb8a157212d8932a2d7b6526a70c5d7079a1998ed5 +52a65a948a094b8c48c4b525f9518577344b805cc445afb2809241e94f84f3a1 +6e4d5369daa55f49c8a9516a838000be5e1aa9da892fbf76f427188a8eb14ffb +5c457989047e7e59f45699a0414f8bdedd54ef0214b78c810271f9ce9e35d955 +977ad6ece2e0fa2f81bb868567615d48e2952f6844801d3843d419a60130f130 +ec3aac418f6b6f7279b1b2fef3f3877532ae2e2892c281f077ce6b34b11d7af7 +b0fd6a12b04dd6fd1bd720eaa5ba7833031c4f8b3cac0db53640fb5ac1b1a19d +491201a7a7cce0ca8649d2e466ed6cdb7b80ab8d79b39c7a65bf4375c120d9bb +92a4e95f8e6f167dd23d5b63fa6ff33f53f5ee9d239c1095b5382daf230b3687 +3a20fcf50c9ac92ce9af02a502d5e95a55a8008316ff6a61408bb8ddd90f168c +c4c7da2aa5114102a6f518ba17d3e476a40b025b0ccff255ba423c5877a555ab +9cd4ae8d9c329f87c1fd034df388995ef031b1350acc0b6876b51e58e4a2dd9b +62917e83102b4800f522f983c36bdb468b211c487a7de62e7b21cb510059aa7f +b1e43af1bbf828c365f7df8ad9afc1a3adae64b68e5fcc1877b9e047091f53d6 +0475f26fd3232f59ab323a644218d4cc5e558ad5790a1cfd134027f00149b8ae +847294af29dc7bb204e757eb5a7f5a7a9baac629714e7df3f13743db3dca8798 +f0898f428f644a7a6adfcc56267b50ed4268cca5ca59b344e4246e6070e71905 +e6d7156e4766013ad5905c0dfc898085e4d40a5163563090292eb4d8bc909499 +203a1f4231bcb1ccf3240cd2e112fa09964131c0f0e2ba2ecbe9e6e3170ee297 +26c3375a09269703b1819486c008e492ad0b8dc591f43fcbc41c8d76a881b35c +633a79821509c9e0d8bcf9a9b071c784b019d49f9038d13f51693629c4bf6649 +27e8d99ca2d1d9ca0f1c7f705ceb9044586bb33fbe48f5fa87846cedef53fd8f +23442daa7ddf41882af3b964a1a4e0a1e4c96b98e26f963829ab158983c6e02d +810fe3574b6a3ba31c549fec27c0703279e6a0f0c4ef +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /Delta put +dup 8 /Phi put +dup 10 /Omega put +dup 11 /ff put +dup 12 /fi put +dup 13 /fl put +dup 14 /ffi put +dup 19 /acute put +dup 34 /quotedblright put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 63 /question put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 78 /N put +dup 79 /O put +dup 83 /S put +dup 84 /T put +dup 87 /W put +dup 89 /Y put +dup 91 /bracketleft put +dup 92 /quotedblleft put +dup 93 /bracketright put +dup 94 /circumflex put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +/UniqueXX 5000793 def +currentdict end +currentfile eexec +8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 +97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc +8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 +b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 +50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e +784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de +fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 +3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 +2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 +cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e +4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 +99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 +ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b +1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a +e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af +154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e +44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 +a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e +3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 +dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 +315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 +62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 +87f907572b8354a5c3165eea7e8b2ba4e333802132f760b41a900c698eb3d273 +8bea0aaf7aae96a558f08b61aec7c7d65b2889bb7b99800cffee5ba19ac90fce +11437be1ddfcf0bca5670b543b9644a71c8726d0c1005abdb96f6e0cf7caaa31 +95017ca81519151c2c0b04f81e717c0691b63a76e9b25329ce2625b711cb7bf9 +9d23ec2bb5ec8aefb8c1a3b422ad617b3da4d49685fd44cc21a1fe5e1541163a +b3e1594601d63c7e98801d7746474377ce93f81404f3570afbd5dbfe77578605 +917ab96963987e6efc2d3f99fa56ecae6422579852567f90cc90e4ef6d6f71d1 +858270205477e221018a375ca83c572b3f972c5181d18643cecb04909d84cf76 +7174b3c0c8ec69bf1e9fdfbc0fc7ed97ec67d878ea4ddac8caa522fdc6932df7 +21b81af837a200e1d96e90a7ad7589fa917658d7a173a511db53af1848892270 +44c4603be1a5ac1893c15a21fe5979a09aed3473a98e06c98356dc01ed3f5e14 +1c3c057c3f97e2f9e8718b12bea7715a3432abe07df50291d1a395e7ba2f06ba +7cf20988904310104fa43c7a1f6d32f5fd290d4d572cdb5ab4b433bb849dd1a3 +58b292cbd5c762262751c26d8756c7a3c4e6bef14ad9a628fa2ef5c0010ee4a8 +d530f3786bd4e0af07d5587e90e19687d1a31921f975bff26ec2cf07f3efd4fc +54fd4f92f08a60ce2b3beb2dc8d81a303c8103283e6e5341eaf61191f0122624 +2a4a88caca606438a767277972e2ad7ddc9a36f43d5b2d010b30cac07a383c1f +9c18c89749e610d026f72e5ee2477286eb57b77567af9c4f20f7454a5719b0f1 +9581ebf64277e8f2ddf1ce08ee33f2a532228509a9ec0d95bec2b7beb23319d4 +236fb1446ff7df90952101435fdb0a0fe7622a6a3972afa4b2cd99b5822b1bbd +c28f623efa3532adbe2bb8f50ee214454f95d282af029d174edec357747b4d50 +b02e2f47b1e9d736f85d789b58fc9ef2951954f075ea9fe373318b67a917096d +d42424e1aa676b2a74c3884c66435e9183ba2559d85d0b6324fb4d4762451abc +740b64a53c5a631b6c07dca48a300620142a53eb735cb766d2498da48f90dbc7 +5fb27ef80da2deddcef6012b8033648f89c18a4ab69d8df089041c5d0673886d +060e54e6f2ba0562ab6d2acc623b70d9f0942e64b542e609e688dc8d8cba3069 +5a19987b0ae02ec45bbe6af8c5e84e43abaec2b7cdfe89236d857168d424319f +054dfb95e1abd2445266e279886bc60fd18a05f9c21f684d0874264d933326d9 +c88b9668da837ceb89213019d211e757edc72e2303bb2b40954f254de88622d5 +601e0bcc65d903271fbdc32bcea059e5a0c32b9545a2c6e8262eaa912df734d3 +f46bbadf4640f3957b5c01ed33616319deb18f9f602de5d6fe326269066c3273 +8e9d0f99038be34ba574ad957f6b7a197f66f06956172883849e7ccb21f271bc +4ee1c357c752886254e0bba6fc13e301986d5cad37ffbdab3069ef8417fd6d1a +69e26263688b4ca921aef70783041a8abc1c751302f0657fa596dd3724a480b0 +5c037ed88981a99e2443a38cca3fb92c18aab5f67e1228506b4f5c7e99c08a5e +e87a49811966564caea15d5602f0dd4eb1116048a7e49cc29498a240bc7e9c22 +dfbc699ee270dc8e3aa694ad439469013a0e480a061ac9569f972d5d308337e1 +d433b4f108bdd6af35febd0fec567f249265b5e3ee8868151c943e0eb606ac71 +50378e7c790f3e31b5d22d2e3a143ccdfeda4aac9fa69de57210cdea7ced9e04 +137ecfc978dcbc8fac0baba3de6602b0d0288de3526611c811453fcec09b08b0 +8fb514c6f2db0c8770a1be1be605ce5c851e195d976c33840542d446a3617299 +f99bc6929f70839cf3a27a4cc3c350832b2d9b50b7de3cfd1133c0bdb825b5ef +b75a1d7194b096f400faedb7ee15327987b28c4a1b96314ed9486755d64799c2 +d0d3ff8503970bdfc9ea099bf06d90fc88bb512e76017c4f3b2a0fed291aad8a +0f3dc32dd5f08098bc600a30e2f8c170d2c5c0794cd9ad2e01d560c1ff40eab6 +001ef931195705e5d7e8a7cd2f0741b88e3491134d9a28ce6bd5ddf4ea320b95 +4609d24b53fc2587583d6b3daf1dbaf44604d67800b05d966d3423f138eb960e +a7ceb5c3679c466bb9e59bcbe482eab715398c4e5297a239cc977b61e853694f +df75728c331dd90a43dc7acc8e752eaeef32e23d24737f6db0227f856c47d726 +fd221115551034baba90738d8a2a832754ea21b4cb437f60d5e9598dc218e2fb +695c6c789a58eaff7041bdf4fcdc37a128fd6eb9d9ebc22a755e9499f1d0d9ca +49c008600191dc9cce8783e4afaff581a986dbbec5cbd4e8da639b241cd1f0df +f70b27d91f152d4e245e9dbf7dccbf4afe8e22d838952a0a2d91642dbd27e176 +9d6d5f90b8fd9bc84b94ab8eb17b0e62cfdc0e78c9e11b294f5f1347c85f4635 +16980766d9c387f0393ff9f532146ec7ff297a7b3000eabd54893383fa030e46 +3211f8f53ab4464e045b48afb0dec9167020dfd4d1cae71ecf32608952c7c3fc +f1c3be9c6bad89dd019cca32be6efa86214ed1ffb1a6cf4dad9d8f58974028e5 +60f54d16d911ea0da2b257601085f94a642f082262d0cefaec93c2cae7b698fc +ead0044d713f1f69e6c8835f7d027a4e0cb500bca8bb7eac6801655fcccfab8d +21e48e2aa8b42f36c1bf4a39b8a8f0c7c8de17d9abad925e2999583b6fa61756 +be51150dce628dfe9d4d05e389b427f062efab63db8aedabe0a50c2dea08f095 +1784a735771e58163e1b083d3a5b8c8db80838d0031fcab2063144d554577e33 +947948cdc0e0818f99868c67c1ba5959cebfc99ca3b4e927c39c92736c54e98f +2376d88a8e495a0aba0966cc01bb3459d1a9bb16653c59da0f21e214f4e342d7 +d6b35426c09bb71ec93eabde31ff4c3d657e058386f97b5b0d7565c9c6d7e3bc +486e1086e9824cedfa80c0591e1ac4a0e46b04d1c502a8408f1b399a55f86390 +7717860dcb5e816542b37be544a7ea9f9f3712d3ff986be9961ecb9c927dd27a +3b7740a8924f572dd2059108990ee3cb5fe87b76425619e02de39966f64a32ca +26e9daacab48776a9cda828c187c9ed220e7d135468a1b35a49d53a1926e62dd +528ac0bbeaa882e334a787a1a4580b05c88d4cf648c4dc50ec7ede530916cbe6 +fce2a2ff4f03943adc5ec543268b0833c8e8c0f8d3295da127c51e7e501c3f2c +02cbc555eb744f42f625ab34a1614921258c2a73c969a076248ec549730929e4 +8d64f7a07e1a150d36ebae24476a34d5e2ec706d19a485ac61a6cb9ac628cafe +615cd14df7a10d4c0886ca0be8c7c20e2e70862b60a44e147fb1be5684a2288f +c68ae9287e6bb54ba665d4c01280ae50ebbd2d6f6f2b2716bf16ee7e6ed6775d +e810af333693469a6e99a33a9533b9b1fe61cd1f962753092a800897883684e2 +db9cd91668b608847c759b7e465373c797770bec3aa5a0cc9073e851ab2f27b3 +c59475c586a264ef263e1003ddcfd2e583fae8bff66b9ea5bcc2e517e87c3227 +1cf7882dd45fe4ab0cc4e8bf8362fa5800dfc3ef240af21753c26f9050d391d6 +b75e22998592a74b06f201429e5285eaf749de5536ccfe75e45b511dcfcd3f29 +6df14a09142477cb83bb0faa20326997551dd1b037e3f973c6b71e123003fd50 +ca395a20f6de9883ea4114fd3cb5ef3bf928e51e203732e9fac0268e740317de +17cc84c09d6e27c448c027f5424d04b67bb791dce4b40ac66a768a97db358d6f +c5c32ef9aa1ce68cd5edf9a61005731bf730783501f5c43786724f3d31513947 +04cd43cd4e4adb81edde7c01a22da6f543e55909f4195785d19abece5fe62be6 +2e7ab5c5ced8229b30c229894769c253bb656a53c8ee344d849fdfb20206bedb +2d5e5a1f3812974f61096fd4c4c87d27b43dbf116ef9c10ede96ddb84ac10819 +eea925d277814713e39984383fc7a0beea3a402360fe8fc256f21f1219793475 +aa4e71afcff1cd1d330a8eaa8c74fb829a9907e6d98a50d9f606fddbc7ffce80 +f136befacedea17d12a1472bab80f42c1dec071774c3789a4e0bb5bbbb1f4f71 +8f1948c09e86b38cb40b4936c3a6267676f101d8789389e7bd365438d1825483 +ca34a740ae7f8cd7ac27e80e559c18892c6452a1a4b4452ae8a314bd03429dad +9c67c79971a701d789d38a032e39d0abc9dd8ab09633080bd042c53d9e8e449f +89d09efc7506a1b0d448e561eac8375151f594f1a9b42f71b929ab847a600f54 +3cf0dbd3c1d1a4f39ea3b05fedc6a8d3651ed7dd56a8a54432bfb8728080d2e6 +8d0b61f00d92714a1cc2b64e2c079e09ee3cc866ba5e7ce0364eb0e22833c964 +ea40247c62f0001e8dbe66389fc10f686fb30e9f7702688e35c0c90bd1c53623 +e46f40eb0fb42c12298082c7b4b1e1457d3d76b92a99e0bf5816a10dd22e5568 +3be2d97de2945ec87c16fd9fa240e1c165f56979647b69019f4e3a1519a3a86c +25d2aab62174af62526706f6c49129733f81e5a63c0aaded9bc746f040da879c +1348f3022e5c3b39d659aa87d6e7d105b9b7029fb7e8eae4469bc478baf18859 +97cfbc70f1193c8dfce109717d9e576c6c7de2727e8056a6dbebcf91e6ccb2aa +65af48ac505a3b89f61877065d3fd79fc89bcdb0165f404afa563e81543db19e +8207fcb26fc3073d265f7c7dd74d7bc4b05a23ec3291f5203b6806c302658c61 +4b7b9b8584eeb2847c1b4b070434e3d50e040b4715d48d06182c5d1c232125ec +75b72e25bd9ecdb5f8937ae8b92938de5d30fb067e447ff388c1a08d7ef1ef83 +5d3c5ba89aa8edcf2491f41d6d1110fe31019c4adcd3967d6ffe33f1ed8d9d06 +e79aec0f3f95d4417ab16316f66fc7acc8a9082692780d7862043a00ab0689f7 +85fdaa8f4c75752b726ae4c704922f49844483807e16af019b4bd905ca8816cc +8763718ce3998c4b9f7bd5a6859333774d3f9e8d7aee946cd9d5c6c5846f0030 +44edfabf7006b4f6321f8eb833badf3690dc283623dfa7ee35bab5bc86bc46ea +beb720e13e21768e551fbde2f003ec3ff6085e54493477844525a6604d256634 +d37daa73e308e13f2f4df915b07f53638514328c6f26acf1321438a140246c4c +402f8902486d028c3549585efb9b9c58061798977a65efddbc9a4576d26e9772 +629f7ef532c7b18c51d675b84c77329b04c2a23fe0a0f4b9347b8550337127c6 +692e80e365fca46815a6e11754c466f957b7ea8d468545a0af0c1d7a1fc3135a +83096cfd0bafd397518641011e4756337c5cb7de0e94f2374f2a1cf74d596ad2 +1be06533e630efbc8e27492e4084f08e56ed8687a32c2ce5e0a01f5a8b3598f3 +dc007e8757f64d9bc7f7979a6a36b70a0702ef43ffcaea3d8446bada7f3890db +f29bbfc459808c8c97fdaaab4bfe6ce2739a2fa52d28580b343d814f3d0529cd +304011622346d4e9a7fcdded7245bd8417aba90104f24ca493eb2a7ddc6e5df4 +cdf6872f1733f22acdeeca0a660a4f74142b5466ad76747c7f558afa6b997d49 +5bda8b577d70ea0faee81b34eaed8f823ca3fc6a2984a0d207ee8a505011c6cf +806f7cf37c34b6f1920a27c97144c5b787646a41b73ece348739785b86a1c745 +a0c0475a6c6f82142c6d9e17d6b2b2a544be1738d50381b1ddf9152a393b4cbe +5cec04679897515b3e3640a775ab3501320cec975e74a52700fa70d9fafff8d1 +254109429a31f1e5674ef72186f10bbb65937d4f4a841a88459d492f21b38458 +74899b49271e52117fb01b2b4e1f4d1236db85acda95fdd60361e7f40e5854cc +f9fe9b4f2c8a3cee532bcb4bd8a933c30a21d43001907ab21dd7f193d1665c8a +29b363a9288c3a22c27d4007601a7333b584171a4c8cf62bfb3cfc6dbd691863 +4998e7eda8b657182a82624744e54b6049ff55b982fdba66dddfba783e749a4c +ba4c187458f30aa4180aec9e6970873d7fbd479bbb623f92ecee1e764d0ada70 +aaef8a65c6f0a12dcf381512a3ed2d7c1fbca9fd4c339f54e9e07751e76bc41e +076c810d371944ee53550509c36494ac0c721ddd4d4e1e56c2b28255a922f443 +eeb39be4d1d9f3093edf4f50e98ace4710b14664b012adb5bd89a434c686e4f8 +9d08835c0169cbf9208332512f5f54cebf4dea1a226900f93a59cfda627aa736 +33118fdced43b32d602dfa09e3e7dd97f962befa7d3ec4732ab665ca19269c22 +32ca37623967cab87ebc0e883786a3912e6d727ee79b57e12f7e55a82d205ce8 +c6ef96ba1e070a5eaa38864d45d9c3a0c09f0aceff82add96481708e61f49638 +c65e2e97a538c98a9c38d59deef0df54dfd473300f174e8e284c3fed1bba95d5 +6890f49e3f6474248d904ff92aa7310fb9d7ac03bf8762af4f438ad547ee149f +4bd091747e8692c58798ec4e38b0e127b7adc842aad4ffaf8b516491880643db +f61bda9628a5b12a9352d2bf0ab476bd551ff2df950ac860d01e56beccced7fb +89e299a7d14bbaad3986e32599c71cf3152518e8f7227d09349119f21a02388f +3937e7e7b59c9256865ac867cf6281c08860b5e1a759bb2f5ef45ce8af4e1a44 +ab231b1580d31e740485c269a43e958293386b6620ca3d3a1bde0dd59c5b7009 +b4cd0e307323acd1f3bdfb34f1b064084eab7ade9a97a64f80bd0330708f993e +5f1cfe25af6736172d974f060effe7450f48112fe515af2e48506dc426fe3ee5 +deee30e475bc8077de4f409beb2449080c32e0f4aa67fe891f05e28ccfaca02e +7cdd24cafe6fa5c5103c3875c69177d3fda49a3734f56ec1bbc5876854f80d4c +24583fa83e423f362c1aaf15376ad679fe115ad7b2405958f7d75fe431574a71 +3c0645148e3f5058ca1e2a01480f05a0072e74a7e00e789f7a4e73d9d7a6ca31 +97d549a590ffa592f689aa8f78e5794ada22465fd28fb1f85b2b9e8aebff4478 +515c7a0ee09cee08f5a000e35cbc09aaba9120f68d0d13ab4c6e2ca137c8eeaa +8797a1500a046eff4b5225c2dcc1a0aece46d4462dc69c0a162425d2ee38e7b5 +d8d0714983a94bef8990267b7e6e4ec61ae03092d3731c96e7de891109b61c1b +e5e2fe6357aa63ccb881a27b3e4e7c4729cb9ff7daa426c51ca11c0460f41e7c +adcbab982a9ca4080a62e8fa0486ce7851dbb49b994d6763ce9b7c6f165ce6ea +0a41ce3dd71e1d9fa393fe69c16de92c952b9f8989cc7a7d1f67d968a29d1f4d +b5733a3e10bfc89e243e21915220813451969593eb43b00888bf791c0aba7666 +dae91c65a93b8b8cbac730a3ba7ac5c8be74a6b40f6eb7193b68c1a662434f2c +d6752d8f4e3dfb94f0d74e8e8d4a32880670141dcf5788b8e5ecb6390097b9f0 +dd13e0fdd3cf92e6c9537c927e0f14ea023207a38040a85897939f8616b6db16 +699c46e7fa915cc0f953e6cfe0a6ae224d99e360cf92657009aabcd521bbd7f4 +9907623df385245546ac1aaa54c15438ccc278a2f1b4d542ac2105881f990d67 +a9c17ac10cd1a3734572920d2fbe94305f338a3189b6a33cb226ce1faa107058 +cf2923530ed6ec6b39da94de955f1779f480739c120cdadfd91b62a3d8f132bf +f9fe42f0c0dbfe83003c4f99872e0ab6bcae9696167fcf36a5c915697944e758 +e74e6980da0c6cfe3572c27bbd2f6dcabf51a7d186085a941286d81c1e0c0a64 +23a287e8ecd11e3618da7a668dcfe8c857bf66cf5ff866517ada4f2fe6b2ae30 +62ace29fb869cb803a8c04149be3157ebadf810d30d223741bf2e464889fc55b +768322c47a32219645be960d30cd017ad32440ff572d5b6fa13130e448a47e1f +1a1484a3bb1672aa597f4a3c1056018df3d9382dcac8703f18918a7c513bf42a +78acadfb1b49e2f6273dbfcb51d06fe631680de7eecbf2b8ef014d720a4da7e6 +c4a3921794f63e402c36d77fe5ba1cc960ac2959ae8e4486e0f2f33630f641c4 +7790b7b689f60775f3eaba5d626b64444751d464a7b88fe5521ce190f5e31ead +181b5b58ced29c6a2426ac4470130f40576d6da2f8c773cd34fa701843dd5afc +10561a36404b38b3723adab28205fb5222e86f56fc1980cd966dbd72759603ed +4e13b12f33ac167ab07e9c9800b5233acf0c2f567dd1581031232b090cad9640 +e98585a183eb9d6baebcd1a41d892c5094d4111c6a9f25fbea8002c5c753bd9d +04b871bbd040d59e8750dd5c55e196c57457ea5f9419ea5a24357ce7d92fb76f +38a1733a46e3fb78402041caef0f08e487e356641568ec1ecc6bd9426ca5986f +af9b3a6e4549cbbb5c862e95fe776f211e8e0ecd7bef5dafea96c0a7eaa1de0c +0e0b4563e6cad7533ee0bb48221b9a2f1d28452e3b95e5a2b6fe3c988f91a840 +af705a3912ecf67c19b4c70b77d6594e0396a694cb18e3985872e804bcd0199f +cd6363551578b3e1f8662d0cc4757a2132ea6c0f2fb3c7dd583bd96d37cb77a7 +fb7620d06fba720dcbc7f941f72cbefdbb60b00a533ad2b33ff4a93001dfd876 +510e3dfd5c13ca50b460abdf9f2e62e3f905311fed6075b69857fb6c4375d9bc +9c7ad3c09b68131600f08c7b65291425ef2860d5342d5b848246db9b566d0f79 +d55c79b7e2050c55f4a4c324d1f90bb612c66cf6dba2ef84964430caf49b3a22 +6f69eda213ab844ba63caa2193801bc69791d9f96b6b341bcd22f90b2479564e +334bafab111cab39e2b642f40e68142cc117c9c3101107e9f57b0779776ade8e +64c5b63bbd8417a51887eecded57c88757b03b2d8c7ff443cb7c928f1593a304 +63028099104ac1843fab7a6ae7f766bf98eb2d25cdfdf5849e91456ac3cfd3d7 +ce7377f5470d6730e7c7f8e704b21ce4ccff7552f5789ab3076e43d84bb0c80c +44eda42bba72d6fe2369097949b4d13d3077149af5ddf5292ed311400ec60624 +abad78a00857e69f9464523ab1791493f62000081a56e2de70e90ea0f21ff005 +b14bbf10a43ef2145e21296bb56689cc3ae5542b364001a1523db41ca5b62687 +95a10ad583d933b5974ad6ab632c79c632e3c59a16142705c8368460faaba9f4 +420071c50a54ef544414dfb71284db6fe4422dfa0df97dc33c9929acaa229d5a +ce4ba10658d4cc1e6ea26b4f6ec5febd8ab50a6a18df75275407fdf3b31a84b7 +bee9de120e81b1744fb9152ddad1335292a1614a6e70dd33cf9ddc306c60a36c +c5e1bcb3c3b7685eb5e4d7580273239ceaa84adf57ce1b36d3d7baacf1d58d9e +4a3925d3b1c2f4af856eed3d237f708993b8f040ef00da03c80f71f1c93f7d2b +f4248dad2a8a4bba75070b3414be02abcdf60f2f73e055541c1421a154c1dd8c +cc6fd9c8cd920555137835690111d8b2ffee1bdff793d1bf13923518f170295d +c52ac34170ffe825564967902a48ed232ca6e1058585b0ffd48b2a540abf3297 +e6738c776100195569fd7a1ee8f99226715aa63950aa8c9e58137faaf049612e +7dce103f313652c105826fde10e7f3037c3dfda674912c2bd196924f76df04ba +9400e2b7461e89cf080f76f1f3ffd2b97c11bed972082fe39ac214fc8fd9d893 +c14fef3a2be39537de1128d095feea28d8ca06f23053531d39990febd12746da +b702467999e01bda59185a9adcd63f2decdfeadbcddff01eb23d61cbe1fe216c +5ed66953877f5a9fcb924ec7ca78315748a59deee67983f4a609c6b1ab229ffd +2d1ba3aec6845720695619be40abfc84d27b8d6e5ad0d99186c7751932ebda32 +940f9e644e64959076268deb307e4b7ac71ed9b0c31729c5fc6e0c322ab54af2 +59a99d3c77ddcfff33e22b2c5aba398b7ee54aa3e3ef0ddded70dcec4fbd573b +52a04f0fdf725fde3ac6be96694869974cd4abba8207dc2ba441d24394ca7352 +56dc9ce701e6dd846f2c3f5438a9421fbe734ece254bf01a9d194e38e99389db +8b8ac9fdf2937769221483efb16b926891f770adb8f14c8eb08b66470e10def6 +b603a7c6ff985ef6b4d5e70db8f35ef81606665ac243176e1403a87c14f1077e +9c5f4b9613c0b1ee375779e0b4afafba1837891921a2e0014a153e7dcf384096 +0ddcd16b47917abf6afea23f3995f92d14dd3ea8c2374affa9b8bae577a8f1ed +c609e6f439950d1812a704017a837fefe028bef8f4ca25239e80a9f9f56a7a68 +d2e709b84458a1be684068f500c1ddbd91068238d6d81bd87152e601cdd6d9f4 +d0e2d8fa8ad851ada277b9b75696d85518a5c05406c4ea28cb9224f4ca07a6d0 +861223396d0e8a672437aa404d1cd3f6492283bd5396ce249aae86e4b36179a7 +0bcd800625d9787f30f73b5b77fe0a89757dea0723c177544a081a4612e9869b +58b925e25f90790f0970a9a7d8085f8e5f665d26651ea0f8a7e59377536f9039 +b798e1300768d283301bc144646b6cab6908a6b3e6893ff31fdd36682a3ba11a +25e266a179286413aa0c05ae9f6edb5a7708d5f015eeab9cc2a2029689783367 +790e79989d17ce431ea33c7c6e3dd1ab2f49a7b014fd8190f0f61bd7303d1583 +a850543d9c0f766f00989d82e3e3eb90d3ae0048a743d1d95fc2828d16786d72 +ae0b08f3a6b9e4c886bc569a71e6b0d7b71d99406d12cdcad7d0ac8e722b2e8b +3cb4e91814c89d0a23784b48ce33902b1013f701c06bfd431bcf8fbcab428b7e +47baa21e77db69547504d5cd4ad8ca68f6735f75c6007e0a28a56935924a4360 +8a693822857e5e63138fa6f62f5d7213515f503b507c9e9d0bb74225893840d9 +efd0d205c007cca7aef6e26103bd713a790ea0b732fac802a2ed9c8e93ed4687 +193c70e80ef98e91069d20f966b6923aeb0fb2611ad6209d058597095c13d30f +e4853808c77ac63f9cad98f060248fbbcc341054542cca09b6ee574c03e46f27 +50f58ac2870af9643735162cd9c8ca92b34b06151efa7fa20dfd65943af9c0ce +93feed224469c7ca8f5019719678e1090f1accb24a506d50c85e96c80c17a3b9 +2f4138b25424da0b47fe69bd87651e0ede08a552d4b561b936654d0e0715ae98 +d21dbc03e82c784c0a05be9b8152a01e4908fa1192234db3fe8528f38fc436ec +1065fc4000a34d86b06b46d77f8e20fd7abdf2c83797828f4cc7bb6b03a26695 +6f09888fb45e088ad2627e2a8c16600ca022da2d217d4fc84239e0c34d9bc904 +9fa7bdb49b7f2f8516e2b0d14ac6931a5b1c80daf47cb787191833a434950b20 +7f30d7aa23c0a59b2b29b8ef5b8c078df0da796720c684e313a5392c9a0beb92 +1a24c094447dcac8cfe9a33bfa473dcd5c6cf94a59afef957406da114fb248d1 +d81d603413ae224de104081891d6f3e006aec17e09b96d3f2bd5f716edb5a630 +806b15379febac723dd889b850ca28b56bd19fe23106c7da95cee26a87feab90 +d7ebf3bccce37c464757fe7b8b64b7b4e3634f9ca658c762780e7b2c57d3757c +0eb14ea621c15ad3ad018a2b993ef65189aa2a89702d5e3b4236e502cea8eda6 +795115274c745e87256e2ecced919b7e582dbf8c0115cae9ce8361a771dcb82e +78fa222875762ccfbe9ccd78ee0999c4a6b6de22506fd878265432f9f533a069 +1028988011964ff7bf5fcf6bbaec121f77594ad8030f88e2cddf8d73904413d7 +1d3e4c5facd19418f866512df9755b5204c3abfaaca69ff92d075a81c2fe299b +bc8e5254f1a4bf96dbc2aa3e50c53b93344cf7556fd7427b6f7244cb78679157 +287d9ba441c243e4ef4b0ad36c2712c1868ad585d40f6dc0d136d46630b90584 +cec60c100bd93efbd82b0124905000993f1c5bc71031446da0bb1e9d8637b942 +0c98e16a5f755560d7682a46e42513a232d0d1fe1fba77c9ae23eb629d43fcd0 +b1b9c0cfdab678e793d85f0482254acecce4ad807df3c78f5d7cde6c019753bf +25321ec2005c287e2fda0f13d19e136d98a8c6fc5559704941170a372615dc60 +8d6514e4523cb4c89943699b733b0d8e1eec7c0e1dabadebd3d26cdb3e6e3b8d +e22509e1337ba480131137daccbe5c7eb0cfdd1d7deebfa378cfd3f958d92700 +2dbae1e3ebb67da61b74352e5ce25d44ee86e0e05a350e10c322006d2bcdc6f9 +cddc111063b9e32f713f75c0e4131c3f0ec7a7756bc6aca09adb5f2600ee4be1 +6baf2ca4943fdba744ef0e25199907aec67c08429a75f47fed8ea4e347d30406 +bd8262e86ea3b2bda3946b47d43aa0ded683e51f10bd89798114324ce0d36d78 +f7d57a1a4f5eab9eed5371eb688ab14e601149dcb7c81e97414fbd18985c6db6 +c4e1d6c830663cb5361ae808dbfad9a799f1aeef5d3931a4461f5fea80c7f1bd +941247993773007a04b80d1b742754ff1baf845a59aaf397404576d9914bba74 +14d3680b220697a80876648f03cb05dc289410c263e71033f1fb136b899e1ca2 +1ff0f75d78d869e43953b1f48b6feaa8dd9c996d025de3f8e920a601b229f242 +bf1e2dc7c3ccb09609bd6c07dd29f6c4e43467b6a24897c49fc30d9d40d6251b +5db00a27ac9e3ba31f0674350b0f15a056b151ac22bae56a91767969f6f3eda3 +cd45946a2aa86f594f8e5b3ce08095af6b7e7094e3d8523fe518660a2433da0f +7b64f687c1803c2f2b9103a4e2898160a954b87a068a6aaa35304771e466e539 +c4a8319310805881e7ffaa319182cd40d9fd98ac7d3f2046080070c505acf070 +d6836b1d6ea48c5cb5d2be8c73f8eaf46fd0d07dec52a96f0a60aaa1eb393799 +b41a5b9d683093d30897ec93537893e7f15ab7086f871bd8593b953dc9492b94 +8a51904ca999bc890bbe92c8cb927aa7321b027086c72bb6d2fc1cb6bdcdb216 +3de7bcebdacdbeed306b0611ecc170712adc01925ca2dd77cbe9d9a3c6a75a5b +1486e3c736bae26438dcaf9b70819b0ecf90441ec57e6fa7c0d4e5d8df318b42 +de4c4004ba7249649d4b74e5823670ba18dda9f44593c1a941fceb5f8c8b80aa +4db4a8bf5451b915e1098328ede089f626f8df6445c5057e9b7549b0fd5e2244 +32787f9fc2df42cae9a3d63af3c9c3919f2d49fb278d0af1612d4fc29b89816e +fd2241bcafef8fee74fcbcb324ef593a2f3df28647d31ae106fe8f844e3344f1 +d731e6de21166fa3fcfdf67fe4395ff214035e21e160c73f1802b68fcb5c8418 +651bfcebf502a3fd68cd49af9ef85d4720026244d76ca085f7db8551659eae38 +8e023c33e20c5837b30220b823178e721d8637a7cda8a4daca9dc5b2e7966568 +bd239ade15729b823f2cc4504b5c5971c82cfb7981a67cfb04befb9a785b2662 +d59f12d909388cc2bdb32b6205f619644c06aa9d15944843084e3d26c6a3855e +c7ea537fc70cab978545be18dad23fb231ba6e9c94f418550fae668e0397cd38 +913608cb2e273034cf9315eea33b6cb9b3d2313edc6108b24fe84b370babbf28 +102eb92b2dc6abd1a7793f5168153459636a9d7ba34de9d4ad1f5f443e016799 +9f3c08e30731e6fc8ddb830d6c883e84cd88be9be6ed1c6c2ca2abb859bc5239 +3e4cd913e165c8494b622763e3c98956065497111804034094e426585597618f +377c4787782d96c17397d0161f9c9ad786fc0494ff66c382ec06b67042874d7a +1a3fac936e74e7a23266451f45a007805f2a7e006c921ee45f8150c48360b167 +f6cd447a4c64cd292c38cc7f8f9e4f2777331122e53e4394eba63f0b6dba76ae +6099f16377e1fb7c20d090fbc96530db5a4f1c85bfde805809de1539a049635f +67db71db139500642abf08c8fdbed3e580f08ee07efa1e65f266c02e6071062c +7d71481d44682bc2409884f072f4df7f213bf4ae2917fd01bd44dc0c4838b11b +6edc242e4b29a9eff5381c348ec2a43284514fd6c0c74447ab6f507d5f15b7df +d75da2979228e21e893fd048e2ff74810314399be42edffc133666ab4a198bc9 +54c43faa1608b30cfd16b80766522bba0b9eaead4c7fc78a3fea34bf9c4e7c86 +8165bb285caf76f517ad73210e40942985e6aa8ed9ab2a807d672eba28482fdc +772a4ce9c0e089e3635c7cc2cc3e7ba917855f22931b20e64966c8e5a05c7a1d +622a0db3f46e6dcc450ec2307866d5161d90057357b7c4901a06e17b676cca13 +3a5f03e5f4dfcf88cfbbc8dcdb3f082f45738ffe9b945e5d5a24d7c83d241d83 +e6ce0f8d6e2ddaec5c3c8bc4e2bb5fde73b0df392b0a558337a444af1938e394 +057d0d8dab8957643cd51fc771dbc25090cefb656a4d8bc3cb50db3fd73a3f98 +774f6e400363bef02ff40f5c5e01269291e734ec9f48b9de31ce52a0a13d5004 +c46048f354aeeb0c5043da6b741fbb31df61826c99f788c1923a3d8729fee351 +185fd0e451e66aab88193f6fa0f62f915f147e06ed9b2fbb719d20570c00088c +42a5482774f25d5fa87e1b4958de97a97c4c107ea5ad6b7196c565e75b0a21aa +1fb06250d80dd99bc74bf099659f5e18b09d151bbcaf12da91c796151450804c +bcfacf4df761c1ec3fcd0a5f5f18f76d2392be6c7e2ebfbd8bc74d0b9715f92a +07f39d6bad9404faa4ef401325966717e05d8e9f81f61eff39f52a10f2bdca55 +633967076fafac89f1ac71419a868b8870532a29a10bb5997899e1bff54b6a0e +f6a4b4992ff286a30105b76a6ec1e01fee2a5fb710332657b68c9a9c04a931b6 +f19ee576da7c07c6a26a60043c48db2f4f181fa7f2c61a15dd0ff8b6844428a4 +024d690d8594c8d55ac5e7194280a06fd45e8a3604d316b9d94934fafed77bb3 +4d1a8a5a7c0074f6bec5f2698cc345bf7f41d65f74987c16edab9f856f156e49 +20282e77d2da027361aacc3fc9b00b054ca46ec3ceabe2d79cd506761941e9d7 +ae6132ecaf19443acecdecda81d7645980a92445a745bad81f23d54ab61a6755 +4246a9e4b500478e3e033f9020ac3a663ba59d1a15f2ee86c714440aa4f78149 +5174c776c560120ab417ba580ce6249d3afff64f6531d682665a8de1712a4fe5 +49d0cc0ad7f274fb1c94712fdf1c8afee5ee5763969042fac16613ade30a41cd +5812ed4c5cfaf0ed5371e1dd4713101e6a28358408a5a678f4240e2bcf59576b +e935d2eb8f7b187ef1c3252b4660cf8868883a1e34af76a51e1a2cc298a0d869 +555c14b4f699f7b5ac31be8597bb837d4437d076ac20da918b2bacc74aae016c +751aac2c883d710f13480505382071d1c575fb5d03fdffd72d6a2094ee88e83a +25c7722fc2de6bcc7feb52bd518ff005e39768f05c880ddf9ffec733909867ca +cdde2a2bbb9de48341b46f9196e7f8734c135703f398f53dc2bbf4d682cfa15a +16c66b2dd9d87baf522ce7fc6995c42c2baf739a7bae0c8c704e7acde6e3b45d +e63495dba7683cba496577579625c85eaa79d478e28ef698fdf629b9fff7d293 +5dba7e431b288a5826ba7c28c9930d84f1acb4a75d48a8d9d23a27ac7300482c +132c3daabb5848f0988f89d87f9871391b0c3a5460db1836bf90478ddddf39ea +87186908e87ac8c455994249c326ed6b96abd204b37cd863070625a7e1eb2542 +3c9a6df27ae269110f020586e7694551ba05c8dd93f2f589585ebcaf8df0f959 +bbaee3aa4dd5d544022b07a9bddc7cfff9c63d28f40dd05433ba65d1f738a045 +c742ef69183e999f0fe3e7694012dcd94f44c02a46d91bc55fee95ffae8c0d11 +3e0d4ebaad6caac508d3feb748fe15c88b617f05f07eaa611edb5fb376335439 +0416fc97aa5903130a846ee8339c05aa28e7e4cd40bbd6e54c65a6075cd40bc6 +11c3b56026dbd648e0a0d81886186ab74ad765b8c962830b353b324853d4da55 +4c3ca93c06bf357edde434e49abe2fa45579d09260ad59664c3585dc51ea473b +e749f82fedf4e57e6bc8c68ca375fcd8a5eb096036357d9e03429b5e1c87dced +39b5ccbef31ba751bb0f18ccf31066a591348b9bf0bda45b5c3f9b4f9e44be65 +fd9b07ef18cda6261f09bf80fcc4d7d47a1b875b1b54b6009b342f75741ff79c +3e9e24f59d2f1b40319d6d34f51731214accda46db534f5eb6ba4cc60ac321e3 +969e1269dfb72916a56af2449049de085626563221b3f59df08b3f0806eeb5b6 +08e143b0972073188d936e34aff2980991b97cde6c2d914cc8983e7ee1ee0932 +216bee4e5c190967d199c0ed6215d760618423221f92cc15b4ba2bb8bb006f35 +e3fa42e74ba98c78b3c2217b4d64727dc036ed148cf29a7bbb6313ecaa0dce49 +91f71f16da69c779241167253922dcd59c5186f2dfb78143df850d6e4260241d +e677af13010da78ac45610825c97004e929977eafa85283869e5244d10ae08c5 +106474101c7bac56b80339a912bf749aaf8497bffbfd6ceeebde42b536140d16 +c447c40038a77f696745cc8cf78ebbed7d448cebc5f94539af2a28de4621a142 +024191e27431676fde34151137283ee00272a3cb383fb6b62d9c7ff6e525b37c +76b3cef3c81d3955857833e3fc0bfd561f7b2ec83b0f884602c2e9a07471904e +6071dd72af32912d4743e3939bf4e215d5edf2a8c0e79d3f26ba239ae6d919fe +d210388cb6ffa9580568e5f1d277b1c0339c72244c11f071d0d47f10e9258d72 +ece6dcc22f03c783c8901973d69c19a791ad8259c67803c0dca86ceb44903c1c +117cc5bd0f507c173588a4b6751694c2e2b2c1221da7a9d3fe11c0eb464350c6 +8ff963fb5d14cba8b884dc9244727d1fce9afc93a3e3715428fb0772339943ba +94e4b54eb0878cac02dd572dd5cc2b3a8aec7e0897316b4192f0cea168086c24 +c96d511f13680490119eef16a0fc8371aa5b9d5fa9749566fa2c0d250c81dd2d +0cda28f7b32d894bba5f6cb0e33f62e52a2754ca699edb1f4e6afa65ce6dc617 +76b2911081fbf7a1f09d0545f8cf67c548a5e0963f07c42c22410448abb55d05 +38d8d88fa5a6b57188de4110fd3bd87fbdbe613675b3c9196cd630f9b7dc50d5 +2e76f6349a9198a827b4cc3d4610d7ddc6aba586b0c11fb08bd1cf8a1cc0dfb7 +3dbf5d9bbfaffb5c4034275298d4a7956395c1dcac02041c40425217fe8611dd +9d03663b0832a10a5f4bd7758866856d4d480fddce109c3c26ffe6351f3eb159 +615d69058c32c240c8bbcbf84b828e5b275709c3bef7e8c56a5ce4e11a81b2f6 +5dd400cbaf59226d8753eea61b3a1c05f93993cd26f33e92550a1b5f81801802 +b7e70927fb7e3b476f1b21e21bf6a8b6ceee3f33aee9631ae2c456db548f83ab +ca6be161038a083611596c361ae607f0e460dfb535b3f19cca6d8dce4f23e056 +e60e1fad2406cee07c5a5c42cfff9adb309a77d9be94e36411ef39f43878f7b9 +bd9b56924f19b1cc64e4c5dd0db62d27c25d3350eb2695d40a4d48d0274d993a +d4fea893b7ddf6af678801939f33a366f7a47fd309980341a61f119b582322ea +fb4aae95241ff180ae845a8360ac2c15306c7df0cd0b5dc00372b3e8453fbd62 +3437a8b6736ab8545c1b705f56905448f0149a1ac5f469bf63e856f3efe049ce +d9ae727f3ec769f044f41c247f244ce7e506658ed068bd14c998f324ecc17ee5 +db9339bc8a48f29de7b8daa2b646c460a36414d0ce257287079f17fcc45c079e +44a7bc49e67b88e36c728a98f4284153b07635f7ab4ce780c688924f1636427e +4096935519f8d11ff62b594297a3f1579e403cb18b0945c4701e27870e3e4634 +b35952029cb1a22832402541c96e76393a02096ad4b139a863291255e7a4ba27 +f827485417e8fec67444b11961b5236d0b07a6ae188f8dbb86e81bde1901bc5c +9e730284787aac89a4f52ace0a4b4aa32fcd943a8d070ce36c38212d0f856e5f +fd1d55ed7e20cf5216c9a7cfd757e7c4d207c928d10d9d0df854a1f402ad10f4 +41e1ce4ceb76f06d48f91f18ede3be0a15b484bb20b3d2e9f5ff7fc29b05fc66 +53b5fcb100fcc44f97c96f5c5e90bffd6842c44d0e224301c4cf7e387466c5db +53736ea732e361fd81b55a5cb1040ae1729f05eca2a970dee9c400555490e9a8 +ea1da61cdd0eb81bd11040453f887cb721401c01de8441bc0ee4d5cbc9bae418 +5e4b7a17998de56b9ce921bc1fd4443009b6bc82cae29704a2b798dd17dfd011 +307e888330d1b3ec87081ab27a2b35d21c50c59f75e5a190d6951b0402a4a8f1 +7584474b6407f237bbc2558ca0936a4c4be5d69292860cbd13f7fa609729b196 +1380281ccec11039a4a1df6fe5026ef18c55a665ffe4807de21cb71289048136 +8ff3de1c275e34031ba1d17a540e0d4f5a0b57bbdee87e4825d269962f3de6fb +8fe75ad356412319592e51fd627d9a395ca4b5f9c3212126c05736f7c0cde20a +b39165589373dfdec2b54634ee58ecb0465d00249720809620abb99c57307f4c +0fbea4dcde56b66c9e84de579642221c1e9a9307f79fba1d1b91cadd92381dd4 +51ec2d6c6ff8f077ddbc5da659908ea03b4e2c2392bb40ebf2d7277affe3f61d +330f55f28b25d06f42c5518a623842675a66bcb6ade4aa8c066038cc37e77364 +a28da5025111315c9a48f3325993e6701623dabbcf072574e23b8e902440e504 +d145f7a786f178e2a9a0568865e5d69c4e944f81281f8ca86dd1dcea53dca3d6 +051c893071c1562dea22b817356bd6307dad57c44d47a0ce248977113107ddc0 +2d994a55263259fdf52b4a0221ce39f39a77a31523ab0c8ac60f6626461a8433 +5f80e50e343dfc8045b407cce1cc61d0d9dffcef085de077ff0b8d11dbd073e9 +7ab09737f12f40d8e602c80d22abca05e68d827aee4451bf466f6205add41e56 +b4fe989b278fdfed8fc086c168c4859307e2104bbb74a2b11c9c08e56c96594a +8e6f09b504fb5c18dccf956c1fa14c250ad8395fe676d8c2b5bdc8b3fdf34196 +924f0b33188301978635ee2a1a6ec8040f12e34bb2cd15c3716ef2f0edf0a1b6 +79f8b021dd56a95c54719da4189de035cc15da1880a3f7f9844c341f42dcdfb4 +3556e3d300697faf0dbce932875a83d1098890b169f67c1ae3eaa336b2bd0b5d +27cec749553216cb15552a92e9603bc7a9438244f0143a14474f6e99ee7f6bb8 +e7ecc328f3bc25a54d87ac07922edd1d2cc211a330be20c413d883f38eda69cc +cd00735409827ea7429dc48e43e5ff22318c6a6b691f18d05837da656db3116f +11254d292701f6bd92edb8687ab02b15f67213105731b4ec90735c72cd33e17b +7f701153ef785b1ab39303854e34a63c3da69a10ed9f018d95505aab7d2a6f8e +bb9b33fee02c4f397a20c80649e9d88e6ae4053bda65690d398e7c6c5bfdd0c5 +4e31bc4d1c8f62369189421378638e0cc24646d0eac6084d53fbff200009a954 +01f4aa6b2c71a84eb5acf649ffe28d775736e6b06dde795a8e6050712b8365df +47d9cfff08fc36e821398ff092366e1d1d623749bd80ca1a3ffa703174ac8b8f +017dba3f3d753bb5536b0b40fd9f07de7d +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.1: CMR12 1.0 +%%CreationDate: 1991 Aug 20 16:38:05 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 44 /comma put +dup 48 /zero put +dup 50 /two put +dup 66 /B put +dup 69 /E put +dup 72 /H put +dup 77 /M put +dup 83 /S put +dup 84 /T put +dup 87 /W put +dup 90 /Z put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 116 /t put +dup 117 /u put +dup 119 /w put +dup 121 /y put +dup 122 /z put +dup 127 /dieresis put +readonly def +/FontBBox{-34 -251 988 750}readonly def +/UniqueXX 5000794 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 +0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 +79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 +2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 +b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d +823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf +5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b +edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f +a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5 +404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763 +89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887 +3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c +5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab +98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21 +70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188 +f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d +7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1 +f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282 +d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843 +b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d +03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51 +7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162 +fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd +d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7 +8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f +d264f8f24cd5a1c0f68399ff4b29fd77c4a54d82965234121dcfc95e04370c28 +d64929bfeb9ff4f28dfdc4a4652968683eff42d778fcdf289227f64e13bd9292 +68f9acc1a2bc66d018df949d6c794030609fe89bdffe1f5cfd2b51dbe9f1ecf5 +26acc116fa1e5525a59c8ed8973774bed98ca3288cdd22f53604ed47fd53fda3 +c7965e31f5e6f00a589e7712cfac3d361e096ab30fcedfcfd57a556dbcb4d379 +69055e450f37fb7686e482a84a746cad4c03b4adfabd6a5d61fae8a7198daae3 +32309661c3ff3eda6c2909101ca253b91574857f77f6fb002eb81b2476648a3d +5c0e17349c459cc7bfab1ee2b8d5960c05afb4ed469d1aaeb3b34b8890cffc8d +d159388c2b0b9021be4e011ddd667a5cb5bc2f9101ee010115adc66d7bfbad78 +a8a6401144a558e4b887caa6ad8283df4794d02738ba4bd8e37529c421354a3d +1b16027db74965a1ec575cf97d600b3d48c74b12cf547c13b871cf80d216c71f +cadf111fd83d52c0fc240c49af8c529f6787c9eb582728ccde7508998ed429b1 +98e5b2bf94ecddb566fe81b83a4b33f67069fbcfd1e679361c93c4b90b90d534 +9a81d51d8e2a2a6cf04347511f68b65212e2710c4b76c2b1204e657291988de5 +68a82dfc20c5d49e2d168909a043b6fa258e24e8f0a905de6ef3ce8b7a907360 +1704773886c5db7b088985c809a4905b8c1a7c3bca4e9392d5db6ba1406f6211 +9bc0c0a65a66068916011225b97a77db011a01240e35c04da36e9d898ab7045a +20d51bc23d88a4d0f24f2029730b48b24695495aac2894de1d91de7401dd53f4 +f7be0487b22168ecc40cea2b4e77b0372ee0cd1e04be810b65ca98c9e5597556 +31837b721446b8dff5b5bdfc8c1978c150bb82901b0bd2b7c03de4e5e298c4f4 +286b58199d564f0c9511c582ad9d11e973d059d72e6018fa19f5ab8bb6ca25b1 +80158e99f095105039447beda3e34a43e863e115d57c76cbe33c8159f4b10fe0 +2a9bfffb4638ec1abee13188b59ca7460a6b6830581eba36ccc2ea6370f19fa5 +b15722fa1dbae99c1c453a2398e07fa3d3503c403f5be341623aa1ace3a2f925 +6e7b7b0e25244c5b45d0df37e4a64af63bc5b7cc60edb7ce1140b356e4c5b1ab +fe29af3a87fcacfefd6943bb13eb5d5939fbc33b591d8ead4e54bbc9b34f8e00 +671c5b8ea129d609f6f51eab562d3e4f76bd8978ebb4a23707f49639d2f4ed9b +40787d4a635ffbb531f2c7bb9fe0165d4e471e11e51c0d033121fdda26a5391e +45203b3fc27d9d34d2f756f45f6409f2b906cc2bc92fc0cb04999d9657982575 +801e4b7c46c6f8561820a3225b8595fe9eb51ee46f66460a6cef9ffaffeae7ef +f55a86f51b5329bcac4320897c8e1ac4e6d49c649ed4fa6b257a38d777722234 +ff7dea4f248d827dea6cb748cd2fadeaea24bfee1b8ef9146c379b1f14c1c71d +1815a3d1352b240784e8176f9047a413ac4bfc8af3cf6a2262bad3afe71e9557 +96ed95a9dda893c10d22314314385ae19b2b0b99f401eedb85c973759a2282f7 +0607d1600baaf56c769a1c46ab52e4bfa0c8bba42ca11d4c1b6ce2344a83f9cd +52fda2de36c880ff7aaacaad5504fd77e549872892aa26ad14a30f6b308de436 +654e447df32cd6dae0bd8123069739131529264427d4730881114d0956344bdb +78e2998c44bce0bfa4fcf8a926b66b2e8060f3a1d28255021824b3ef0a750080 +75c345add1f28298eefe0c2cd8a8d4bfcee4bb47dca267eff2db6eee52fb618e +51c41d62d85b2d05826db83819f49ea4934fcb8eb0714532b5f666e24cebc3d1 +8a07c382889758492be197b4cd6659a5b2779a7c843e26a563e53c487b0626c8 +51470da3998e661519706bce94db33f98666eb1450ef37ab7bc49d90b208f56e +a4bdc356668a0782b0f4cea076733681cbedb623d912b1448e1f6de3dd536977 +8da655f41f580a0f4ddb4b8ae54089b4c4e6952f887034e297ec1abce3e5128c +c08c2a86232361a18b9daaf9be265cbfc7d4fc743964abac39ea2163cc583bd8 +ba05fc1b0632a412d67e80a812e5bcf4a7a6108f300a19c39fa6ea1c0089b6a2 +35946ced7574cea0a53cb8190e5a99c81bc824b4c15826b7752f530dae60bf5d +1f2c3b8cc1dd32bae7ab9c6cd3640b07e2a4324f33297ef5b5c1b19ca3fb4647 +1c85c572e400c383d5db5cb4e8f913ed6502ea5dfeeb391cfc002ddd7a6d583d +38d0d3e5d5a5a985768de91795dde9d98090d7f9f20cc36d1a409eb3f1749666 +2f4853d739792023c85fcc667b7298cfca13474f009c2306be84507faa60063b +bd395409f5e25a65da18235a4a581802b78891c9c335469e3b942ff555e311e7 +7ee6d1c4ea6ff2a53c70984cd2d19a91d2a3f259bc44baa7158d84e21582d49b +3ea5bae04d5b32f2831e079f4541276c471c3237fdfc910ad56587c9fabd33b5 +4bbbcc530b71a85573636e30b3a820d6f414fa0b0a45f4314d65ef8f11cce617 +c44e501c8c161d556927c0fee825b1a98aec4afbd10477ae3de0c1418e3d0a63 +e5604e9949db08fee78389f8889925fcc3fd51a324803ba58e299cc584518640 +e44e05080349d59a409d7e4abe33a3128f99da9385b44cbe27c018e5630d3e1e +8a8b1010a089a4af2ea4a1f1c9b6736e21b3ce7130d5a1ffa44da7752595d038 +6b62d245706b3d0a3b2106953c8d016b59b6a10fb911c74ae6e3059d62b8ddde +03ca3dbcd47ea4e75843ff144f3f30167797c803ee30d1290e8d2a9bcf899e55 +e75b9b3f5e5ce04a2db7b82f3630c4a2c706809939e8d7d847e69466740001d6 +8fbfa7f9fa4b3093d970b9a6ccfcc82ede0749ae050f99c04025a7b5b4f4d0b1 +0271b628f1e5bfaec70fdd7c80c687b5155874c8a541fd85141519b804a65727 +6d9b125f0280fb01f4ff546e28409c3fa714cd384ef47768dbbdfc038de4ff2a +c1de9b43e7d9d2d62ba4110596d94a20644420585f735d87697fbe97c639bd48 +5c7225b18acc2034821e136b6a29f4563e8260b7215f53bd83985f0b2b10da60 +6984ade8c9aea46d98dd85c99dbb0fd0eedfbc4fb93898e36c422b49a0c93412 +f1f1e301bc7070a1590b6088e9fad166c553054e1a1ca2441ca2cdf53eb78ec5 +480e70dbed42dde10c85bade30c88edd3fdf9c07d802a8003eb4fef03dacebab +5a6dd1d8736081a7c3073859655de8db331a902a27be01c358de3a27a7965661 +edb1bd249369470fc41b04f036973a1461fcf24befcffc6a3ea1a7082b821e07 +6343839d66096c448915059e7330b6ed524af20a61d0c528a999786eff1118a1 +1f381fa65e1d98f0be571625217590ef08f68a600f08a4a6d7fbb56d9e199d10 +d81ab1159fa48fed4a40a3cbcec30280451c3163d5ad7110116f378f2d5bbb28 +62babb9c1a72787773601d0dc4b3017c46958d6106acb356d34f04872871aaac +1aadead00e3c195a83f3c1adbf66c4f140da0daf618285f83e7665b8db6b37a1 +5b7b39686fff8e113b2897952fda0dcf6e6f5fa53936c2ba6f48cfbf33c5e03e +38d486e3bbc716be6174396f310a3956188879a019fb4bac194041c98e4873aa +85ad472d97d47d2af2d753ab10ac100d07faeecbe3baa5b4a196b955a7e10b07 +a6230c62bf44cd57519cee73bf3be94bc3730e5037ef6e1400db1209b111a809 +5c5b2b56f748346102f8d97b4ad4d2665a928d468683599f7ae842166e423607 +c7faab073651c771dd47cbbe6730fcc442a76c0272b44caf93e6086fe153336b +efa41fc52dcefc9e2f7ff514904fa5fb506a54380a1b0f04711115ada32a6fe6 +e68e6c7de7cea029bd8b21fcb83f4bf43d34fc8239ce92fcc1d9a9f86700bd02 +a04eb68511136b9cc47367f62bd601459b08c72b09f4df7a40999332c5be467d +dd83f7de33741e9b6be82ab6facc7cb8b8da567a16957ebd7f3a694c41b6bb2a +4b82de1d85b7c28f4a510c4bfada3ebf1cab17ab8efeefc7c2996c6fcb263ce8 +b5868cf2a9a587e74307c8bde142af63601e59de0031b282a075d70e7b18866e +3725872e224c83571bee2a98e113128cf71fdbab36d8214c4663cc8a8df2caad +e8a46787c726818f292518ea40838189dc66d55b1862687a794616dfcef2c1cf +6446f2a20daa5b6f3e059eb222d6e03e7fba92bd3cc56adde303f2478b0f02e0 +d1bcdff34ae31fd15cd4597fc352c0c176db6f75d4d00b5336560c0451453c5f +57c59cdd66557b3008aa998cfc708a9ca7dfdf160efc978283f6fcf6573d2a6e +9868dec9689f4269b4e98c061f3adb3a5e16b2487760f493c2593873b124c34f +21a35ff5ad5faadcd34dc6b50a863a462abe24d9b7aa59e6a03c3db0da0c4894 +011f25345ff3ad6cde3ac2df58607f50aebd4bd2bee95d21eae6b4e0e90cac13 +399c188b7e693d648f2496eb9e406617b1c113eb996f0a7f44fc8c465cdd6c95 +7211fd550935818945cbe984344b5b6d7b87dfd7de82a6521b0923c87fde92de +3e956348bcd7170858df8780cb4fdae79bca6dc31b40df5b687b4032e005c762 +5b55a08c57cc340681675f708217931a9e3de86fc0b0f0717e1ad38dfb17e8a4 +ab4645c23661c9e9090340403918782660200fd4a3117e3d80587911edd64abe +b3a2e0a8504269279601bf23d74bcbbf957e5a2f198094854212e712b2948772 +0cb4bb7ea4279736c4a1fb650633ed22b35c33db57c17d5a2a6c1ea3ef4d3425 +49bda52d7a20b521ed657ddd201156caffe6f3e2611193b5639283fe956bb7d6 +ad775c3a9321b5f946cc9380f76fa73e149196bd35e3bb720dae3d8036c915bd +b7894be538c58f06c4121af00d3b458438d46bd9d0ee6bd1a7a7fcf828192b1d +90a6085a198345d4e093c748cd53eec4701c949087c125d5db577ed463504b0c +69afc54eafb1a40d7ae7d2fd899110ab661bead22b0d3f57928cd214fc38b014 +c7cc400b53cd2f559b133e558f5a484ef1ce318d9347c5eb6ad03fe0cc50cdd0 +cd3d3e54c075a4fb923e335bab843b1eb715d120d754315796c6e0c7104f9edf +f755259ed3a2d9f035976f64c3b3ab3d7f2d3218eb445edd9329477670bfa26b +d975f9f68d7637d5636fdd82084953f46a7b0e673b099c960c03322acf23e52c +cb4a963685a952f542110ba4ab174567f8a9db2d1b784624b056026f941fc024 +ffcc8dc32003db5809bd58ba1207265ea496065b05f925b313f06209ef83da94 +b5453533a144350c1c7dede0d5101a513fcad9b5ccb13eca2a53056853464bbd +fcaf8bf0df1d5d1b389c2972aa00b702e61cd9ab3533a2862d80f9a58b1750b3 +76b4210eb7fd29ad2c1382ddad8631a2926103660d164329309ce99b465fcf55 +f2f33abc0d5063915fe1469e431c0f96e10147f2e7b149de0981330db3f67ed1 +e2947a448b6b0ec1dce097a050149d03de51c49cd467aa5075478b68cb5634f7 +5a3bd0427c88059666bce79c28bd4446484bd194f0329679bef277ad038d7bac +5a8fa07e6714944b107b54ef8ab7b8be380c5571199cc150beb4148e6ea55471 +d18be0ef4c664e5f974d5c097245059898595b73f36a2ece852cb5c5ed7c3813 +71d91c73df7a0c05746f2b3aef2bba53512fcc4ad6f17dc7c143fba306fc2bce +bd78503cbfeaedbade60cad708c34912c4b1c01f56c487d22e7ab70dee6f8f58 +266c9a79c5e13db7741608e9a30dbdcacd9ad4272f9760f65e0521873cf28c67 +cfbeae2aeb72df1630832eaefa394de4aa1e48f9a084258a96cc405056682948 +dd02745365d7a581ab43777b213f72569e1e533f845059f53f3914864f2658f2 +80c18f35b8ae1dcf266ccad0b6eb481f6727bcea10c559e261a4fab8bbdda2b2 +bf7e0bd4855c853e0169810d7be61dccd1018cf6622ccdc44ffc59e5a5da0ba7 +b95a860f4c9b3c8f38f878f98c0fdb16871ff0feef442000e2526b66bc02016c +4e089aec867d9ea5e8200b194ffd9ced0e2da665b044b0466fb4709c3c852598 +3cdea107a21fc9ee3b7d04b8b627a565338c92377c6f53ddad9a66c0f26f3488 +d6fa8389f4f6c58a10df6d2d7ffa9c3b686cd22ed3e6850fe63a29266da60462 +64a3f58bdfbe25d87ce7c73e21e671e77222f4e7d9ae18a51fb2c8b36cd28eb2 +a4bfd6c535e58bef4252261763e120c9536e125d0b6ecc32356dbd865aab0daa +78606b3f9b5eb84dc79b6df0df9ec2e2130c0091b3aa808a26feef1c0335599a +a68b23178af27858f7b4c63c411e054d11e92320c033c58c2d3322f01e05a4ec +d335274085a0768bfef664886a97930624365cd15f3706c259e5a57aa554e348 +6025ef93c878b27dbc676187031bf82fc03f3d6628cc40e0d15ae9a0232eed5f +c26a21059baad438e80333bdddc245872371030c0b184febcb251b6158403833 +947378ae0a83c254f42d0ad2d92ac2bc5462d316e28550e4b5924764d85aada3 +097409d4f3bf6e115a22ccbe41cde5c611fc69f49e1ed0af55ba24f145e90573 +d60d26b150d542a22262b09599c75e77e55a24b0b6d30764ee423534167fc3d0 +43a1294cb9f6d0bf7d864cec71e84e6436b2278d0fab4cc2fcbbc98434db5099 +68455bf1070758007ebc1d17447eff296faae7c9e0253396c03689b4456a9f55 +aa93a7f75b8d42c17257dab88a3175cc699f9db6f090d02ec3eb535a73 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.1: CMTT12 1.0 +%%CreationDate: 1991 Aug 20 16:45:46 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +end readonly def +/FontName /CMTT12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 73 /I put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 108 /l put +readonly def +/FontBBox{-1 -234 524 695}readonly def +/UniqueXX 5000833 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 +0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 +79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 +2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 +b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d +823385fe55f3402d557fd3b4486be79011d1f5b667eed85fade30ab2ec4e1c2f +4fe750cf9a69506458071de8896261c001b1c290937fa42a1fa87de406e9f86a +4c9c0f03f69fba719114f8ae51040a4c03a58b6f3de027f6726f32743dce7395 +14c2c6f3c2de1aeddcfa8eed7da56dd68dbcde33c29ff7a694769049e4325ec9 +61b2df16add2ad46f18781fbd63eec62c26f1db41e6a666a09886382dceba91d +8ff7cedd64ddc8a2f15fe34076a064c46febd1f4dc3707aede0ce8af161bcb8e +4ada202d0954baca5be71c28ab8bf32fd72029aa07f27d658a68f454a4bf386f +6314224d16c7f0a8624f6b86319a4e2fd178f596f3b20db032ea28c157a68a69 +fad2bc88881658d2286c0d4ef061bc070c3145f2a37ebec03f51de7cda34cd97 +7eeebd86b00f9758b3a496f41d9a74279ef3c6322dc54945f95062c5f37a1e51 +cf7eaf45f2b3634b2d7d01ec3b298ff35b6616cd3020e096f6c6aa2bf04c4a93 +61c19f3c67a28d936ffc8120f1e46980b29bf54047c5f1fa48e67611a74fa434 +3384f802a4079b28b94681e119ab0c1692de5bbf426440ad1023506cb80732de +c64d9061869cb34de924d2c26e404b7dbd9be55b9c0c5ae3095c15d278adbb49 +12df1484ed2d73128e5d9c1f1a3b9ac19e2ce5366c96644f5b3d3eea589caedb +586fd9b8f4df32ec910e9b7434d5bbe57e03892eb03890567df5b811afa0da5e +929d456af362fda0789aa0cff464e238029294fde86cfc8d7d33d5c98b18c76c +319811e4d3d49560f2ac39103594ec513e0b1377c2c3e22979866c19b61448d5 +a7201ca4b7538aa370f6347253b0853d4c5d575a7572f93cb73a598e2e26b11a +d46a1126e44e7e1795dff01562316b6ccc6678663e66a73db285746df3f4405d +d51714679581946ef7272a38f41798f0c0cb66b7e7b525e0437c12ac8d4568c3 +f37379470d93b09babe1aabd17f20c07908f1908c4177db0d7dc73fce84bfc5e +8a1daac7004c1c0fc0f1af83e4946f560408efe85dd014668bfff2d51f3442ad +86e0c4292debd64376ce1aacfc0b21da230958c6a4e4fc75f8ccc09b3bfbffa3 +6d0589e50b5a2c67b299bee3378e33b59dadbc0b5dcb724ac58d274387f2a479 +ecccf173832a3c33b4aaf172c9043af569f5c04b29fe7bcb5aac415e409fba6d +82ce66e4901498ab8a2b2b6853d1d82e10a0b5d672c65d9b102048137bd2dd49 +d962973a91bd8a1e7e85fa2edc25f24c2d1ed63c138280fe6c7af10ef776224d +6c8ae754aa2eb851c786f862cb52e58b51630f238f3b2845e4814568e0248017 +cd18639feea7c4f1bc5d21ccd62dee3c822320941e5dbd058f92947ff957258b +4daa2c24d2541f16811f19babdf0d40c2ee470579c80fbb776784ddb3136ba9c +d782cb10f699f45658c7e544b8a46a58802ab7ea9c708325d74f03e388d00b87 +f3c8358ba3853155b5e4133946ca165f4ed605e522995cd06752db1406d4bd88 +0685fd14a8c67353056549d3224c18c5e905d61d6fa723b0b85e3cfd16c0dc4a +9ebc37a4adf757a9a831bafad0a70c27a83de810238f74d2b6056f8be7b00782 +7c151f28f0e77c6f474c649b71803e688a76d12da609a91eece6e266cf6d4ab0 +2fe97321802dc1aac743e0c85b2e08f04d2c46d1db63e7fe8d2c540907be97fd +a189965832117c499484c6ef64c08d68b7cff9affa39615d880163490f400cea +f1feac75bed02b3e0a490bf2b73294d8e840aa30c60f2c0034123e8e6c415c2b +6848f972a4ff965b58a6d2f2b9e94ce50d0b96811d802daf14b4bc9169a4ca0b +49c78cafa3d78a966cf7a25aacfbcdd0bf914dc95d118f5929e4ddd32c75122d +43458cd20b237ae3fde46db81222d297801bb4a8d9dd6bec8d2f08f43411b93f +67b8e72cd3879ff8ac02888e44bfaa85da3035b5b9294280fb6334d05f175d49 +5d32eafaacffe930ba72a16a1be5bf68b1b050e2636efe6cf5039a7618c77f03 +89fbe0cf224beb18b79f54910ca148613d7989a1229f782574f4606079414344 +4794d352a5f431353ce93ff1d5139b2d1067a7b6bccf128f3b57a6c96fba11f1 +9990e2bb9c6ab0315be36fecd6d6b436cc9606384553b5c31341e675286c143e +170223b1450b26fae16bffbd2a36b414273b04b9a6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +%%BeginFont: CMR17 +%!PS-AdobeFont-1.1: CMR17 1.0 +%%CreationDate: 1991 Aug 20 16:38:24 + +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. + +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR17 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +/FontBBox{-33 -250 945 749}readonly def +/UniqueXX 5000795 def +currentdict end +currentfile eexec +9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 +0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 +79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 +2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 +b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d +823385fe55f3402d557fd3b4486be356c29c3aec91ef17f5d31183b1e489f1fa +559a6693fbdd04d4f7e99886d8cb7cca13d4aa9ceb34a708af22e69ccef0e504 +c3997075243585edf60b6447c8d01cffb04b6e3ddbaa7da5891286861322a795 +e9d990fd56af2f5c2b35801a0b07874e4ac3170481d232e150443253c92a8b05 +513d4a4154a99d91f629ccd30376500f5d16aaa9b203bad6350e4b19424c0e33 +75f2949bc1927a6f6221252f8a96618e646aa1b0810753c98becc26b37837775 +24bca72b818d314074c1c91f4e1f4148d3d703d12d179ee6970bd55d04aa9a9d +97f63f2c7dbd129ec2ed3ba5f8080270ea5854ea165dbcc061e2f47f1aaf0997 +2ac9a689a2a9620b91b53f6b5092884372f5f7afca495f331138d85a97c5bb83 +d8072dc88010fc89108b60bc06d4f93c722e8908d7ce3c1ea3c70e9e65edd769 +7db17ce0e012ad37d4030f33d30a73fd655b7a2e572f3378ac933dd75082f2f1 +68702be19bc60cef6bd5f0ada180d21408c04b7f7db9b6dbaefe09e809a80ddf +a5366d10930d3e68ca53e4721ff525853f4c784f2c2c3aa0129a34d9df00debc +ae4037e4c0fbdce3989f35964b4c07e7817b805bfe8c15f0c0ebf226cff606b6 +2954f0f42dff8c214a6537ab666d25389c44db7b5866440bbfc137712bcdcc89 +c68cd1adfd85648b1ed29bfb45a564b02172137feef782d604e0d7e1f1737c96 +719cca9e4b9dfdc87e5999b886a15ac572183dfafd8c4176cd98430c204d4e7c +e989e1dea814d3088a21d9ae6c5fe7ab3d399b2982fd605e65509a8ed6790c21 +a08a23e53dbe70f676d0e7b2e8261b092dc3415ac785635d133d309ac670c0c5 +5868fd863ce42542ff1e83e1fa20a7a0e5d680dec3a22700f7f48d2582b8411d +757d17ab7530ceec0c6727c6a80f2493196b0b36e727bd6595b5d4f5baef0318 +f3c8107380a2a731f5d5ac8bd86ab3b2d774b8a256e4f52628d6f8d0e40f1163 +6026c69f76f274283931ee02d73937f334b843177f8fbfb051019ecf7a56a07a +81a3809c71515bbe9c043437a5c1007ca9ba87bc597d1c84d4585de379ed04d4 +c53958e67875f5b49403df15843727ce4199229066016f33ddd7a8cd1ab88c85 +8653e20c90c2304e7dfbfdc69c0267ffa4bb3d605fa3cf9b9f540d115108b370 +a90059c35cb2a7ddbe72d48be3b8b393e03d07b793c0e7ef7566510a3da0af14 +6850f0db2413057385a635c3a412d31689248523e8c872350e0e78e5e455434d +85bbaae7111b59fa84e5a16ea843f527d3e398d03e09fe3b362056e5e0de9dbe +059bbc07c0dd42bfd9793e6fb82efe052d2f7a99052933a0496004e8f275da81 +d057d670172a1813d3107c5f41460dd9165420769b7f53979dcb41d6dd227e21 +3f1048b696356a07c96ee32fc18956b3d39953105906ac952d6246617a0eb07d +13fbc467c5ace362567a8602abbba19346bcbc9af3a68b4d35d6b30c411d4359 +de75bd50920366be8a1d82329766e28aa45ae7b8359d7bc4ea8cf1348b997fc2 +682d84e09e363dd855c07d8eba0ce8641a73fd51555ef8eda75e13d1ab68d0d9 +da5583b935ebe895c27465d55985c3ae229dfbf6e9e97fd240e94344f95996c0 +44d8b46fca2d9e479a46f0c7855a59424d865bddd4b8b2715025b1aa920712b7 +c10d1c1aa764bfea3644d2a36a573728a9e1eef8afb3ec97b83936964577e8b3 +59c15fa4747da752b3b90e70bbb5b864496622ea8cb412f9eb5439c4c587a4e5 +fac054a1a5a1d992f63ff57d4f4281431016f9d3c107fe07ba12b0c5a82dfc31 +f1ccee58266f49e1cb8fe4d11edf30c6d0e52e8bfb183e178b994b27c6a8cb22 +0ae48dfa9834170902b06fc025b1e178d14cda92a496c85d204b17c2df9489a5 +aa1c6b0ebad624dc2b80c55cfef54072a1a3acce666ff043eb8bac830da01ac5 +f46441985156788679836dbc89c54cf97b7cf286b5c81c1a3603dfd2a573a9c2 +ea43e5c0df58037052e36df2039425b26fe8bd5efbfb8f848647197717cc1fa8 +23f52d1530713ed4f598f57c22c51b8d08d14d9a690967a9c17ad6c41215723e +aac82de701334898d5530664f5d196aeb609eeb7d17eb0e9649fabae457e9db4 +0b92c57c0645a2cc5af867fff332d673361f09d72eb5bc9f4694b8a980a50d19 +e68710f6901aa6666c8274cbe16350efb313b05b1540c59e302402e662e62112 +2d0564795639954f1e56c341e5f2d99379d1164aebd5cd4d85d83644ecd5755a +1ef9e3f66950207cf657cd339466352e4959d3e0f5ed10730b1fa65a539aec23 +9440bf8dd18ce753221301ed42e234549cb914c8f15324358b1bbdfa162b5e39 +92f2451d67fb403982e74083bfb7eb84b61f04f1621331563e8ed8cc8427afab +9b2b356e85c23135359cc7dbc798c57c4667be292e8ad7006f55c342a5c4e153 +c175595d93e46763eeecc9b68088f9c732a3fcc2d18d702b96232022ee08c605 +0c07a0f866b917fcda0103d2250ab9cd8eab1067e28bd54331e447583d5cd6cb +2c395c6ac49826d9077a7560a2b2652b9b3bb296d94089f5b8d2ea10ea46dd69 +c6cd8eb28cdce5a23848f1939be39528e28948d41be8c9a6f33c7656c90859c4 +befdb3eac63fe60893826ae55b8898e537c9856cc945a16b3a6fdf32af252bb0 +c40405f7cb615e9bb17cb6f23a86304faeac7a56f7b85488d3525adc7b9da686 +56d8211b27fc863134ed3a9054fe6bd3d21b59dd6d6c3718f6e64217d8d5e882 +30ec37d8ba92bb638864484082d9530ce9031f8bf15a9a07ba9e3c3cca56267a +e10c7a3e7c13f449d9b02fa731f52d97c9500151f866b217e3018c5cda7432ee +2220789a006e298a9ab501eff5ffb6c3079b9e60bffc9127f6c8b9e04df6ebdd +dae8e9323a5d699dfc0143bf8ed224f2a076850075f5f5665ed82190516be315 +a91fd410679b82443c993a1746cc54d4597cfe722db5e8d0a9b4e5195052ed5f +422177715c237e4dcb7567a332d011a38a078454d16d323ebcb92186eba23992 +4cd7002933e081b430ee2bc421abbc45fbfd9b41ffaee25a935b20991c377056 +a383d73750cd1d55804bccebe430ce22b16592376f54a18a9cbdfbd1de92ea50 +c77711c69722ff6ddc1a5c6297493ee4cd63c50e8412b4e42b8a5729e87fd435 +54316f57db2792258bfa2f38383558c5d85acd5abf65e54cbcd090eb34554be2 +1734e4374158e800c28050165b81bf94791f8ce24d0f45f05fb2df681ff0181f +0ac9d37cae93dc938783a3e8a9b20fdfcd2e31d22de9b7fe061f91054a0b32fd +97069b7cf02150b83bd7cc1d9ba29a5a112be9e28b9349344d535f719822c8b7 +a55d92a1a4084102d110f32ab3b59d1a7493b1bcf549eb583e6cea6744cbaf7f +436704653e774435ccf84a37faa5443b4969041ef2f16b659527c6f01aa540f3 +5396f7c7c03f4dae8828ab2ad194b5972b2691bd414f5e25246c83918d455fe8 +2c1c4d5f704bf8f95357af4d9ab0155e9f1b9304d67d0ebef9a47827dded45b4 +51339f0fd7a914add1f59c07cf74f7aa0a12549b441e12dd5449bcd1de00ddf3 +13637d693da44cfb22a4e73093d64f9f86328322fc39a343cfe752b904aecf1c +145c05d133f7d2d8606a3df1bcacfbab34e457e685f459d731ffa68f383a6182 +70edc182d4678152023981b39a150c87cf9cd2603527b80d5a94e9281ac1ea8b +cb325cbcea7e638b5b43aa0c0ca95d103528c2841667bba973080813ca05ee4b +96974224c9724ed6a7512451f95b180cae87ab46c61623154d6540c03c616b53 +8251b40c69c57276f72340aa2c83fc6a40fd440dc5aa9ae8fb438f0cc156fa52 +4afb2ed766a7bdf0c7b4f49877448c293ec40d13969da521b68480e6294ae3e7 +ea1ea3cd5ffd766cce3a2e3fe4800e16780c9d89a0f2533aad21c9b78afde506 +f53ed9389830243c250f79daf56551d8bf2d1337e53f31e1f77feb379a3b8fc6 +27fd03a8b30b0cb71b8a6a1c9fa058a8f24631622719fb0a3aed5522c872056e +40f6c350c8ffd334887feb234ef8f78a09fe93891fe303539f +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndFont +TeXDict begin 39158280 55380996 1000 600 600 (assemble.dvi) +@start /Fa 135[50 69 50 53 37 38 39 1[53 48 53 80 27 +2[27 53 48 29 44 1[42 53 46 25[75 1[63 69[{}22 83.022 +/CMBX10 rf /Fb 138[62 44 44 1[59 1[56 62 1[31 59 1[31 +62 2[51 1[50 1[54 12[78 62 28[56 56 56 1[56 56 2[31 46[{}21 +99.6264 /CMBX12 rf /Fc 142[27 113[{}1 41.511 /CMMI5 rf +/Fd 171[39 84[{}1 58.1154 /MSBM7 rf /Fe 171[55 84[{}1 +83.022 /MSBM10 rf /Ff 205[45 49[52{}2 58.1154 /CMSY7 +rf /Fg 165[46 1[120 7[88 12[73 73 73 73 14[73 73 14[66 +66 5[62 6[61 61 50 50 14[38 38{}18 83.022 /CMEX10 rf +/Fh 142[30 1[33 2[21 35 27 23 39 32 3[30 29 36 12[39 +5[53 2[56 15[20 59[{}15 58.1154 /CMMI7 rf /Fi 194[51 +10[33 33 33 6[26 26 29[47 10[{}7 58.1154 /CMR7 rf /Fj +141[69 7[23 2[42 42 45[46 1[0 3[55 16[83 83 6[65 4[65 +2[65 1[42 12[65 23 65{}16 83.022 /CMSY10 rf /Fk 135[47 +59 40 48 3[37 42 40 2[25 1[34 29 1[40 41 1[43 36 36 44 +10[48 57 3[66 2[67 2[71 46 36 2[53 4[62 44 2[42 65 23 +23 18[54 6[54 8[41 50 48 6[37 1[47 12[{}37 83.022 /CMMI10 +rf /Fl 133[34 2[55 38 45 28 34 35 1[42 42 47 68 21 2[25 +42 38 25 38 42 38 1[42 25[64 2[63 9[25 12[30 32[47 12[{}25 +83.022 /CMTI10 rf /Fm 130[44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 1[44 1[44 1[44 3[44 44 44 44 2[44 3[44 2[44 44 +44 44 44 44 44 4[44 44 44 44 44 44 7[44 44 44 44 44 44 +44 44 44 44 44 1[44 4[44 33[{}64 83.022 /CMTT10 rf /Fn +133[37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 +23 46 42 25 37 46 37 46 42 2[42 23 42 23 1[62 1[85 2[60 +46 3[65 62 1[52 65 43 30 62 65 54 1[63 60 59 62 1[39 +1[65 1[23 23 42 42 42 42 42 42 42 42 42 42 42 23 28 23 +65 1[32 32 23 4[42 14[42 4[69 46 46 48 60 1[60 6[69 1[{}78 +83.022 /CMR10 rf /Fo 134[71 2[71 75 52 53 55 1[75 67 +75 112 37 2[37 75 67 41 61 75 60 75 65 10[102 1[94 7[81 +2[50 5[97 1[102 6[37 2[67 67 67 67 67 67 67 3[45 32[75 +12[{}36 119.552 /CMBX12 rf /Fp 128[49 4[43 51 1[70 1[54 +38 1[38 2[49 54 1[27 2[27 54 49 30 43 54 43 1[49 6[60 +2[100 2[70 54 5[89 4[73 2[66 2[69 15[49 1[49 3[27 44[{}29 +99.6264 /CMR12 rf /Fq 147[89 6[89 89 2[89 23[89 26[89 +46[{}6 172.188 /CMTT12 rf /Fr 139[61 62 61 3[88 133 43 +2[43 1[79 1[70 1[70 88 79 31[119 65[{}13 172.188 /CMR17 +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +a4 +%%EndPaperSize + +%%EndSetup +%%Page: 1 1 +1 0 bop 670 427 a Fr(Assem)l(bling)51 b(matrices)h(in)g +Fq(deal.II)1417 661 y Fp(W)-8 b(olfgang)32 b(Bangerth)1293 +777 y(ETH)h(Z)s(\177)-51 b(uric)m(h,)33 b(Switzerland)1623 +977 y(Ma)m(y)g(2002)330 1251 y Fo(1)135 b(In)l(tro)t(duction)330 +1433 y Fn(Assem)n(bling)23 b(the)i(system)e(matrix)h(for)f(\014nite)i +(elemen)n(t)f(discretizations)e(is)i(standard,)g(at)f(least)330 +1533 y(as)39 b(far)f(as)h(scalar)f(problems)g(are)g(concerned.)71 +b(Ho)n(w)n(ev)n(er,)41 b(things)e(b)r(ecome)g(a)g(little)h(more)330 +1632 y(complicated)26 b(in)g(implemen)n(tations)g(once)f(problems)h +(are)f(v)n(ector-v)-5 b(alued,)24 b(and)i(in)g(particular)330 +1732 y(if)39 b(\014nite)f(elemen)n(ts)g(are)f(used)h(in)g(whic)n(h)g +(di\013eren)n(t)g(comp)r(onen)n(ts)g(of)g(v)n(ector-v)-5 +b(alued)36 b(shap)r(e)330 1831 y(functions)28 b(are)f(coupled,)g(suc)n +(h)g(as)g(for)g(example)g(for)h(div)n(ergence-free)d(elemen)n(ts.)455 +1931 y(It)32 b(is)h(this)f(case)g(that)g(w)n(e)h(are)e(in)n(terested)h +(in)h(in)f(this)h(rep)r(ort,)g(and)f(w)n(e)g(will)h(discuss)f(the)330 +2031 y(implemen)n(tational)h(details)g(user)g(programs)e(m)n(ust)j +(follo)n(w)e(if)i(they)g(w)n(an)n(t)f(to)g(use)g(suc)n(h)g(ele-)330 +2130 y(men)n(ts)c(with)g Fm(deal.II)p Fn(.)d(In)j(order)e(to)i(explain) +f(the)h(problem)g(in)g(a)f(simple)h(w)n(a)n(y)-7 b(,)28 +b(w)n(e)g(start)g(b)n(y)330 2230 y(reviewing)c(the)i(algorithms)e(that) +h(are)f(used,)i(\014rst)f(for)g(the)g(scalar)f(case,)h(then)g(for)g +(the)h(case)e(of)330 2330 y(\\simple")j(v)n(ector-v)-5 +b(alued)26 b(\014nite)j(elemen)n(ts,)f(and)f(\014nally)h(for)f(the)i +(most)e(general)g(case.)37 b(Ho)n(w-)330 2429 y(ev)n(er,)27 +b(w)n(e)h(do)g(not)h(in)n(tend)g(to)f(giv)n(e)f(an)h(in)n(tro)r +(duction)g(in)n(to)g(the)h(deriv)-5 b(ation)28 b(of)g(\014nite)h +(elemen)n(t)330 2529 y(metho)r(ds,)f(or)f(of)g(p)r(osing)g(a)g(partial) +g(di\013eren)n(tial)h(equation)f(in)g(w)n(eak)g(form.)455 +2628 y(The)19 b(in)n(terface)f(for)g(v)n(ector-v)-5 b(alued)18 +b(\014nite)h(elemen)n(t)g(shap)r(e)g(functions)h(with)f(more)f(than)h +(one)330 2728 y(non-zero)i(comp)r(onen)n(t)i(that)g(is)g(describ)r(ed)f +(in)h(this)h(rep)r(ort)e(is)g(presen)n(tly)g(b)r(eing)h(implemen)n +(ted,)330 2828 y(and)d(will)h(b)r(e)g(merged)f(with)h(the)g(library)f +(after)g(v)n(ersion)f(3.4)h(is)g(released.)34 b(Th)n(us,)22 +b(it)f(will)g(b)r(e)g(part)330 2927 y(of)g(v)n(ersion)e(3.5)h(or)f(4.0) +h(of)h(the)g(library)-7 b(,)21 b(dep)r(ending)g(on)f(whic)n(h)h(v)n +(ersion)e(n)n(um)n(b)r(er)h(w)n(e)g(will)h(assign)330 +3027 y(to)33 b(the)h(successor)d(of)i(3.4.)53 b(By)33 +b(then,)i(the)f(library)e(will)h(also)g(con)n(tain)f(an)h(implemen)n +(tation)330 3127 y(of)j(Nedelec)g(elemen)n(ts,)j(for)c(whic)n(h)i +(these)f(tec)n(hniques)g(are)f(necessary)-7 b(.)61 b(The)36 +b(in)n(terface)g(for)330 3226 y(primitiv)n(e)g(v)n(ector-v)-5 +b(alued)35 b(shap)r(e)i(functions,)i(for)d(whic)n(h)g(only)g(one)h(v)n +(ector)e(comp)r(onen)n(t)h(is)330 3326 y(non-zero,)26 +b(has)h(b)r(een)h(part)f(of)h(the)g(library)e(since)h(its)h +(publication)g(with)g(v)n(ersion)e(3.0.)330 3600 y Fo(2)135 +b(Linear)45 b(systems)h(for)f(\014nite)g(elemen)l(t)i(metho)t(ds)330 +3782 y Fn(W)-7 b(e)30 b(start)f(b)n(y)g(brie\015y)g(in)n(tro)r(ducing)g +(the)h(w)n(a)n(y)e(\014nite)i(elemen)n(t)f(matrices)g(are)f(assem)n +(bled)h(\\on)330 3882 y(pap)r(er".)34 b(As)24 b(usual)e(in)h(\014nite)h +(elemen)n(ts,)g(w)n(e)f(tak)n(e)f(the)h(w)n(eak)f(form)h(of)g(the)g +(partial)f(di\013eren)n(tial)330 3982 y(equation.)36 +b(In)28 b(the)g(most)f(general)g(case,)f(it)i(reads:)36 +b Fl(\014nd)30 b Fk(u)22 b Fj(2)i Fk(V)48 b Fl(such)30 +b(that)1320 4164 y Fk(a)p Fn(\()p Fk(u;)14 b(v)s Fn(\))23 +b(=)f(\()p Fk(f)t(;)14 b(v)s Fn(\))1855 4176 y Fi(\012)2074 +4164 y Fj(8)p Fk(v)26 b Fj(2)d Fk(V)5 b(;)330 4347 y +Fn(where)31 b Fk(a)p Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p +Fn(\))32 b(is)f(the)g(bilinear)g(form)g(asso)r(ciated)f(with)i(the)f +(partial)g(di\013eren)n(tial)g(equations,)330 4446 y(and)26 +b Fk(V)46 b Fn(is)26 b(the)h(space)e(of)i(test)f(functions.)37 +b(F)-7 b(or)26 b(simplicit)n(y)-7 b(,)27 b(w)n(e)f(ha)n(v)n(e)f(here)h +(assumed)g(that)h(the)330 4546 y(problem)d(is)g(linear)g(and)h(that)g +(then)g Fk(a)p Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p +Fn(\))25 b(is)f(a)g(bilinear)g(form;)i(if)f(the)g(problem)f(is)g +(nonlinear,)330 4646 y(it)k(is)g(usually)f(solv)n(ed)f(using)h(a)h +(sequence)f(of)g(linear)g(problems,)g(so)g(this)h(is)f(no)h +(restriction.)455 4745 y(In)j(\014nite)g(elemen)n(ts,)h(w)n(e)f +(de\014ne)g(an)g(appro)n(ximation)e(of)i(the)g(solution)g +Fk(u)f Fn(b)n(y)h(c)n(ho)r(osing)e(a)330 4845 y(\014nite)g(dimensional) +f(subspace)g Fk(V)1397 4857 y Fh(h)1468 4845 y Fn(spanned)h(b)n(y)f +(the)h(basis)e(functions)i Fj(f)p Fk(')2712 4857 y Fh(i)2739 +4845 y Fj(g)p Fn(,)g(and)f(searc)n(hing)330 4945 y Fk(u)378 +4957 y Fh(h)444 4945 y Fj(2)23 b Fk(V)570 4957 y Fh(h)639 +4945 y Fn(b)n(y)i(testing)h(the)g(w)n(eak)f(form)g(b)n(y)g(the)h(test)g +(functions)g(from)f Fk(V)2576 4957 y Fh(h)2620 4945 y +Fn(.)36 b(The)25 b(problem)h(then)330 5044 y(reads:)36 +b Fl(\014nd)29 b Fk(u)793 5056 y Fh(h)859 5044 y Fj(2)23 +b Fk(V)985 5056 y Fh(h)1058 5044 y Fl(such)30 b(that)1219 +5227 y Fk(a)p Fn(\()p Fk(u)1343 5239 y Fh(h)1385 5227 +y Fk(;)14 b(v)1462 5239 y Fh(h)1506 5227 y Fn(\))23 b(=)g(\()p +Fk(f)t(;)14 b(v)1803 5239 y Fh(h)1846 5227 y Fn(\))1878 +5239 y Fi(\012)2096 5227 y Fj(8)p Fk(v)2182 5239 y Fh(h)2248 +5227 y Fj(2)24 b Fk(V)2375 5239 y Fh(h)2418 5227 y Fk(:)455 +5409 y Fn(No)n(w,)39 b Fj(f)p Fk(')775 5421 y Fh(i)802 +5409 y Fj(g)e Fn(is)g(a)f(basis)h(of)g Fk(V)1418 5421 +y Fh(h)1461 5409 y Fn(.)66 b(W)-7 b(e)37 b(denote)g(the)h(dimension)f +(of)g Fk(V)2686 5421 y Fh(h)2767 5409 y Fn(b)n(y)g Fk(N)9 +b Fn(,)39 b(and)e(will)330 5509 y(henceforth)e(let)h(all)e(sums)h(b)r +(e)h(o)n(v)n(er)d(the)j(range)e(0)14 b Fk(:)g(:)g(:)f(N)32 +b Fj(\000)23 b Fn(1,)37 b(to)e(k)n(eep)g(with)g(the)h(standard)330 +5609 y(notation)f(of)h(the)h(C/C++)d(programming)g(languages.)60 +b(With)37 b(this,)i(w)n(e)c(can)h(expand)g(the)1809 5919 +y(1)p eop +%%Page: 2 2 +2 1 bop 330 390 a Fn(solution)25 b Fk(u)690 402 y Fh(h)756 +390 y Fn(=)843 328 y Fg(P)931 348 y Fh(N)6 b Ff(\000)p +Fi(1)931 415 y Fh(j)s Fi(=0)1093 390 y Fk(U)1150 402 +y Fh(j)1185 390 y Fk(')1239 402 y Fh(j)1274 390 y Fn(,)26 +b(and)g(b)n(y)f(bilinearit)n(y)g(of)h(the)g(form)f Fk(a)p +Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p Fn(\),)27 b(the)f(problem)f(ab)r +(o)n(v)n(e)330 490 y(is)i(equiv)-5 b(alen)n(t)28 b(to)998 +633 y Fh(N)6 b Ff(\000)p Fi(1)1010 657 y Fg(X)1012 834 +y Fh(j)s Fi(=0)1155 736 y Fk(U)1212 748 y Fh(j)1247 736 +y Fk(a)p Fn(\()p Fk(')1377 748 y Fh(j)1413 736 y Fk(;)14 +b(')1504 748 y Fh(i)1531 736 y Fn(\))24 b(=)e(\()p Fk(f)t(;)14 +b(')1842 748 y Fh(i)1871 736 y Fn(\))166 b Fj(8)p Fk(i)23 +b Fn(=)f(0)14 b Fk(:)g(:)g(:)f(N)28 b Fj(\000)18 b Fn(1)p +Fk(:)561 b Fn(\(1\))330 989 y(Denoting)1143 1159 y Fk(A)1205 +1171 y Fh(ij)1286 1159 y Fn(=)23 b Fk(a)p Fn(\()p Fk(')1504 +1171 y Fh(j)1539 1159 y Fk(;)14 b(')1630 1171 y Fh(i)1658 +1159 y Fn(\))p Fk(;)347 b(F)2113 1171 y Fh(j)2171 1159 +y Fn(=)23 b(\()p Fk(f)t(;)14 b(')2427 1171 y Fh(j)2462 +1159 y Fn(\))p Fk(;)330 1329 y Fn(the)28 b(equations)f(determining)g +(the)h(expansion)f(co)r(e\016cien)n(ts)g Fk(U)2312 1341 +y Fh(i)2367 1329 y Fn(are)g(therefore:)1671 1499 y Fk(AU)32 +b Fn(=)23 b Fk(F)r(:)1236 b Fn(\(2\))455 1669 y(Note)26 +b(that)h(w)n(e)g(ha)n(v)n(e)e(tak)n(en)h(a)g(rev)n(erted)g(order)f(of)i +(indices)f(in)h(the)g(de\014nition)g(of)g Fk(A)p Fn(,)g(since)330 +1768 y(w)n(e)h(w)n(an)n(t)f(the)h(linear)g(system)f(\(2\))i(with)f(the) +h(solution)e(to)h(the)g(righ)n(t)g(of)g(the)g(matrix,)g(to)g(k)n(eep) +330 1868 y(with)33 b(standard)e(notation,)i(instead)f(of)g(to)g(the)g +(left)h(as)e(in)i(\(1\).)50 b(F)-7 b(or)32 b(symmetric)g(problems,)330 +1967 y(there)40 b(is)g(no)f(di\013erence,)k(but)e(for)e(non-symmetric)g +(ones)h(this)g(is)g(a)f(common)h(source)f(for)330 2067 +y(problems)27 b(and)g(a)g(rather)g(common)g(trap.)455 +2167 y(F)-7 b(or)26 b(partial)h(di\013eren)n(tial)g(equations,)g(the)h +(bilinear)f(form)g(used)g(in)h(\(1\))f(in)n(v)n(olv)n(es)f(an)h(in)n +(te-)330 2266 y(gral)20 b(o)n(v)n(er)g(the)i(domain)g(\012)f(on)h(whic) +n(h)g(the)g(problem)f(is)g(p)r(osed.)35 b(F)-7 b(or)21 +b(example,)i(for)e(the)h(Laplace)330 2366 y(equation)27 +b(w)n(e)g(ha)n(v)n(e)905 2574 y Fk(A)967 2586 y Fh(ij)1049 +2574 y Fn(=)22 b Fk(a)p Fn(\()p Fk(')1266 2586 y Fh(j)1302 +2574 y Fk(;)14 b(')1393 2586 y Fh(i)1421 2574 y Fn(\))23 +b(=)g(\()p Fj(r)p Fk(')1719 2586 y Fh(j)1755 2574 y Fk(;)14 +b Fj(r)p Fk(')1915 2586 y Fh(i)1943 2574 y Fn(\))1975 +2586 y Fi(\012)2049 2574 y Fn(=)2137 2461 y Fg(Z)2183 +2649 y Fi(\012)2249 2574 y Fj(r)p Fk(')2372 2586 y Fh(j)2426 +2574 y Fj(\001)k(r)p Fk(')2590 2586 y Fh(i)2641 2574 +y Fk(dx:)330 2786 y Fn(F)-7 b(or)24 b(practical)g(purp)r(oses,)h(w)n(e) +f(split)h(this)g(equation)f(in)n(to)h(in)n(tegrals)e(o)n(v)n(er)g(the)i +(individual)g(cells)330 2885 y Fk(K)35 b Fn(of)30 b(the)g +(triangulation)e Fe(T)i Fn(w)n(e)g(use)f(for)g(the)h(discretization.)42 +b(In)30 b Fm(deal.II)p Fn(,)d(these)j(cells)f(are)330 +2985 y(alw)n(a)n(ys)d(lines,)h(quadrilaterals,)f(or)g(hexahedra.)36 +b(With)28 b(this,)g(w)n(e)g(ha)n(v)n(e)e(that)721 3167 +y Fk(A)d Fn(=)906 3088 y Fg(X)894 3266 y Fh(K)t Ff(2)p +Fd(T)1051 3167 y Fk(A)1113 3132 y Fh(K)1177 3167 y Fk(;)346 +b(A)1608 3132 y Fh(K)1608 3187 y(ij)1696 3167 y Fn(=)22 +b Fk(a)1827 3179 y Fh(K)1891 3167 y Fn(\()p Fk(')1977 +3179 y Fh(j)2013 3167 y Fk(;)14 b(')2104 3179 y Fh(i)2132 +3167 y Fn(\))166 b(0)23 b Fj(\024)f Fk(i;)14 b(j)28 b +Fj(\024)22 b Fk(N)27 b Fj(\000)19 b Fn(1)p Fk(;)330 3420 +y Fn(where)39 b(the)h(bilinear)f(form)g Fk(a)1301 3432 +y Fh(K)1365 3420 y Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p +Fn(\))40 b(only)f(in)n(v)n(olv)n(es)f(an)h(in)n(tegral)f(o)n(v)n(er)g +(the)i(cell)f Fk(K)6 b Fn(.)72 b(The)330 3519 y(imp)r(ortan)n(t)23 +b(p)r(oin)n(t)h(is)g(that)g(w)n(e)g(do)f(so)g(since)h(for)f(the)h(lo)r +(calized)g(basis)f(functions)h(used)f(in)i(\014nite)330 +3619 y(elemen)n(ts,)i Fk(A)754 3589 y Fh(K)845 3619 y +Fn(is)g(a)g(matrix)g(with)g(almost)f(only)h(zeros.)35 +b(The)28 b(only)e(elemen)n(ts)h(whic)n(h)g(are)f(not)330 +3719 y(zero)34 b(are)g(those)g(corresp)r(onding)f(to)i(indices)g +Fk(i;)14 b(j)39 b Fn(indicating)c(those)g(shap)r(e)g(functions)g(that) +330 3818 y(ha)n(v)n(e)20 b(supp)r(ort)h(also)g(on)g(the)h(elemen)n(t)f +Fk(K)6 b Fn(.)35 b(F)-7 b(or)20 b(example,)j(in)e(2d)g(and)h(using)f +(the)h(usual)f(bilinear)330 3918 y(shap)r(e)26 b(functions)h(for)e(a)h +(scalar)f(problem,)h(only)g(the)g(four)g(shap)r(e)g(functions)h(asso)r +(ciated)e(with)330 4017 y(the)33 b(v)n(ertices)e(of)h(the)h(cell)f +Fk(K)38 b Fn(are)31 b(nonzero)g(on)h Fk(K)6 b Fn(,)33 +b(and)f(th)n(us)g(only)g(the)g(en)n(tries)g(in)g Fk(A)3122 +3987 y Fh(K)3219 4017 y Fn(are)330 4117 y(nonzero)25 +b(where)h(the)h(four)f(ro)n(ws)f(corresp)r(onding)f(to)j(these)f +(indices)h(and)f(the)h(resp)r(ectiv)n(e)e(four)330 4217 +y(columns)i(in)n(tersect.)455 4316 y(In)j(general,)g(assume)f(that)i +(there)f(are)f Fk(N)1769 4328 y Fh(K)1863 4316 y Fn(shap)r(e)i +(functions)f(with)h(supp)r(ort)f(on)g(cell)g Fk(K)6 b +Fn(,)330 4416 y(and)26 b(let)h(the)g(set)f(of)h(their)f(indices)h(b)r +(e)g(denoted)f(b)n(y)g Fk(I)2016 4428 y Fh(K)2081 4416 +y Fn(.)36 b(Then)27 b(w)n(e)f(can)g(de\014ne)h(a)f(matrix)3226 +4395 y(^)3204 4416 y Fk(A)3266 4386 y Fh(K)330 4516 y +Fn(of)33 b(\(small)g(dimension\))g Fk(N)1182 4528 y Fh(K)1268 +4516 y Fj(\002)21 b Fk(N)1421 4528 y Fh(K)1518 4516 y +Fn(holding)33 b(these)g(nonzero)f(en)n(tries,)h(and)g(w)n(e)g(can)f +(obtain)330 4615 y(bac)n(k)27 b(the)h(original)e(con)n(tribution)h +Fk(A)1502 4627 y Fh(K)1594 4615 y Fn(to)g Fk(A)h Fn(b)n(y)f(the)h +(transformation)585 4840 y Fk(A)647 4806 y Fh(K)647 4861 +y(ij)734 4840 y Fn(=)822 4723 y Fg(\032)925 4780 y Fn(0)568 +b(if)28 b Fk(i)23 b Fj(62)g Fk(I)1777 4792 y Fh(K)1869 +4780 y Fn(or)k Fk(j)h Fj(62)23 b Fk(I)2147 4792 y Fh(K)2212 +4780 y Fn(,)947 4867 y(^)925 4888 y Fk(A)987 4858 y Fh(K)987 +4915 y(local)p Fi(\()p Fh(i)p Fi(\))p Fh(;local)p Fi(\()p +Fh(j)s Fi(\))1535 4888 y Fn(otherwise)o Fk(;)2466 4840 +y Fn(0)g Fj(\024)f Fk(i;)14 b(j)28 b Fj(\024)23 b Fk(N)k +Fj(\000)18 b Fn(1)p Fk(:)330 5070 y Fn(Here,)27 b Fk(l)r(ocal)r +Fn(\()p Fk(i)p Fn(\))f(giv)n(es)g(the)h(n)n(um)n(b)r(er)g(of)g(the)h +(global)e(degree)g(of)h(freedom)f Fk(i)h Fn(on)g(the)g(cell)g +Fk(K)6 b Fn(,)27 b(i.e.)330 5170 y(the)i(p)r(osition)f(of)h +Fk(i)f Fn(in)h(the)g(index)f(set)h Fk(I)1577 5182 y Fh(K)1641 +5170 y Fn(.)40 b(One)28 b(could)g(call)2277 5149 y(^)2256 +5170 y Fk(A)2318 5140 y Fh(K)2410 5170 y Fn(the)h Fm(reduced)d +Fn(form)i(of)h Fk(A)3243 5140 y Fh(K)3307 5170 y Fn(,)330 +5269 y(since)e(the)h(man)n(y)f(zero)g(ro)n(ws)f(and)h(column)h(ha)n(v)n +(e)e(b)r(een)i(stripp)r(ed.)455 5369 y(In)k(general,)g(when)h(assem)n +(bling)e(the)h(global)f(matrix,)i(the)g(rev)n(erse)d(w)n(a)n(y)h(is)i +(used:)46 b(when)330 5469 y(adding)27 b(up)h Fk(A)784 +5439 y Fh(K)876 5469 y Fn(to)f Fk(A)p Fn(,)h(w)n(e)g(do)f(so)g(only)g +(with)1823 5448 y(^)1801 5469 y Fk(A)1863 5439 y Fh(K)1955 +5469 y Fn(b)n(y)898 5639 y Fk(A)960 5654 y Fh(g)r(lobal)p +Fi(\()p Fh(i)p Fi(\))p Fh(;g)r(lobal)p Fi(\()p Fh(j)s +Fi(\))1492 5639 y Fn(+)-5 b(=)1662 5618 y(^)1640 5639 +y Fk(A)1702 5604 y Fh(K)1702 5659 y(ij)2098 5639 y Fn(0)23 +b Fj(\024)f Fk(i;)14 b(j)28 b Fj(\024)23 b Fk(N)2533 +5651 y Fh(K)2615 5639 y Fj(\000)18 b Fn(1)p Fk(:)1809 +5919 y Fn(2)p eop +%%Page: 3 3 +3 2 bop 330 390 a Fn(Th)n(us,)34 b(indices)f(only)g(run)f(o)n(v)n(er)f +(the)j(\(small\))f(range)f(0)14 b Fk(:)g(:)g(:)f(N)2277 +402 y Fh(K)2362 390 y Fj(\000)22 b Fn(1)32 b(instead)h(of)g(0)14 +b Fk(:)g(:)g(:)f(N)31 b Fj(\000)21 b Fn(1.)330 490 y(Here,)30 +b Fk(g)s(l)r(obal)r Fn(\()p Fk(i)p Fn(\))e(denotes)h(the)h(global)f(n)n +(um)n(b)r(er)g(of)h(the)g(degree)f(of)g(freedom)h(with)g(n)n(um)n(b)r +(er)f Fk(i)330 589 y Fn(on)34 b(this)g(cell)g Fk(K)6 +b Fn(,)35 b(i.e.)56 b Fk(g)s(l)r(obal)r Fn(\()p Fk(i)p +Fn(\))31 b(=)j Fk(I)1547 601 y Fh(K)1611 589 y Fn([)p +Fk(i)p Fn(],)h(where)f(the)g(brac)n(k)n(et)e(op)r(erator)h(returns)g +(the)h Fk(i)p Fn(th)330 689 y(elemen)n(t)28 b(of)f(the)h(set)g +Fk(I)1040 701 y Fh(K)1104 689 y Fn(.)455 789 y(The)c(main)g(part)g(of)g +(assem)n(bling)f(\014nite)h(elemen)n(t)h(matrices)e(is)h(therefore)f +(to)i(assem)n(ble)e(the)330 888 y(lo)r(cal)35 b(matrix)833 +867 y(^)811 888 y Fk(A)873 858 y Fh(K)937 888 y Fn(.)60 +b(Before)34 b(w)n(e)h(go)f(on)h(with)g(discussing)g(ho)n(w)f(this)i(is) +f(done)f(in)i Fm(deal.II)p Fn(,)330 988 y(w)n(e)e(w)n(ould)g(lik)n(e)h +(to)f(commen)n(t)h(on)f(the)h(ev)-5 b(aluation)34 b(of)g(the)h(in)n +(tegrals)e(in)n(v)n(olv)n(ed.)57 b(Since)35 b(the)330 +1088 y(in)n(tegrals)i(are)g(usually)g(to)r(o)h(complex)f(to)h(b)r(e)h +(ev)-5 b(aluated)37 b(exactly)h(\(they)g(ma)n(y)g(dep)r(end)g(on)330 +1187 y(co)r(e\016cien)n(ts)24 b(app)r(earing)g(in)h(the)g(equation,)g +(or)f(the)h(solution)f(of)h(previous)e(steps)i(in)g(nonlinear)330 +1287 y(or)33 b(time-dep)r(enden)n(t)h(problems\),)h(they)f(are)f(appro) +n(ximated)f(b)n(y)h(quadrature.)54 b(Assume)33 b(w)n(e)330 +1386 y(ha)n(v)n(e)18 b(a)g(quadrature)g(form)n(ula)g(with)h +Fk(N)1535 1398 y Fh(q)1590 1386 y Fn(p)r(oin)n(ts)g Fk(x)1878 +1398 y Fh(q)1934 1386 y Fn(de\014ned)g(on)g(cell)g(in)g(real)f(space)g +(\(as)h(opp)r(osed)330 1486 y(to)31 b(the)h(unit)g(cell\))g(and)f(w)n +(eigh)n(ts)g Fk(w)1469 1498 y Fh(q)1506 1486 y Fn(.)48 +b(Then,)33 b(for)e(example)g(for)f(the)i(Laplace)f(equation,)g(w)n(e) +330 1586 y(appro)n(ximate)679 1833 y(^)658 1854 y Fk(A)720 +1819 y Fh(K)720 1874 y(ij)807 1854 y Fj(\021)895 1741 +y Fg(Z)941 1929 y Fh(K)1018 1854 y Fj(r)p Fk(')1141 1866 +y Fh(i)1188 1854 y Fj(\001)19 b(r)p Fk(')1353 1866 y +Fh(j)1411 1854 y Fk(dx)24 b Fj(\031)1612 1741 y Fh(N)1665 +1749 y Fc(q)1698 1741 y Ff(\000)p Fi(1)1638 1775 y Fg(X)1639 +1950 y Fh(q)r Fi(=0)1797 1854 y Fj(r)p Fk(')1920 1866 +y Fh(i)1948 1854 y Fn(\()p Fk(x)2027 1866 y Fh(q)2064 +1854 y Fn(\))19 b Fj(\001)g(r)p Fk(')2280 1866 y Fh(j)2315 +1854 y Fn(\()p Fk(x)2394 1866 y Fh(q)2432 1854 y Fn(\))27 +b Fk(w)2550 1866 y Fh(q)2588 1854 y Fj(j)p Fn(det)h Fk(J)8 +b Fn(\()d(^)-47 b Fk(x)2887 1866 y Fh(q)2924 1854 y Fn(\))p +Fj(j)p Fk(:)222 b Fn(\(3\))330 2119 y(F)-7 b(or)28 b(other)g(problems,) +g(the)h(in)n(tegrand)f(is)h(di\013eren)n(t,)g(but)g(the)g(principle)g +(remains)f(the)h(same.)330 2218 y(det)i Fk(J)8 b Fn(\()d(^)-47 +b Fk(x)609 2230 y Fh(q)647 2218 y Fn(\))31 b(denotes)f(the)h +(determinan)n(t)f(of)h(the)g(Jacobian)e(of)i(the)g(transformation)e(b)r +(et)n(w)n(een)330 2318 y(the)e(unit)g(cell)g(on)f(whic)n(h)h(the)g +(quadrature)e(w)n(eigh)n(ts)h(are)f(de\014ned,)i(and)g(the)g(real)f +(cell,)g(and)32 b(^)-47 b Fk(x)3293 2330 y Fh(q)330 2417 +y Fn(is)25 b(the)h(p)r(oin)n(t)f(on)h(the)f(unit)h(cell)g(corresp)r +(onding)d(to)i(the)h(quadrature)e(p)r(oin)n(t)h Fk(x)2796 +2429 y Fh(q)2859 2417 y Fn(in)g(real)g(space.)455 2517 +y(Since)37 b(all)h(matrices)e(and)i(righ)n(t)e(hand)i(side)f(v)n +(ectors)f(only)i(require)e(kno)n(wledge)g(of)i(the)330 +2617 y(v)-5 b(alues)19 b(and)h(gradien)n(ts)e(of)i(shap)r(e)g +(functions)g(at)g(quadrature)e(p)r(oin)n(ts,)j(this)g(is)e(all)h(that)g +Fm(deal.II)330 2716 y Fn(usually)38 b(pro)n(vides.)69 +b(One)38 b(can)g(see)h(this)g(as)f(a)g(kind)h(of)f Fl(view)49 +b Fn(on)39 b(a)f(\014nite)h(elemen)n(t,)j(as)c(it)330 +2816 y(only)f(pro)n(vides)f(a)g(certain)h(p)r(ersp)r(ectiv)n(e)g(on)g +(the)g(actual)g(de\014nition)h(of)f(a)f(shap)r(e)h(function.)330 +2916 y(Nev)n(ertheless,)21 b(this)f(is)g(en)n(tirely)f(su\016cien)n(t)i +(for)e(all)h(purp)r(oses)f(of)h(programming)e(\014nite)j(elemen)n(t)330 +3015 y(programs.)455 3115 y(In)g Fm(deal.II)d Fn(the)j +Fm(FEValues)d Fn(class)i(do)r(es)g(this:)34 b(y)n(ou)20 +b(giv)n(e)g(it)i(a)e(\014nite)i(elemen)n(t)f(de\014nition,)h(a)330 +3214 y(quadrature)i(form)n(ula)g(ob)5 b(ject,)25 b(and)g(an)g(ob)5 +b(ject)24 b(de\014ning)i(the)f(transformation)e(b)r(et)n(w)n(een)i +(unit)330 3314 y(and)j(real)g(cell,)g(and)h(it)f(pro)n(vides)f(y)n(ou)h +(with)h(the)g(v)-5 b(alues,)28 b(gradien)n(t,)f(and)h(second)g(deriv)-5 +b(ativ)n(es)330 3414 y(of)25 b(shap)r(e)g(functions)h(at)f(the)g +(quadrature)f(p)r(oin)n(ts.)36 b(It)26 b(also)e(giv)n(es)g(access)g(to) +h(the)g(determinan)n(t)330 3513 y(of)k(the)h(Jacobian,)e(although)g +(only)h(m)n(ultiplied)h(with)g Fk(w)2120 3525 y Fh(q)2186 +3513 y Fn(as)f(these)g(t)n(w)n(o)f(are)g(alw)n(a)n(ys)g(used)h(in)330 +3613 y(conjunction.)55 b(It)33 b(also)g(pro)n(vides)f(y)n(ou)h(with)g +(man)n(y)g(other)g(\014elds,)i(suc)n(h)e(as)g(normal)g(v)n(ectors)330 +3713 y(to)i(the)h(outer)f(b)r(oundary)-7 b(.)59 b(In)35 +b(practice)g(y)n(ou)g(do)g(not)g(need)g(them)h(all)f(computed)h(on)f +(eac)n(h)330 3812 y(cell;)44 b(th)n(us,)d(y)n(ou)d(ha)n(v)n(e)f(to)i +(sp)r(ecify)g(explicitly)f(in)h(whic)n(h)g(data)f(y)n(ou)f(are)h(in)n +(terested)g(when)330 3912 y(constructing)28 b Fm(FEValues)c +Fn(ob)5 b(jects.)455 4011 y(In)20 b(the)i(follo)n(wing,)f(w)n(e)f(pro)n +(vide)g(a)g(list)h(of)g(connections)f(b)r(et)n(w)n(een)g(the)h(sym)n(b) +r(ols)f(in)n(tro)r(duced)330 4111 y(ab)r(o)n(v)n(e,)38 +b(and)e(the)h(resp)r(ectiv)n(e)f(functions)h(and)g(v)-5 +b(ariable)36 b(names)g(used)h(in)g(t)n(ypical)f Fm(deal.II)330 +4211 y Fn(programs.)e(With)27 b(this,)g(w)n(e)f(will)h(subsequen)n(tly) +e(sho)n(w)h(the)h(basic)e(structure)h(of)g(an)g(assem)n(bly)330 +4310 y(routine.)45 b(If)31 b(y)n(ou)f(ha)n(v)n(e)f(already)g(tak)n(en)h +(a)h(lo)r(ok)e(at)i(the)g(example)f(programs)e(pro)n(vided)i(with)330 +4410 y Fm(deal.II)p Fn(,)d(y)n(ou)i(will)i(recognize)d(all)i(these)g +(names.)43 b(If)31 b(y)n(ou)e(ha)n(v)n(en't,)h(this)g(w)n(ould)g(b)r(e) +g(a)g(go)r(o)r(d)330 4510 y(time)e(to)g(lo)r(ok)e(at)i(the)g(\014rst)f +(three)h(of)f(them.)p 690 4604 2280 4 v 688 4703 4 100 +v 740 4674 a Fk(A)498 b Fm(system)p 1569 4674 27 4 v +29 w(matrix)p 2968 4703 4 100 v 688 4812 4 109 v 762 +4761 a Fn(^)740 4782 y Fk(A)802 4752 y Fh(K)1300 4782 +y Fm(cell)p 1481 4782 27 4 v 30 w(matrix)p 2968 4812 +4 109 v 688 4912 4 100 v 740 4882 a Fk(K)489 b Fm(cell)p +2968 4912 V 688 5011 V 740 4981 a Fk(N)k Fm(dof)p 1437 +4981 27 4 v 30 w(handler.n)p 1863 4981 V 28 w(dofs\(\))p +2968 5011 4 100 v 688 5111 V 740 5081 a Fk(N)807 5093 +y Fh(K)1300 5081 y Fm(fe.dofs)p 1613 5081 27 4 v 29 w(per)p +1774 5081 V 30 w(cell)p 2968 5111 4 100 v 688 5210 V +740 5181 a Fk(I)776 5193 y Fh(K)1300 5181 y Fm(local)p +1525 5181 27 4 v 29 w(dof)p 1686 5181 V 31 w(indices)p +2968 5210 4 100 v 688 5310 V 740 5280 a Fk(N)807 5292 +y Fh(q)1300 5280 y Fm(quadrature)p 1745 5280 27 4 v 27 +w(formula.n)p 2168 5280 V 28 w(quadrature)p 2636 5280 +V 27 w(points)p 2968 5310 4 100 v 688 5410 V 740 5380 +a Fk(')794 5392 y Fh(i)822 5380 y Fn(\()p Fk(x)901 5392 +y Fh(q)939 5380 y Fn(\))329 b Fm(fe)p 1393 5380 27 4 +v 31 w(values.shape)p 1952 5380 V 26 w(value\(i,q\))p +2968 5410 4 100 v 688 5509 V 740 5479 a Fj(r)p Fk(')863 +5491 y Fh(i)891 5479 y Fn(\()p Fk(x)970 5491 y Fh(q)1008 +5479 y Fn(\))260 b Fm(fe)p 1393 5479 27 4 v 31 w(values.shape)p +1952 5479 V 26 w(grad\(i,q\))p 2968 5509 4 100 v 688 +5609 V 740 5579 a Fk(x)787 5591 y Fh(q)1300 5579 y Fm(fe)p +1393 5579 27 4 v 31 w(values.quadratu)o(re)p 2171 5579 +V 25 w(point\(q\))p 2968 5609 4 100 v 688 5709 V 740 +5679 a Fj(j)p Fn(det)q Fk(J)8 b Fn(\()d(^)-47 b Fk(x)1012 +5691 y Fh(q)1049 5679 y Fn(\))p Fj(j)p Fk(w)1163 5691 +y Fh(q)1300 5679 y Fm(fe)p 1393 5679 27 4 v 31 w(values.JxW\(q\))p +2968 5709 4 100 v 690 5712 2280 4 v 1809 5919 a Fn(3)p +eop +%%Page: 4 4 +4 3 bop 455 390 a Fn(With)41 b(this)g(v)n(o)r(cabulary)-7 +b(,)42 b(the)f(t)n(ypical)f(matrix)g(assem)n(bly)g(lo)r(op)g(in)h +Fm(deal.II)d Fn(has)i(the)330 490 y(follo)n(wing)27 b(form:)38 +b(\014rst)29 b(declare)e(a)h(quadrature)f(ob)5 b(ject)28 +b(and)g(use)h(it)f(for)g(the)h(initialization)f(of)330 +589 y(a)f Fm(FEValues)e Fn(ob)5 b(ject)27 b(as)g(discussed)g(ab)r(o)n +(v)n(e:)417 743 y Fm(QGauss2<2>)83 b(quadrature_formul)o(a;)417 +842 y(FEValues<2>)39 b(fe_values)h(\(fe,)i(quadrature_formu)o(la,)1420 +942 y(UpdateFlags\(upd)o(ate)o(_v)o(alu)o(es)168 b(|)1943 +1042 y(update_gradient)o(s)38 b(|)1943 1141 y(update_JxW_valu)o(es\))o +(\);)330 1295 y Fn(In)e(practice,)g(y)n(ou)f(ma)n(y)g(w)n(an)n(t)f(to)i +(use)f(a)g(di\013eren)n(t)g(set)h(of)f(\014elds)h(to)f(b)r(e)h(up)r +(dated)g(on)f(eac)n(h)330 1394 y(cell.)53 b(F)-7 b(or)32 +b(example)g(if)i(y)n(ou)e(do)g(not)h(need)g(the)g(v)-5 +b(alues)33 b(of)g(shap)r(e)f(functions)i(on)e(a)h(cell,)h(y)n(ou)330 +1494 y(ma)n(y)25 b(omit)h Fm(update)p 969 1494 27 4 v +29 w(values)d Fn(from)i(the)h(list.)37 b(Also)25 b(note)g(that)h(b)n(y) +g(default)g(a)f(bi-)h(or)e(tri-linear)330 1593 y(\(dep)r(ending)j(on)e +(space)g(dimension\))i(mapping)e(b)r(et)n(w)n(een)h(unit)h(and)f(real)f +(cell)g(is)h(used.)37 b(Other)330 1693 y(mappings)32 +b(are)g(p)r(ossible,)h(for)f(example)h(quadratic)e(ones,)i(or)f(a)g +(mapping)h(that)g(mak)n(es)e(use)330 1793 y(of)e(the)h(fact)f(that)h +(in)f(man)n(y)g(cases)f(cells)h(are)f(actually)h(rectangular,)f(rather) +g(than)h(arbitrary)330 1892 y(quadrilaterals;)24 b(in)j(order)d(to)i +(use)g(them,)h(another)e(constructor)f(of)i(the)h Fm(FEValues)22 +b Fn(class)j(can)330 1992 y(b)r(e)c(used,)h(whic)n(h)e(tak)n(es)f(a)h +(mapping)g(ob)5 b(ject)20 b(as)g(\014rst)g(argumen)n(t,)h(b)r(efore)f +(the)h(other)e(argumen)n(ts)330 2092 y(listed)28 b(ab)r(o)n(v)n(e.)455 +2191 y(Next)f(w)n(e)h(de\014ne)g(abbreviations)e(for)h(the)h(v)-5 +b(alues)27 b(of)g Fk(N)2213 2203 y Fh(K)2305 2191 y Fn(and)g +Fk(N)2533 2203 y Fh(q)2570 2191 y Fn(:)417 2344 y Fm(const)42 +b(unsigned)e(int)592 2444 y(dofs_per_cell)e(=)43 b(fe.dofs_per_cell)o +(,)592 2544 y(n_q_points)170 b(=)43 b(quadrature_formu)o(la)o(.n_)o(qu) +o(adr)o(at)o(ur)o(e_p)o(oi)o(nts)o(;)330 2697 y Fn(Then)28 +b(ha)n(v)n(e)e(an)i(ob)5 b(ject)27 b(to)g(store)g(the)h(matrix)1845 +2676 y(^)1823 2697 y Fk(A)1885 2667 y Fh(K)1949 2697 +y Fn(,)g(whic)n(h)g(is)f(of)h(size)f Fk(N)2640 2709 y +Fh(K)2722 2697 y Fj(\002)18 b Fk(N)2872 2709 y Fh(K)2936 +2697 y Fn(:)417 2850 y Fm(FullMatrix)124 b(cell_matrix)40 +b(\(dofs_per_cell,)d(dofs_per_cell\);)330 3003 y Fn(And)21 +b(an)f(ob)5 b(ject)20 b(represen)n(ting)f(the)i(set)g(of)f(global)f +(indices)i(of)f(degrees)f(of)i(freedom,)g(previously)330 +3103 y(denoted)27 b(b)n(y)f Fk(I)793 3115 y Fh(K)858 +3103 y Fn(,)h(that)g(ha)n(v)n(e)e(supp)r(ort)i(on)f(the)h(presen)n(t)f +(cell,)h(i.e.)37 b(those)26 b(degrees)g(of)h(freedom)330 +3203 y(lo)r(cal)g(to)g(the)h(presen)n(t)f(cell:)417 3356 +y Fm(std::vector)42 b(local_dof_indices)37 +b(\(dofs_per_cell\);)330 3509 y Fn(The)28 b(next)f(step)h(is)g(then)g +(to)f(lo)r(op)g(o)n(v)n(er)f(all)i(cells:)417 3663 y +Fm(typename)40 b(DoFHandler::)o(act)o(iv)o(e_c)o(el)o(l_)o(ite)o +(ra)o(tor)635 3762 y(cell)i(=)h(dof_handler.begin)o(_a)o(cti)o(ve)o +(\(\))o(,)635 3862 y(endc)f(=)h(dof_handler.end\(\))o(;)417 +3961 y(for)g(\(;)f(cell!=endc;)d(++cell\))504 4061 y({)330 +4214 y Fn(On)34 b(eac)n(h)g(cell,)i(\014rst)e(tell)h(the)f +Fm(FEValues)e Fn(ob)5 b(ject)34 b(to)g(compute)g(the)h(v)-5 +b(alues)34 b(of)h(the)f(v)-5 b(arious)330 4314 y(\014elds)26 +b(for)f(this)h(particular)e(cell,)i(and)g(do)f(not)h(forget)f(to)g +(reset)g(the)h(lo)r(cal)f(matrix)2953 4293 y(^)2931 4314 +y Fk(A)2993 4284 y Fh(K)3083 4314 y Fn(to)g(zero)330 +4414 y(b)r(efore)i(adding)g(it)h(up:)592 4567 y Fm(fe_values.reini)o(t) +37 b(\(cell\);)592 4666 y(cell_matrix.cle)o(ar)g(\(\);)330 +4820 y Fn(No)n(w)32 b(comes)g(the)i(main)e(part,)i(assem)n(bling)e(the) +h(lo)r(cal)f(matrix)2415 4799 y(^)2393 4820 y Fk(A)2455 +4790 y Fh(K)2520 4820 y Fn(.)52 b(It)33 b(consists)f(of)h(a)f(lo)r(op) +330 4919 y(o)n(v)n(er)26 b(all)i(indices)g(0)23 b Fj(\024)g +Fk(i;)14 b(j)28 b Fj(\024)c Fk(N)1334 4931 y Fh(K)1425 +4919 y Fn(and)k(all)g(quadrature)e(p)r(oin)n(ts)i(0)23 +b Fj(\024)h Fk(q)i Fj(\024)e Fk(N)2753 4931 y Fh(q)2789 +4919 y Fn(,)k(and)g(summing)330 5019 y(up)35 b(the)h(con)n(tributions.) +59 b(As)35 b(this)g(is)g(what)g(w)n(e)g(will)g(discuss)g(in)g(detail)g +(later)g(on,)i(w)n(e)d(only)330 5119 y(denote)28 b(it)g(here)f(b)n(y)g +(an)g(ellipse:)592 5272 y Fm(for)42 b(\(unsigned)e(int)i(i=0;)g +(iget_dof_i)o(nd)o(ice)o(s)37 +b(\(local_dof_indice)o(s\);)592 950 y(for)42 b(\(unsigned)e(int)i(i=0;) +g(i)p Fn(,)24 b(whic)n(h)29 +b(represen)n(ts)f(a)h(tensor)g(of)g(rank)330 4518 y(1)e(in)h +Fm(dim)e Fn(space)h(dimensions.)455 4617 y(Assem)n(bling)d(matrices)h +(for)g(scalar)e(problems)i(is)g(also)g(sho)n(wn)f(from)h(a)g(practical) +g(p)r(ersp)r(ec-)330 4717 y(tiv)n(e)32 b(in)h(man)n(y)f(of)g(the)h +(example)f(programs)f(of)38 b Fm(deal.II)p Fn(,)30 b(where)i(it)h(is)f +(also)g(demonstrated)330 4817 y(ho)n(w)e(to)h(do)g(this)h(for)e(the)i +(righ)n(t)e(hand)h(side)g(v)n(ectors.)46 b(Th)n(us,)31 +b(scalar)f(problems)g(are)g(not)h(to)r(o)330 4916 y(in)n(teresting,)c +(and)g(w)n(e)h(no)n(w)f(turn)g(to)h(v)n(ector-v)-5 b(alued)26 +b(problems.)330 5190 y Fo(4)135 b(V)-11 b(ector-v)k(alued)44 +b(problems)330 5372 y Fn(Since)33 b(w)n(e)f(need)h(some)f(problems)g +(at)h(whic)n(h)f(w)n(e)h(will)g(explain)f(assem)n(bling)f(the)i(matrix) +g(for)330 5471 y(the)24 b(v)n(ector-v)-5 b(alued)22 b(case,)h(w)n(e)h +(no)n(w)f(brie\015y)g(in)n(tro)r(duce)g(t)n(w)n(o)g(simple)g +(equations.)35 b(The)24 b(\014rst)f(are)330 5571 y(the)31 +b(Lam)n(\023)-39 b(e)29 b(equations)g(of)i(elasticit)n(y)-7 +b(,)30 b(whic)n(h)g(are)g(tak)n(en)g(for)f(the)i(symmetric)f(case,)h +(then)f(w)n(e)330 5670 y(brie\015y)d(in)n(tro)r(duce)g(the)h(Stok)n(es) +f(equations)g(as)g(a)g(nonsymmetric)g(problem.)1809 5919 +y(5)p eop +%%Page: 6 6 +6 5 bop 330 390 a Fb(4.1)112 b(The)38 b(elastic)g(equations)330 +543 y Fn(As)22 b(\014rst)g(example)f(for)g(the)i(metho)r(ds)f(w)n(e)f +(are)g(going)g(to)h(discuss)f(for)h(v)n(ector-v)-5 b(alued)20 +b(problems,)330 643 y(w)n(e)k(consider)g(the)h(elastic)f(Lam)n(\023)-39 +b(e)23 b(equations)h(for)g(isotropic)f(materials,)h(whic)n(h)h(read)e +(in)i(strong)330 743 y(form:)1188 842 y Fj(\000r)p Fn(\()p +Fk(\025)19 b Fn(+)f Fk(\026)p Fn(\)\()p Fj(r)h(\001)f +Fa(u)p Fn(\))h Fj(\000)f Fn(\()p Fj(r)h(\001)g Fk(\026)p +Fj(r)p Fn(\))p Fa(u)k Fn(=)g Fa(f)9 b Fk(:)330 987 y +Fn(These)34 b(equations)f(describ)r(e)g(the)i(three-dimensional)e +(deformation)g Fa(u)h Fn(of)g(an)f(elastic)h(b)r(o)r(dy)330 +1087 y(under)27 b(a)g(b)r(o)r(dy)h(force)e Fa(f)9 b Fn(.)37 +b(The)28 b(resp)r(ectiv)n(e)e(bilinear)h(form)g(asso)r(ciated)f(with)i +(this)g(op)r(erator)d(is)330 1186 y(then)868 1286 y Fk(a)p +Fn(\()p Fa(u)p Fk(;)14 b Fa(v)q Fn(\))24 b(=)f(\(\()p +Fk(\025)c Fn(+)f Fk(\026)p Fn(\))p Fj(r)h(\001)g Fa(u)p +Fk(;)14 b Fj(r)k(\001)h Fa(v)q Fn(\))1958 1311 y Fi(\012)2028 +1286 y Fn(+)2111 1207 y Fg(X)2152 1386 y Fh(k)2244 1286 +y Fn(\()q Fk(\026)p Fj(r)p Fk(u)2444 1298 y Fh(k)2484 +1286 y Fk(;)14 b Fj(r)p Fk(v)2630 1298 y Fh(k)2671 1286 +y Fn(\))2704 1311 y Fi(\012)2769 1286 y Fk(;)330 1499 +y Fn(or)27 b(as)g(a)g(sum)h(o)n(v)n(er)d(comp)r(onen)n(ts:)828 +1685 y Fk(a)p Fn(\()p Fa(u)p Fk(;)14 b Fa(v)q Fn(\))24 +b(=)1189 1606 y Fg(X)1210 1785 y Fh(k)q(;l)1322 1685 +y Fn(\()q(\()p Fk(\025)19 b Fn(+)f Fk(\026)p Fn(\))p +Fk(@)1663 1697 y Fh(l)1689 1685 y Fk(u)1737 1697 y Fh(l)1762 +1685 y Fk(;)c(@)1843 1697 y Fh(k)1884 1685 y Fk(v)1924 +1697 y Fh(k)1965 1685 y Fn(\))1997 1710 y Fi(\012)2067 +1685 y Fn(+)2150 1606 y Fg(X)2171 1785 y Fh(k)q(;l)2284 +1685 y Fn(\()p Fk(\026@)2410 1697 y Fh(l)2436 1685 y +Fk(u)2484 1697 y Fh(k)2524 1685 y Fk(;)g(@)2605 1697 +y Fh(l)2630 1685 y Fk(v)2670 1697 y Fh(k)2711 1685 y +Fn(\))2744 1710 y Fi(\012)2809 1685 y Fk(:)455 1951 y +Fn(When)25 b(assem)n(bling)g(matrices,)g(it)h(is)f(adv)-5 +b(an)n(tageous)23 b(to)i(write)h(the)f(w)n(eak)g(form)g(\(i.e.)36 +b(after)330 2050 y(in)n(tegration)g(b)n(y)h(parts\))f(as)h(a)g(kind)g +(of)g(op)r(erator.)64 b(This)37 b(is)g(since)g(matrix)f(elemen)n(ts)h +(after)330 2150 y(discretization)27 b(are)f(de\014ned)i(as)1519 +2325 y Fk(A)1581 2337 y Fh(ij)1662 2325 y Fn(=)23 b Fk(a)p +Fn(\()p Fk(')1880 2337 y Fh(j)1916 2325 y Fk(;)14 b(')2007 +2337 y Fh(i)2034 2325 y Fn(\))2066 2337 y Fi(\012)2118 +2325 y Fk(;)330 2499 y Fn(where)27 b Fk(')624 2511 y +Fh(i)652 2499 y Fk(;)14 b(')743 2511 y Fh(j)805 2499 +y Fn(are)26 b(t)n(w)n(o)h(v)n(ector-v)-5 b(alued)26 b(trial)g +(functions,)i(and)f(it)h(w)n(ould)f(b)r(e)g(nice)h(if)f(w)n(e)g(could) +330 2599 y(write)33 b(the)g(bilinear)g(form)f Fk(a)p +Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p Fn(\))34 b(as)e(a)g(kind)i(of)f +(scalar)e(pro)r(duct)i(\()p Fk(')2546 2611 y Fh(i)2574 +2599 y Fk(;)14 b(Q')2731 2611 y Fh(j)2766 2599 y Fn(\),)35 +b(where)d Fk(Q)h Fn(is)f(a)330 2699 y(di\013eren)n(tial)25 +b(op)r(erator.)34 b(This)25 b(is)g(trivial)f(if)i(w)n(e)e(tak)n(e)h +Fk(Q)f Fn(as)h(the)g(op)r(erator)e(of)i(the)h(strong)d(form,)330 +2798 y Fk(Q)g Fn(=)f Fj(\000r)p Fn(\()p Fk(\025)11 b +Fn(+)g Fk(\026)p Fn(\))p Fj(r)g(\001)g(\000)p Fn(\()p +Fj(r)g(\001)g Fk(\026)p Fj(r)p Fn(\),)28 b(but)c(w)n(e)g(w)n(an)n(ted)f +(to)h(do)g(this)g(for)g(the)g(w)n(eak)f(form.)35 b(F)-7 +b(or)24 b(this,)330 2898 y(w)n(e)33 b(in)n(tro)r(duce)h(some)f +(notation)g(that)h(is)g(used)g(in)g(quan)n(tum)g(\014eld)g(theory:)48 +b(for)33 b(di\013eren)n(tial)330 2998 y(op)r(erators,)i(w)n(e)h +(indicate)f(b)n(y)g(an)g(arro)n(w)f(placed)h(atop)g(of)g(it)h(whether)f +(it)h(shall)f(act)h(on)f(the)330 3109 y(ob)5 b(ject)26 +b(to)h(the)g(left)g(or)f(to)h(the)g(righ)n(t)f(of)g(it.)37 +b(Th)n(us,)27 b Fk(')2006 3052 y Fj( )-65 b(\000)2013 +3109 y(r)24 b(\001)2145 3052 y(\000)-65 b(!)2152 3109 +y(r)7 b Fk( )26 b Fn(=)d(\()p Fj(r)p Fk(')p Fn(\))18 +b Fj(\001)e Fn(\()p Fj(r)p Fk( )s Fn(\).)38 b(With)27 +b(this,)g(a)330 3209 y(simple)h(computation)f(sho)n(ws)g(that)413 +3479 y Fk(a)p Fn(\()p Fa(u)p Fk(;)14 b Fa(v)q Fn(\))24 +b(=)f(\()p Fk(\025)c Fn(+)f Fk(\026)p Fn(\))1052 3337 +y Fg( )1118 3362 y(\022)1179 3428 y Fk(u)1227 3440 y +Fi(1)1179 3528 y Fk(u)1227 3540 y Fi(2)1264 3362 y Fg(\023)1348 +3479 y Fj(j)1394 3337 y Fg( )1460 3370 y Fj( )-65 b(\000)1477 +3428 y Fk(@)1543 3440 y Fi(1)1580 3370 y Fj(\000)g(!)1597 +3428 y Fk(@)1663 3440 y Fi(1)1783 3370 y Fj( )g(\000)1801 +3428 y Fk(@)1866 3440 y Fi(1)1904 3370 y Fj(\000)g(!)1921 +3428 y Fk(@)1987 3440 y Fi(2)1460 3488 y Fj( )g(\000)1477 +3546 y Fk(@)1543 3558 y Fi(2)1580 3488 y Fj(\000)g(!)1597 +3546 y Fk(@)1663 3558 y Fi(1)1783 3488 y Fj( )g(\000)1801 +3546 y Fk(@)1866 3558 y Fi(2)1904 3488 y Fj(\000)g(!)1921 +3546 y Fk(@)1987 3558 y Fi(2)2024 3337 y Fg(!)2113 3479 +y Fj(j)2159 3362 y Fg(\022)2220 3428 y Fk(v)2260 3440 +y Fi(1)2220 3528 y Fk(v)2260 3540 y Fi(2)2297 3362 y +Fg(\023)2359 3337 y(!)2424 3587 y Fi(\012)1361 3740 y +Fn(+)18 b Fk(\026)1508 3623 y Fg(\022\022)1630 3690 y +Fk(u)1678 3702 y Fi(1)1630 3789 y Fk(u)1678 3801 y Fi(2)1714 +3623 y Fg(\023)1799 3740 y Fj(j)1845 3648 y Fg(\020)1894 +3683 y Fj( )-65 b(\000)1911 3740 y Fk(@)1977 3752 y Fi(1)2015 +3683 y Fj(\000)g(!)2032 3740 y Fk(@)2098 3752 y Fi(1)2153 +3740 y Fn(+)2236 3683 y Fj( )g(\000)2253 3740 y Fk(@)2319 +3752 y Fi(2)2357 3683 y Fj(\000)g(!)2374 3740 y Fk(@)2440 +3752 y Fi(2)2477 3648 y Fg(\021)2540 3623 y(\022)2601 +3690 y Fn(1)83 b(0)2601 3789 y(0)g(1)2767 3623 y Fg(\023)2852 +3740 y Fj(j)2898 3623 y Fg(\022)2959 3690 y Fk(v)2999 +3702 y Fi(1)2959 3789 y Fk(v)2999 3801 y Fi(2)3036 3623 +y Fg(\023\023)3159 3823 y Fi(\012)3224 3740 y Fk(:)330 +3964 y Fn(The)28 b(sough)n(t)e(op)r(erator)g Fk(Q)h Fn(is)h(then)464 +4209 y Fk(Q)23 b Fn(=)f(\()p Fk(\025)d Fn(+)g Fk(\026)p +Fn(\))919 4067 y Fg( )984 4101 y Fj( )-65 b(\000)1002 +4159 y Fk(@)1067 4171 y Fi(1)1105 4101 y Fj(\000)g(!)1122 +4159 y Fk(@)1188 4171 y Fi(1)1308 4101 y Fj( )g(\000)1325 +4159 y Fk(@)1391 4171 y Fi(1)1428 4101 y Fj(\000)g(!)1445 +4159 y Fk(@)1511 4171 y Fi(2)984 4219 y Fj( )g(\000)1002 +4277 y Fk(@)1067 4289 y Fi(2)1105 4219 y Fj(\000)g(!)1122 +4277 y Fk(@)1188 4289 y Fi(1)1308 4219 y Fj( )g(\000)1325 +4277 y Fk(@)1391 4289 y Fi(2)1428 4219 y Fj(\000)g(!)1445 +4277 y Fk(@)1511 4289 y Fi(2)1548 4067 y Fg(!)1633 4209 +y Fn(+)18 b Fk(\026)1780 4067 y Fg( )1845 4101 y Fj( )-65 +b(\000)1862 4159 y Fk(@)1928 4171 y Fi(1)1966 4101 y +Fj(\000)g(!)1983 4159 y Fk(@)2049 4171 y Fi(1)2104 4159 +y Fn(+)2187 4101 y Fj( )g(\000)2204 4159 y Fk(@)2270 +4171 y Fi(2)2308 4101 y Fj(\000)g(!)2325 4159 y Fk(@)2391 +4171 y Fi(2)2781 4159 y Fn(0)2116 4277 y(0)2511 4219 +y Fj( )g(\000)2528 4277 y Fk(@)2594 4289 y Fi(1)2631 +4219 y Fj(\000)g(!)2648 4277 y Fk(@)2714 4289 y Fi(1)2770 +4277 y Fn(+)2853 4219 y Fj( )g(\000)2870 4277 y Fk(@)2936 +4289 y Fi(2)2973 4219 y Fj(\000)g(!)2990 4277 y Fk(@)3056 +4289 y Fi(2)3093 4067 y Fg(!)3173 4209 y Fk(;)330 4459 +y Fn(and)38 b Fk(a)p Fn(\()p Fa(u)p Fk(;)14 b Fa(v)q +Fn(\))42 b(=)e(\()p Fa(u)p Fj(j)p Fk(Q)p Fj(j)p Fa(v)q +Fn(\).)70 b(W)-7 b(e)38 b(demonstrate)f(the)i(fact)f(that)h +Fk(Q)e Fn(acts)h(to)g(b)r(oth)h(sides)e(b)n(y)330 4558 +y(placing)e(it)h(in)f(the)h(middle)g(of)g(the)f(scalar)f(pro)r(duct,)k +(just)e(as)f(in)g(the)h(bra-k)n(et)e(notation)h(of)330 +4658 y(quan)n(tum)28 b(ph)n(ysics.)455 4758 y(The)20 +b(adv)-5 b(an)n(tages)18 b(of)j(this)f(form)n(ulation)f(will)i(b)r +(ecome)f(clear)f(when)i(discussing)e(assem)n(bling)330 +4857 y(matrices)k(b)r(elo)n(w.)36 b(F)-7 b(or)23 b(no)n(w,)h(w)n(e)g +(remark)f(that)h(the)h(symmetry)e(of)h(the)h(w)n(eak)e(form)h(is)g +(equally)330 4957 y(apparen)n(t)i(from)i(the)g(form)f(of)h +Fk(Q)f Fn(as)g(w)n(ell)g(as)g(from)g(the)h(initial)g(de\014nition)g(of) +g Fk(a)p Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p Fn(\).)330 +5188 y Fb(4.2)112 b(The)38 b(Stok)m(es)g(equations)330 +5341 y Fn(F)-7 b(or)27 b(a)g(nonsymmetric)g(problem,)g(w)n(e)h(tak)n(e) +e(the)i(Stok)n(es)f(equations:)1543 5516 y Fj(\000)p +Fn(\001)p Fa(u)18 b Fn(+)g Fj(r)p Fk(p)23 b Fn(=)g(0)p +Fk(;)1748 5641 y Fn(div)28 b Fa(u)23 b Fn(=)g(0)p Fk(:)1809 +5919 y Fn(6)p eop +%%Page: 7 7 +7 6 bop 330 390 a Fn(W)-7 b(e)31 b(denote)f(b)n(y)h Fa(w)e +Fn(=)e Fj(f)p Fa(u)p Fk(;)14 b(p)p Fj(g)30 b Fn(the)h(en)n(tire)f +(solution)g(v)n(ector.)44 b(In)31 b(the)g(w)n(eak)f(form,)h(the)f(ab)r +(o)n(v)n(e)330 490 y(equations)d(read)620 645 y Fk(a)p +Fn(\()p Fa(u)p Fk(;)14 b(p)p Fn(;)g Fa(v)q Fk(;)g(q)s +Fn(\))24 b(=)f Fk(\027)5 b Fn(\()p Fj(r)p Fa(u)1337 657 +y Fi(1)1375 645 y Fk(;)14 b Fj(r)p Fa(v)1531 657 y Fi(1)1568 +645 y Fn(\))19 b(+)f Fk(\027)5 b Fn(\()p Fj(r)p Fa(u)1902 +657 y Fi(2)1940 645 y Fk(;)14 b Fj(r)p Fa(v)2096 657 +y Fi(2)2134 645 y Fn(\))19 b Fj(\000)f Fn(\()p Fk(p;)c +Fj(r)k(\001)h Fa(v)q Fn(\))g(+)f(\()p Fj(r)h(\001)g Fa(u)p +Fk(;)14 b(q)s Fn(\))p Fk(:)330 799 y Fn(Since)34 b(w)n(e)f(in)n +(tegrated)f(the)i(gradien)n(t)e(term)h(in)h(the)g(\014rst)f(equation)g +(b)n(y)g(parts,)h(but)g(not)g(the)330 899 y(div)n(ergence)c(term)h(in)h +(the)g(second)f(equation,)h(the)g(problem)e(is)i(no)n(w)f +(nonsymmetric.)48 b(If)31 b(w)n(e)330 999 y(w)n(ould)g(ha)n(v)n(e)g +(lik)n(ed,)h(w)n(e)f(could)h(ha)n(v)n(e)e(made)i(the)g(problem)f +(symmetric)g(again)g(b)n(y)g(m)n(ultiply-)330 1098 y(ing)k(the)g(en)n +(tire)f(second)g(equation)g(b)n(y)h Fj(\000)p Fn(1,)g(but)h(w)n(e)e +(don't)h(w)n(an)n(t)f(to)h(do)f(that)h(for)f(no)n(w)h(for)330 +1198 y(illustrational)27 b(purp)r(oses.)455 1298 y(Again,)g(w)n(e)h(in) +n(tro)r(duce)f(the)h(op)r(erator)e Fk(Q)i Fn(for)f(this)h(problem,)g +(whic)n(h)g(after)f(some)g(compu-)330 1397 y(tations)g(turns)h(out)f +(to)h(b)r(e)782 1658 y Fk(Q)23 b Fn(=)958 1467 y Fg(0)958 +1613 y(B)958 1666 y(@)1031 1549 y Fk(\027)5 b Fn(\()1109 +1491 y Fj( )-65 b(\000)1127 1549 y Fk(@)1192 1561 y Fi(1)1230 +1491 y Fj(\000)g(!)1247 1549 y Fk(@)1313 1561 y Fi(1)1368 +1549 y Fn(+)1451 1491 y Fj( )g(\000)1469 1549 y Fk(@)1534 +1561 y Fi(2)1572 1491 y Fj(\000)g(!)1589 1549 y Fk(@)1655 +1561 y Fi(2)1692 1549 y Fn(\))409 b(0)g Fj(\000)2649 +1491 y( )-65 b(\000)2665 1549 y Fk(@)2731 1561 y Fi(1)1357 +1667 y Fn(0)408 b Fk(\027)5 b Fn(\()1885 1609 y Fj( )-65 +b(\000)1903 1667 y Fk(@)1969 1679 y Fi(1)2006 1609 y +Fj(\000)g(!)2023 1667 y Fk(@)2089 1679 y Fi(1)2145 1667 +y Fn(+)2228 1609 y Fj( )g(\000)2245 1667 y Fk(@)2311 +1679 y Fi(2)2348 1609 y Fj(\000)g(!)2365 1667 y Fk(@)2431 +1679 y Fi(2)2468 1667 y Fn(\))84 b Fj(\000)2649 1609 +y( )-65 b(\000)2665 1667 y Fk(@)2731 1679 y Fi(2)1317 +1727 y Fj(\000)g(!)1335 1785 y Fk(@)1400 1797 y Fi(1)2094 +1727 y Fj(\000)g(!)2111 1785 y Fk(@)2177 1797 y Fi(2)2655 +1785 y Fn(0)2769 1467 y Fg(1)2769 1613 y(C)2769 1666 +y(A)2855 1658 y Fk(:)330 1936 y Fn(Again,)22 b(it)g(is)g(clear)e(from)h +(this)h(form)f(that)h(w)n(e)f(could)g(ha)n(v)n(e)f(made)i(the)g(op)r +(erator)d(symmetric)i(b)n(y)330 2035 y(m)n(ultiplying)i(the)g(last)g +(ro)n(w)f(b)n(y)g Fj(\000)p Fn(1.)35 b(Note)23 b(when)g(c)n(hec)n(king) +e(the)j(symmetry)e(of)h Fk(Q)g Fn(that)g(taking)330 2135 +y(the)j(transp)r(ose)e(of)h(suc)n(h)h(an)f(op)r(erator)e(means)i(rev)n +(erting)f(the)i(directions)f(of)g(the)h(arro)n(ws)d(o)n(v)n(er)330 +2235 y(the)k(op)r(erators,)e(and)i(exc)n(hanging)e(their)i(order.)36 +b(F)-7 b(or)26 b(example,)g(using)h(the)g(\014rst)g(term,)g(these)330 +2347 y(t)n(w)n(o)g(steps)g(are)834 2290 y Fj( )-65 b(\000)851 +2347 y Fk(@)917 2359 y Fi(1)954 2290 y Fj(\000)g(!)971 +2347 y Fk(@)1037 2359 y Fi(1)1097 2347 y Fj(!)1204 2290 +y(\000)g(!)1221 2347 y Fk(@)1287 2359 y Fi(1)1324 2290 +y Fj( )g(\000)1341 2347 y Fk(@)1407 2359 y Fi(1)1467 +2347 y Fj(!)1573 2290 y( )g(\000)1590 2347 y Fk(@)1656 +2359 y Fi(1)1694 2290 y Fj(\000)g(!)1711 2347 y Fk(@)1777 +2359 y Fi(1)1814 2347 y Fn(.)330 2617 y Fo(5)135 b(Assem)l(bling)37 +b(v)l(ector-v)-7 b(alued)38 b(problems:)57 b(The)36 b(simple)532 +2766 y(case)330 2948 y Fn(The)j(simple)g(case)f(in)h(assem)n(bling)e(v) +n(ector-v)-5 b(alued)37 b(problems)h(is)h(when)g(the)g(\(also)f(v)n +(ector-)330 3048 y(v)-5 b(alued\))31 b(shap)r(e)g(functions)g(are)e(c)n +(hosen)h(suc)n(h)h(that)g(only)f(one)g(comp)r(onen)n(t)h(in)g(the)g(v)n +(ector)e(is)330 3148 y(nonzero.)38 b(This)29 b(is)f(usually)h(the)f +(case,)g(if)i(w)n(e)e(c)n(ho)r(ose)f(the)i(shap)r(e)f(functions)h(to)g +(b)r(e)g(the)g(outer)330 3247 y(pro)r(duct)34 b(of)g(scalar)e(shap)r(e) +i(functions,)i(suc)n(h)d(as)g(indep)r(enden)n(t)i(bilinear)f(ansatz)f +(spaces)g(for)330 3347 y(eac)n(h)27 b(comp)r(onen)n(t)g(of)h(a)f +(\014nite)h(elemen)n(t)g(space.)455 3446 y(In)f(this)h(case,)f(eac)n(h) +g(shap)r(e)g(function)h(\010)1724 3458 y Fh(i)1780 3446 +y Fn(has)f(the)h(represen)n(tation)1194 3601 y(\010)1254 +3613 y Fh(i)1281 3601 y Fn(\()p Fa(x)p Fn(\))c(=)f(\(0)p +Fk(;)14 b(:)g(:)g(:)f(;)h Fn(0)p Fk(;)g(')1898 3613 y +Fh(i)1926 3601 y Fn(\()p Fa(x)p Fn(\))p Fk(;)g Fn(0)p +Fk(;)g(:)g(:)g(:)f(;)h Fn(0\))2377 3559 y Fh(T)2443 3601 +y Fk(;)330 3756 y Fn(where)27 b(\010)630 3768 y Fh(i)686 +3756 y Fn(is)g(the)h(v)n(ector-v)-5 b(alued)26 b(shap)r(e)i(function,)g +(and)f Fk(')2219 3768 y Fh(i)2275 3756 y Fn(its)h(only)f(non-zero)f +(comp)r(onen)n(t.)330 3856 y(Let)34 b(us)f(denote)g(b)n(y)h +Fk(c)p Fn(\()p Fk(i)p Fn(\))f(the)h(index)g(of)f(this)h(non-zero)d +(comp)r(onen)n(t,)k(then)f(\010)2853 3868 y Fh(i)2914 +3856 y Fn(can)f(also)g(b)r(e)330 3955 y(written)28 b(as)1425 +4110 y(\(\010)1517 4122 y Fh(i)1545 4110 y Fn(\()p Fa(x)p +Fn(\)\))1692 4135 y Fh(l)1740 4110 y Fn(=)23 b Fk(')1882 +4122 y Fh(i)1910 4110 y Fn(\()p Fa(x)p Fn(\))p Fk(\016)2061 +4125 y Fh(c)p Fi(\()p Fh(i)p Fi(\))p Fh(;l)2212 4110 +y Fk(;)330 4265 y Fn(with)28 b(the)g(Kronec)n(k)n(er)d(delta)i +(function)i Fk(\016)1627 4277 y Fh(j)s(k)1698 4265 y +Fn(.)455 4365 y(With)f(this)g(simple)g(form,)f(the)h(cell)g(matrix)f +(on)g(cell)h Fk(K)33 b Fn(has)27 b(a)g(simple)h(form:)751 +4519 y Fk(A)813 4485 y Fh(K)813 4540 y(ij)900 4519 y +Fn(=)22 b Fk(a)1031 4531 y Fh(K)1095 4519 y Fn(\(\010)1187 +4531 y Fh(i)1215 4519 y Fk(;)14 b Fn(\010)1312 4531 y +Fh(j)1347 4519 y Fn(\))23 b(=)g(\(\010)1582 4531 y Fh(i)1633 +4519 y Fj(j)g Fk(Q)g Fj(j)g Fn(\010)1874 4531 y Fh(j)1909 +4519 y Fn(\))1941 4547 y Fh(K)2028 4519 y Fn(=)2116 4452 +y Fg(\000)2154 4519 y Fk(')2208 4531 y Fh(i)2259 4519 +y Fj(j)g Fk(Q)2371 4534 y Fh(c)p Fi(\()p Fh(i)p Fi(\))p +Fh(;c)p Fi(\()p Fh(j)s Fi(\))2635 4519 y Fj(j)g Fk(')2735 +4531 y Fh(j)2771 4452 y Fg(\001)2809 4553 y Fh(K)2886 +4519 y Fk(:)330 4674 y Fn(Th)n(us,)35 b(in)e(assem)n(bling)f(the)i(lo)r +(cal)f(cell)g(matrices,)h(w)n(e)f(only)g(ha)n(v)n(e)f(to)h(determine)h +(the)g(single)330 4774 y(comp)r(onen)n(ts)d(in)h(whic)n(h)g(the)g(t)n +(w)n(o)f(shap)r(e)h(functions)g(are)e(non-zero,)i(and)f(pic)n(k)h(one)f +(elemen)n(t)330 4873 y(from)h(the)g(matrix)g Fk(Q)f Fn(to)h(assem)n +(ble)f(eac)n(h)g(en)n(try)h(of)g(the)g(cell)g(matrix)g(with)g(the)g +(help)h(of)f(the)330 4973 y(v)-5 b(alues)29 b(of)f(the)i(functions)f +Fk(')1232 4985 y Fh(i)1289 4973 y Fn(at)g(the)g(quadrature)e(p)r(oin)n +(ts.)41 b(Here,)29 b(it)g(comes)g(handy)f(that)h(w)n(e)330 +5073 y(ha)n(v)n(e)k(written)i(the)f(op)r(erator)f(as)h(a)g(matrix)g(op) +r(erator)e Fk(Q)p Fn(,)k(since)e(this)h(mak)n(es)e(it)i(v)n(ery)e +(clear)330 5172 y(ho)n(w)27 b(shap)r(e)g(functions)h +Fk(i)f Fn(and)g Fk(j)32 b Fn(couple:)37 b(if)28 b Fk(Q)1810 +5187 y Fh(c)p Fi(\()p Fh(i)p Fi(\))p Fh(;c)p Fi(\()p +Fh(j)s Fi(\))2078 5172 y Fn(is)g(zero,)e(then)i(they)g(do)f(not)g +(couple)g(at)330 5272 y(all)j(for)g(this)h(op)r(erator.)45 +b(Otherwise,)30 b(it)h(is)g(easily)f(visible)g(whic)n(h)h(deriv)-5 +b(ativ)n(e)30 b(acts)g(on)g(whic)n(h)330 5372 y(shap)r(e)d(function)i +(for)e(this)h(com)n(bination)e(of)i(shap)r(e)f(functions.)455 +5471 y(In)21 b Fm(deal.II)p Fn(,)d(these)j(t)n(w)n(o)g(actions)f(men)n +(tioned)h(ab)r(o)n(v)n(e)f(\(getting)h(the)h(non-zero)d(comp)r(onen)n +(t)330 5571 y(of)29 b(a)f(shap)r(e)h(function,)h(and)f(the)g(v)-5 +b(alue)29 b(of)g(this)g(comp)r(onen)n(t)g(at)g(a)f(giv)n(en)g +(quadrature)g(p)r(oin)n(t\))330 5670 y(are)f(done)g(as)g(follo)n(ws:) +1809 5919 y(7)p eop +%%Page: 8 8 +8 7 bop 455 390 a Fj(\017)41 b Fl(Determining)27 b(the)g(non-zer)l(o)f +(c)l(omp)l(onent:)41 b Fn(Giv)n(en)25 b(the)g(shap)r(e)f(function)h +(with)g(n)n(um)n(b)r(er)538 490 y Fk(i)30 b Fn(\(i.e.)48 +b(its)31 b(index)g(lo)r(cal)f(to)h(the)h(degrees)d(of)i(freedom)g(on)f +(the)i(presen)n(t)e(cell\),)i(its)f(only)538 589 y(non-zero)25 +b(comp)r(onen)n(t)j(is)f(obtained)h(b)n(y)f(the)h(function)g(call)625 +789 y Fm(const)41 b(unsigned)g(int)h(nonzero_componen)o(t_)o(i)755 +888 y(=)i(fe.system_to_co)o(mpo)o(ne)o(nt_)o(in)o(de)o(x\(i)o(\).)o +(fir)o(st)o(;)538 1088 y Fn(The)20 b Fm(FiniteElement::sy)o(st)o(em)p +1628 1088 27 4 v 25 w(to)p 1741 1088 V 31 w(component)p +2168 1088 V 27 w(index)f Fn(returns)h(a)g(pair)g(of)h(n)n(um)n(b)r(ers) +538 1187 y(for)38 b(eac)n(h)g(index)h(0)i Fj(\024)g Fk(i)h(<)f(N)1542 +1199 y Fh(K)1606 1187 y Fn(,)g(the)f(\014rst)e(of)h(whic)n(h)g(denotes) +f(the)h(only)g(non-zero)538 1287 y(comp)r(onen)n(t)21 +b(of)g(the)g(shap)r(e)h(function)f Fk(i)p Fn(.)35 b(Since)21 +b(for)g(the)h(case)e(describ)r(ed)h(in)h(this)f(section,)538 +1386 y(the)f(individual)g(comp)r(onen)n(ts)g(of)g(the)g(v)n(ector-v)-5 +b(alued)18 b(\014nite)j(elemen)n(t)f(are)f(indep)r(enden)n(t,)538 +1486 y(w)n(e)35 b(consider)g(eac)n(h)h(comp)r(onen)n(t)g(as)f(a)h(set)g +(of)g(scalar)e(shap)r(e)i(functions;)41 b(the)c(second)538 +1586 y(n)n(um)n(b)r(er)d(of)h(the)g(pair)g(returned)f(b)n(y)h(the)g +(function)g(then)h(denotes)f(the)g(index)g(of)g(the)538 +1685 y(shap)r(e)18 b(function)i Fk(')1133 1697 y Fh(i)1180 +1685 y Fn(within)g(the)f(shap)r(e)g(functions)h(corresp)r(onding)d(to)i +(this)g(comp)r(onen)n(t.)538 1818 y(If,)40 b(for)e(example,)i(our)d +(\014nite)h(elemen)n(t)g(in)g(use)g(is)f(a)h Fk(Q)2352 +1788 y Fi(2)2389 1818 y Fk(=Q)2497 1788 y Fi(2)2533 1818 +y Fk(=Q)2641 1788 y Fi(1)2715 1818 y Fn(com)n(bination)f(\(for)538 +1918 y(example)30 b(for)h(2d)g(\015o)n(w)g(computations:)44 +b(bi-quadratic)30 b(ansatz)h(functions)g(for)g(the)h(v)n(e-)538 +2017 y(lo)r(cities,)25 b(bi-linear)g(for)g(the)h(pressure\),)f(then)h +(w)n(e)f(ha)n(v)n(e)f(a)h(total)g(of)h(22)e(shap)r(e)i(functions)538 +2117 y(\(9+9+4\).)34 b(F)-7 b(or)25 b(eac)n(h)f(0)f Fj(\024)g +Fk(i)f(<)h Fn(22,)i(the)g(\014rst)h(part)e(of)i(the)f(pair)g(returned)g +(b)n(y)g(the)h(func-)538 2217 y(tion)31 b(describ)r(ed)f(ab)r(o)n(v)n +(e,)h Fk(c)p Fn(\()p Fk(i)p Fn(\),)h(ma)n(y)e(then)i(either)e(b)r(e)i +(0,)f(1,)h(or)e(2,)h(denoting)g(the)g(three)538 2316 +y(p)r(ossible)i(comp)r(onen)n(ts)h(of)g(the)h(\014nite)g(elemen)n(t.)57 +b(If)35 b Fk(c)p Fn(\()p Fk(i)p Fn(\))f(is)g(either)g(0)g(or)f(1,)j +(then)f(the)538 2416 y(comp)r(onen)n(t)30 b(to)h(whic)n(h)g(the)h(shap) +r(e)f(function)h Fk(i)e Fn(b)r(elongs)h(is)g(a)g(bi-quadratic)f(one,)h +(and)538 2516 y(the)24 b(second)f(index)i(is)f(b)r(et)n(w)n(een)g(0)f +(and)h(8)g(\(inclusiv)n(e\))g(as)f(the)i Fk(Q)2550 2485 +y Fi(2)2611 2516 y Fn(elemen)n(t)f(has)g(9)f(shap)r(e)538 +2615 y(functions.)37 b(If)28 b Fk(c)p Fn(\()p Fk(i)p +Fn(\))23 b(==)f(2,)27 b(then)i(the)e(second)g(part)h(is)f(b)r(et)n(w)n +(een)h(0)f(and)g(3)g(\(inclusiv)n(e\).)455 2781 y Fj(\017)41 +b Fl(Getting)f(the)g(value)h(of)f Fk(')1380 2793 y Fh(i)1408 +2781 y Fn(\()p Fa(x)1490 2793 y Fh(q)1528 2781 y Fn(\))p +Fl(:)65 b Fn(Since)39 b(only)f(one)h(comp)r(onen)n(t)g(of)f(\010)2836 +2793 y Fh(i)2903 2781 y Fn(is)h(non-zero,)538 2881 y(w)n(e)30 +b(can)h(use)f(the)i(same)e(function)h(as)g(b)r(efore,)g(i.e.)47 +b Fm(FEValues::shape)p 2851 2881 V 25 w(value\(i,q\))p +Fn(,)538 2980 y(whic)n(h)36 b(in)h(the)g(scalar)e(case)h(returned)h +(the)g(v)-5 b(alue)36 b(of)h(shap)r(e)f(function)i Fk(i)e +Fn(at)h(quadra-)538 3080 y(ture)23 b(p)r(oin)n(t)g Fk(q)s +Fn(.)35 b(Lik)n(ewise,)24 b(the)f Fm(FEValues::shape)p +2176 3080 V 25 w(grad\(i,q\))d Fn(function)j(returns)g(the)538 +3180 y(gradien)n(t)j(of)i(this)f(particular)g(comp)r(onen)n(t.)538 +3313 y(In)h(other)f(w)n(ords,)g(whether)h(the)h(\014nite)f(elemen)n(t)g +(is)g(scalar)f(or)g(not,)h(the)h(t)n(w)n(o)e(indicated)538 +3412 y(functions)22 b(return)f(v)-5 b(alue)21 b(and)h(gradien)n(t)e(of) +i(the)g(only)f(non-zero)f(comp)r(onen)n(t)h(of)h(a)f(shap)r(e)538 +3512 y(function.)36 b(If)23 b(the)h(\014nite)f(elemen)n(t)h(is)f +(scalar,)f(then)i(it)f(is)h(of)f(course)f(clear)g(whic)n(h)h(comp)r(o-) +538 3611 y(nen)n(t)k(this)g(is)f(\(since)h(there)g Fk(c)p +Fn(\()p Fk(i)p Fn(\))c(==)f(0)k(for)h(all)f(v)-5 b(alid)27 +b(indices)g Fk(i)p Fn(\),)g(in)g(the)g(v)n(ector-v)-5 +b(alued)538 3711 y(case,)26 b(it)i(is)g(comp)r(onen)n(t)f +Fk(c)p Fn(\()p Fk(i)p Fn(\).)330 3943 y Fb(5.1)112 b(The)38 +b(elastic)g(equations)330 4097 y Fn(With)29 b(this,)g(and)g(the)f +(de\014nition)h(of)g(the)f(\\bi-directional")f(op)r(erator)g +Fk(Q)h Fn(in)g(Section)h(4.1,)f(the)330 4196 y(lo)r(cal)d(matrix)g +(assem)n(bly)f(function)j(for)e(the)g(elastic)h(equations)e(w)n(ould)h +(then)h(read)f(as)g(follo)n(ws:)417 4362 y Fm(for)43 +b(\(unsigned)c(int)k(i=0;)f(i)22 b Fn(class.)330 2416 y Fb(5.2)112 +b(The)38 b(Stok)m(es)g(equations)330 2569 y Fn(F)-7 b(or)27 +b(the)i(Stok)n(es)e(equation,)h(things)f(are)g(sligh)n(tly)h(more)f +(complicated)h(since)g(the)g(three)g(com-)330 2669 y(p)r(onen)n(ts)23 +b(denote)g(di\013eren)n(t)g(quan)n(tities,)h(and)f(the)g(op)r(erator)f +Fk(Q)h Fn(do)r(es)f(not)i(ha)n(v)n(e)d(suc)n(h)i(a)g(simple)330 +2768 y(form,)29 b(but)g(the)h(case)e(is)h(still)g(simple)g(enough.)40 +b(W)-7 b(e)29 b(presen)n(t)g(its)g(generalization)e(to)h(an)h(arbi-)330 +2868 y(trary)c(n)n(um)n(b)r(er)g(of)h(space)f(dimensions,)h(i.e.)36 +b(assume)25 b(that)h(there)g(are)f Fm(dim)f Fn(v)n(elo)r(cit)n(y)h(v)-5 +b(ariables)330 2968 y(and)27 b(one)h(scalar)e(pressure:)417 +3134 y Fm(for)43 b(\(unsigned)c(int)k(i=0;)f(i quadrature_formula; + FEValues<2> fe_values (fe, quadrature_formula, + UpdateFlags(update_values | + update_gradients | + update_JxW_values)); +\end{verbatim} +In practice, you may want to use a different set of fields to be updated on +each cell. For example if you do not need the values of shape functions on a +cell, you may omit \texttt{update\_values} from the list. Also note that by +default a bi- or tri-linear (depending on space dimension) mapping between +unit and real cell is used. Other mappings are possible, for example quadratic +ones, or a mapping that makes use of the fact that in many cases cells are +actually rectangular, rather than arbitrary quadrilaterals; in order to use +them, another constructor of the \texttt{FEValues} class can be used, which +takes a mapping object as first argument, before the other arguments listed +above. + +Next we define abbreviations for the values of $N_K$ and $N_q$: +\begin{verbatim} + const unsigned int + dofs_per_cell = fe.dofs_per_cell, + n_q_points = quadrature_formula.n_quadrature_points; +\end{verbatim} +Then have an object to store the matrix $\hat A^K$, which is of size +$N_K\times N_K$: +\begin{verbatim} + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); +\end{verbatim} +And an object representing the set of global indices of degrees of freedom, +previously denoted by $I_K$, that have support on the present cell, i.e. those +degrees of freedom local to the present cell: +\begin{verbatim} + std::vector local_dof_indices (dofs_per_cell); +\end{verbatim} +The next step is then to loop over all cells: +\begin{verbatim} + typename DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) + { +\end{verbatim} +On each cell, first tell the \texttt{FEValues} object to compute the values of +the various fields for this particular cell, and do not forget to reset the +local matrix $\hat A^K$ to zero before adding it up: +\begin{verbatim} + fe_values.reinit (cell); + cell_matrix.clear (); +\end{verbatim} +Now comes the main part, assembling the local matrix $\hat A^K$. It consists +of a loop over all indices $0\le i,j \le N_K$ and all quadrature points $0\le +q\le N_q$, and summing up the contributions. As this is what we will discuss +in detail later on, we only denote it here by an ellipse: +\begin{verbatim} + for (unsigned int i=0; iget_dof_indices (local_dof_indices); + + for (unsigned int i=0; i}, which +represents a tensor of rank 1 in \texttt{dim} space dimensions. + +Assembling matrices for scalar problems is also shown from a practical +perspective in many of the example programs of \texttt{deal.II}, where it is +also demonstrated how to do this for the right hand side vectors. Thus, scalar +problems are not too interesting, and we now turn to vector-valued problems. + + + +\section{Vector-valued problems} + +Since we need some problems at which we will explain assembling the matrix for +the vector-valued case, we now briefly introduce two simple equations. The +first are the Lam\'e equations of elasticity, which are taken for the symmetric +case, then we briefly introduce the Stokes equations as a nonsymmetric problem. + +\subsection{The elastic equations} +\label{sec:elastic} + +As first example for the methods we are going to discuss for vector-valued +problems, we consider the elastic Lam\'e equations for isotropic materials, +which read in strong form: +$$ + - + \nabla (\lambda+\mu) (\div \vec u) + - + (\nabla \cdot \mu \nabla) \vec u + = + \vec f. +$$ +These equations describe the three-dimensional deformation $\vec u$ of an +elastic body under a body force $\vec f$. The respective bilinear form +associated with this operator is then +$$ + a(\vec u, \vec v) = + \left( + (\lambda+\mu) \div \vec u, \div \vec v + \right)_\Omega + + + \sum_k + \left( + \mu \nabla u_k, \nabla v_k + \right)_\Omega, +$$ +or as a sum over components: +$$ + a(\vec u, \vec v) = + \sum_{k,l} + \left( + (\lambda+\mu) \partial_l u_l, \partial_k v_k + \right)_\Omega + + + \sum_{k,l} + \left( + \mu \partial_l u_k, \partial_l v_k + \right)_\Omega. +$$ + +When assembling matrices, it is advantageous to write the weak form +(i.e. after integration by parts) as a kind of operator. This is since matrix +elements after discretization are defined as +\begin{gather*} + A_{ij} = a(\varphi_j,\varphi_i)_\Omega, +\end{gather*} +where $\varphi_i,\varphi_j$ are two vector-valued trial functions, and it +would be nice if we could write the bilinear form $a(\cdot,\cdot)$ as a kind +of scalar product $(\varphi_i, Q \varphi_j)$, where $Q$ is a differential +operator. This is trivial if we take $Q$ as the operator of the strong form, +$Q=-\nabla (\lambda+\mu) \div - (\nabla \cdot \mu \nabla)$, but we wanted to +do this for the weak form. For this, we introduce some notation that is used +in quantum field theory: for differential operators, we indicate by an arrow +placed atop of it whether it shall act on the object to the left or to the +right of it. Thus, +$\varphi \overleftarrow\nabla \cdot \overrightarrow\nabla \psi +=(\nabla\varphi)\cdot(\nabla\psi)$. With this, a simple computation shows +that +\begin{multline*} + a(\vec u,\vec v) + = + (\lambda+\mu) + \left( + \begin{pmatrix} + u_1 \\ u_2 + \end{pmatrix} + \mid + \begin{pmatrix} + \leftpartial_1 \rightpartial_1 & + \leftpartial_1 \rightpartial_2 \\ + \leftpartial_2 \rightpartial_1 & + \leftpartial_2 \rightpartial_2 + \end{pmatrix} + \mid + \begin{pmatrix} + v_1 \\ v_2 + \end{pmatrix} + \right)_\Omega + \\ + + + \mu + \left( + \begin{pmatrix} + u_1 \\ u_2 + \end{pmatrix} + \mid + \left( + \leftpartial_1 \rightpartial_1 + + \leftpartial_2 \rightpartial_2 + \right) + \begin{pmatrix} + 1 & 0 \\ + 0 & 1 + \end{pmatrix} + \mid + \begin{pmatrix} + v_1 \\ v_2 + \end{pmatrix} + \right)_\Omega. +\end{multline*} +The sought operator $Q$ is then +\begin{gather*} + Q + = + (\lambda+\mu) + \begin{pmatrix} + \leftpartial_1 \rightpartial_1 & + \leftpartial_1 \rightpartial_2 \\ + \leftpartial_2 \rightpartial_1 & + \leftpartial_2 \rightpartial_2 + \end{pmatrix} + + + \mu + \begin{pmatrix} + \leftpartial_1 \rightpartial_1 + + \leftpartial_2 \rightpartial_2 & 0 \\ + 0 & \leftpartial_1 \rightpartial_1 + + \leftpartial_2 \rightpartial_2 + \end{pmatrix}, +\end{gather*} +and $a(\vec u,\vec v)=(\vec u | Q | \vec v)$. We demonstrate the fact that $Q$ +acts to both sides by placing it in the middle of the scalar product, just as +in the bra-ket notation of quantum physics. + +The advantages of this formulation will become clear when discussing +assembling matrices below. For now, we remark that the symmetry of the weak +form is equally apparent from the form of $Q$ as well as from the initial +definition of $a(\cdot,\cdot)$. + + + +\subsection{The Stokes equations} +\label{sec:stokes} + +For a nonsymmetric problem, we take the Stokes equations: +\begin{align*} + -\Delta \vec u + \nabla p &= 0, + \\ + \text{div } \vec u &= 0. +\end{align*} +We denote by $\vec w=\{\vec u,p\}$ the entire solution vector. In the weak +form, the above equations read +\begin{gather*} + a(\vec u,p; \vec v, q) + = + \nu(\nabla \vec u_1, \nabla \vec v_1) + +\nu(\nabla \vec u_2, \nabla \vec v_2) + - (p, \nabla\cdot \vec v) + + (\nabla\cdot\vec u, q). +\end{gather*} +Since we integrated the gradient term in the first equation by parts, but not +the divergence term in the second equation, the problem is now +nonsymmetric. If we would have liked, we could have made the problem symmetric +again by multiplying the entire second equation by $-1$, but we don't want to +do that for now for illustrational purposes. + +Again, we introduce the operator $Q$ for this problem, which after some +computations turns out to be +\begin{gather*} + Q + = + \begin{pmatrix} + \nu(\leftpartial_1 \rightpartial_1 + + \leftpartial_2 \rightpartial_2) & 0 & -\leftpartial_1 \\ + 0 & \nu(\leftpartial_1 \rightpartial_1 + + \leftpartial_2 \rightpartial_2) & -\leftpartial_2 \\ + \rightpartial_1 & \rightpartial_2 & 0 + \end{pmatrix}. +\end{gather*} +Again, it is clear from this form that we could have made the operator +symmetric by multiplying the last row by $-1$. Note when checking the symmetry +of $Q$ that taking the transpose of such an operator means reverting the +directions of the arrows over the operators, and exchanging their order. +For example, using the first term, these two steps are +$\leftpartial_1 \rightpartial_1 \rightarrow \rightpartial_1 \leftpartial_1 +\rightarrow \leftpartial_1 \rightpartial_1$. + + +\section{Assembling vector-valued problems: The simple case} + +The simple case in assembling vector-valued problems is when the (also +vector-valued) shape functions are chosen such that only one component in the +vector is nonzero. This is usually the case, if we choose the shape functions +to be the outer product of scalar shape functions, such as independent +bilinear ansatz spaces for each component of a finite element space. + +In this case, each shape function $\Phi_i$ has the representation +\begin{gather*} + \Phi_i(\vec x) = + \left( 0, \dots, 0, \varphi_i(\vec x), 0, \ldots, 0\right)^T, +\end{gather*} +where $\Phi_i$ is the vector-valued shape function, and $\varphi_i$ its +only non-zero component. Let us denote by $c(i)$ the index of this non-zero +component, then $\Phi_i$ can also be written as +\begin{gather*} + \left(\Phi_i(\vec x)\right)_l + = + \varphi_i(\vec x) \delta_{c(i),l}, +\end{gather*} +with the Kronecker delta function $\delta_{jk}$. + +With this simple form, the cell matrix on cell $K$ has a simple form: +\begin{gather*} + A^K_{ij} + = + a_K(\Phi_i,\Phi_j) + = + \left(\Phi_i \mid Q \mid \Phi_j \right)_K + = + \left(\varphi_i \mid Q_{c(i),c(j)} \mid \varphi_j \right)_K. +\end{gather*} +Thus, in assembling the local cell matrices, we only have to determine the +single components in which the two shape functions are non-zero, and +pick one element from the matrix $Q$ to assemble each entry of the cell +matrix with the help of the values of the functions $\varphi_i$ at the +quadrature points. Here, it comes handy that we have written the operator as a +matrix operator $Q$, since this makes it very clear how shape functions $i$ +and $j$ couple: if $Q_{c(i),c(j)}$ is zero, then they do not couple at all for +this operator. Otherwise, it is easily visible which derivative acts on which +shape function for this combination of shape functions. + +In \texttt{deal.II}, these two actions mentioned above (getting the non-zero +component of a shape function, and the value of this component at a given +quadrature point) are done as follows: +\begin{itemize} +\item \textit{Determining the non-zero component:} Given the shape function + with number $i$ (i.e. its index local to the degrees of freedom on the + present cell), its only non-zero component is obtained by the function call +\begin{verbatim} + const unsigned int nonzero_component_i + = fe.system_to_component_index(i).first; +\end{verbatim} + The \texttt{FiniteElement::system\_to\_component\_index} returns a pair of + numbers for each index $0\le i < N_K$, the first of which denotes the only + non-zero component of the shape function $i$. Since for the case described + in this section, the individual components of the vector-valued finite + element are independent, we consider each component as a set of scalar shape + functions; the second number of the pair returned by the function then + denotes the index of the shape function $\varphi_i$ within the shape + functions corresponding to this component. + + If, for example, our finite element in use is a $Q^2/Q^2/Q^1$ combination + (for example for 2d flow computations: bi-quadratic ansatz functions for the + velocities, bi-linear for the pressure), then we have a total of 22 shape + functions (9+9+4). For each $0\le i < 22$, the first part of the pair + returned by the function described above, $c(i)$, may then either be 0, 1, + or 2, denoting the three possible components of the finite element. If + $c(i)$ is either 0 or 1, then the component to which the shape function $i$ + belongs is a bi-quadratic one, and the second index is between $0$ and $8$ + (inclusive) as the $Q^2$ element has 9 shape functions. If $c(i)==2$, then + the second part is between 0 and 3 (inclusive). + +\item \textit{Getting the value of $\varphi_i(\vec x_q)$:} Since only one + component of $\Phi_i$ is non-zero, we can use the same function as before, + i.e. \texttt{FEValues::shape\_value(i,q)}, which in the scalar case returned + the value of shape function $i$ at quadrature point $q$. Likewise, the + \texttt{FEValues::shape\_grad(i,q)} function returns the gradient of this + particular component. + + In other words, whether the finite element is scalar or not, the two + indicated functions return value and gradient of the only non-zero component + of a shape function. If the finite element is scalar, then it is of course + clear which component this is (since there $c(i)==0$ for all valid indices + $i$), in the vector-valued case, it is component $c(i)$. +\end{itemize} + + +\subsection{The elastic equations} +\label{sec:elastic-simple} + +With this, and the definition of the ``bi-directional'' operator $Q$ in +Section~\ref{sec:elastic}, the local matrix assembly function for the elastic +equations would then read as follows: +\begin{verbatim} + for (unsigned int i=0; i} class. + + +\subsection{The Stokes equations} +\label{sec:stokes-simple} + +For the Stokes equation, things are slightly more complicated since the three +components denote different quantities, and the operator $Q$ does not have +such a simple form, but the case is still simple enough. We present its +generalization to an arbitrary number of space dimensions, i.e. assume that +there are \texttt{dim} velocity variables and one scalar pressure: +\begin{verbatim} + for (unsigned int i=0; i