--- mythtv-0.21.0+fixes18207.orig/debian/background.xpm +++ mythtv-0.21.0+fixes18207/debian/background.xpm @@ -0,0 +1,11333 @@ +/* XPM */ +static char * background_xpm[] = { +"600 423 10907 3", +" c None", +". c #000000", +"+ c #000102", +"@ c #000203", +"# c #000306", +"$ c #002640", +"% c #00223A", +"& c #002239", +"* c #002139", +"= c #00213A", +"- c #00233B", +"; c #00243F", +"> c #00223B", +", c #00233D", +"' c #002740", +") c #002742", +"! c #002746", +"~ c #002946", +"{ c #002C4A", +"] c #002F4E", +"^ c #003050", +"/ c #002F4F", +"( c #002D4C", +"_ c #002B48", +": c #002741", +"< c #00223C", +"[ c #002641", +"} c #00243E", +"| c #002643", +"1 c #002D4B", +"2 c #002644", +"3 c #00253E", +"4 c #002A46", +"5 c #002846", +"6 c #00223D", +"7 c #003051", +"8 c #053556", +"9 c #063657", +"0 c #043355", +"a c #013153", +"b c #002743", +"c c #002642", +"d c #042A44", +"e c #062F46", +"f c #0A304E", +"g c #0F3855", +"h c #16405F", +"i c #285B80", +"j c #2A5D82", +"k c #2B5E85", +"l c #2C6087", +"m c #2E6188", +"n c #30638B", +"o c #31648C", +"p c #33668D", +"q c #34678E", +"r c #356790", +"s c #366792", +"t c #366893", +"u c #376994", +"v c #376995", +"w c #376A95", +"x c #376B95", +"y c #386B95", +"z c #396C95", +"A c #3A6C96", +"B c #3B6C98", +"C c #3B6C99", +"D c #3C6D9A", +"E c #3C6D9B", +"F c #3C6D9C", +"G c #3D6D9C", +"H c #3D6D9D", +"I c #3C6E9E", +"J c #3A6E9E", +"K c #376F9E", +"L c #366F9F", +"M c #3470A0", +"N c #3471A1", +"O c #3672A1", +"P c #3672A2", +"Q c #3773A3", +"R c #3773A4", +"S c #3874A4", +"T c #3975A5", +"U c #3A75A6", +"V c #3B75A6", +"W c #3C75A6", +"X c #3C75A7", +"Y c #3D75A7", +"Z c #3D76A8", +"` c #3D77A9", +" . c #3E77A9", +".. c #3E77AA", +"+. c #3F78AA", +"@. c #4078AB", +"#. c #4079AB", +"$. c #4179AB", +"%. c #4279AB", +"&. c #427AAC", +"*. c #437AAC", +"=. c #437BAD", +"-. c #447BAD", +";. c #447BAE", +">. c #457BAE", +",. c #457BAD", +"'. c #477BAC", +"). c #497BAC", +"!. c #4B7BAC", +"~. c #4A7BAC", +"{. c #4A7AAB", +"]. c #497AAB", +"^. c #4979AB", +"/. c #4979AA", +"(. c #4879AA", +"_. c #4879A9", +":. c #4778A9", +"<. c #4677A8", +"[. c #4677A7", +"}. c #4676A7", +"|. c #4576A7", +"1. c #4575A7", +"2. c #4575A6", +"3. c #4575A5", +"4. c #4575A4", +"5. c #4475A4", +"6. c #4474A3", +"7. c #4374A3", +"8. c #4374A2", +"9. c #4373A2", +"0. c #4273A2", +"a. c #4273A1", +"b. c #4172A1", +"c. c #4171A1", +"d. c #4071A1", +"e. c #4071A0", +"f. c #4070A0", +"g. c #40709F", +"h. c #3F709F", +"i. c #3F6F9E", +"j. c #3E6F9E", +"k. c #3D6E9E", +"l. c #3D6D9E", +"m. c #3D6C9B", +"n. c #3C6C9B", +"o. c #3C6C9A", +"p. c #3A6B98", +"q. c #3A6A97", +"r. c #3A6A95", +"s. c #396A95", +"t. c #396995", +"u. c #3A6A96", +"v. c #3D6D9B", +"w. c #4473A3", +"x. c #4474A6", +"y. c #4371A0", +"z. c #416F9E", +"A. c #406C9B", +"B. c #3F6B9B", +"C. c #3D6B98", +"D. c #3C6997", +"E. c #3B6997", +"F. c #3A6897", +"G. c #396796", +"H. c #376592", +"I. c #305E88", +"J. c #295882", +"K. c #205079", +"L. c #18486F", +"M. c #124268", +"N. c #0C3C5F", +"O. c #053557", +"P. c #002E4E", +"Q. c #073759", +"R. c #09395C", +"S. c #0D3D60", +"T. c #103E61", +"U. c #123E5F", +"V. c #174062", +"W. c #1F486B", +"X. c #2B567C", +"Y. c #4782B3", +"Z. c #4D87B9", +"`. c #5089BD", +" + c #538CC0", +".+ c #538DC0", +"++ c #568DC2", +"@+ c #568EC3", +"#+ c #588EC4", +"$+ c #588FC6", +"%+ c #598FC6", +"&+ c #5C90C8", +"*+ c #598EC6", +"=+ c #558CC3", +"-+ c #508AC1", +";+ c #4F8AC0", +">+ c #4F8AC1", +",+ c #4F8BC1", +"'+ c #508BC1", +")+ c #518CC1", +"!+ c #518CC2", +"~+ c #528CC3", +"{+ c #538CC3", +"]+ c #528CC2", +"^+ c #558DC5", +"/+ c #578FC6", +"(+ c #5B91C8", +"_+ c #5C91C9", +":+ c #5C91C8", +"<+ c #5B90C8", +"[+ c #5B90C7", +"}+ c #5B8FC7", +"|+ c #5A8FC6", +"1+ c #5B90C6", +"2+ c #5A8EC5", +"3+ c #5A8EC4", +"4+ c #598EC4", +"5+ c #598DC4", +"6+ c #598DC3", +"7+ c #598CC3", +"8+ c #588CC3", +"9+ c #588CC2", +"0+ c #588BC3", +"a+ c #588BC2", +"b+ c #578BC2", +"c+ c #578AC2", +"d+ c #578AC1", +"e+ c #578BC1", +"f+ c #5689C0", +"g+ c #5689BF", +"h+ c #5588BF", +"i+ c #5588BE", +"j+ c #5487BD", +"k+ c #5386BC", +"l+ c #5285BB", +"m+ c #5184B9", +"n+ c #5083B8", +"o+ c #4F81B6", +"p+ c #4D80B4", +"q+ c #4A7DB0", +"r+ c #436F9E", +"s+ c #3E6B9A", +"t+ c #3A6896", +"u+ c #376795", +"v+ c #346390", +"w+ c #275681", +"x+ c #1B4A72", +"y+ c #0F3F62", +"z+ c #043455", +"A+ c #00253F", +"B+ c #00233C", +"C+ c #22527B", +"D+ c #346391", +"E+ c #376796", +"F+ c #3D6A99", +"G+ c #4C7CAE", +"H+ c #5287BC", +"I+ c #5A8EC6", +"J+ c #5D90CA", +"K+ c #5F92CC", +"L+ c #6296D0", +"M+ c #6497D2", +"N+ c #6599D4", +"O+ c #669AD5", +"P+ c #679AD6", +"Q+ c #679CD6", +"R+ c #689CD8", +"S+ c #699FD8", +"T+ c #6A9FDA", +"U+ c #6BA1DB", +"V+ c #6BA1DC", +"W+ c #6CA1DC", +"X+ c #6CA1DD", +"Y+ c #6BA0DC", +"Z+ c #669ED9", +"`+ c #629DD7", +" @ c #5E9AD5", +".@ c #5D9AD4", +"+@ c #5D9AD5", +"@@ c #5E9AD4", +"#@ c #5F9BD6", +"$@ c #5F9CD6", +"%@ c #609CD6", +"&@ c #619DD7", +"*@ c #619DD8", +"=@ c #619ED8", +"-@ c #619ED9", +";@ c #629ED9", +">@ c #629ED8", +",@ c #629DD8", +"'@ c #619CD7", +")@ c #639ED9", +"!@ c #679FDA", +"~@ c #6AA1DC", +"{@ c #6DA3DE", +"]@ c #6DA2DE", +"^@ c #6DA2DD", +"/@ c #6CA2DD", +"(@ c #6DA1DD", +"_@ c #6CA0DC", +":@ c #6BA0DB", +"<@ c #6BA0DA", +"[@ c #6AA0DA", +"}@ c #699FDA", +"|@ c #699FD9", +"1@ c #689ED8", +"2@ c #689DD8", +"3@ c #679DD8", +"4@ c #679DD7", +"5@ c #679DD6", +"6@ c #679CD5", +"7@ c #659BD5", +"8@ c #659AD5", +"9@ c #6499D4", +"0@ c #6499D3", +"a@ c #6498D2", +"b@ c #6498D1", +"c@ c #6398D1", +"d@ c #6397D0", +"e@ c #6296CF", +"f@ c #6296CE", +"g@ c #6295CE", +"h@ c #6194CD", +"i@ c #6094CC", +"j@ c #6093CC", +"k@ c #5F92CB", +"l@ c #5E91CA", +"m@ c #5D8FC8", +"n@ c #5B8EC6", +"o@ c #598BC4", +"p@ c #5689C1", +"q@ c #5487BE", +"r@ c #4F81B5", +"s@ c #4D80B2", +"t@ c #4778AB", +"u@ c #426E9D", +"v@ c #3C6A98", +"w@ c #32618D", +"x@ c #23537C", +"y@ c #124267", +"z@ c #023254", +"A@ c #002A47", +"B@ c #002138", +"C@ c #002645", +"D@ c #0C3C60", +"E@ c #1C4C74", +"F@ c #2D5D89", +"G@ c #4472A1", +"H@ c #568AC0", +"I@ c #5C8FC8", +"J@ c #699ED9", +"K@ c #6FA4E0", +"L@ c #71A6E3", +"M@ c #72A8E5", +"N@ c #76ABE9", +"O@ c #76ACEA", +"P@ c #78ADEC", +"Q@ c #79AFEE", +"R@ c #7AAFEE", +"S@ c #7AB0EF", +"T@ c #7BB1F0", +"U@ c #7CB2F1", +"V@ c #7CB3F2", +"W@ c #7AB2F1", +"X@ c #76AFEE", +"Y@ c #70ACEB", +"Z@ c #6CAAE9", +"`@ c #6CA9E8", +" # c #6CAAE8", +".# c #6DAAE8", +"+# c #6DAAE9", +"@# c #6EABEA", +"## c #6EACEA", +"$# c #6EACEB", +"%# c #6EADEB", +"&# c #6FADEB", +"*# c #6FADEC", +"=# c #70ADEC", +"-# c #70ADEB", +";# c #70AEEC", +"># c #70ACEA", +",# c #74AEED", +"'# c #78B0EF", +")# c #7CB2F2", +"!# c #7BB2F1", +"~# c #7BB2F0", +"{# c #7BB0EF", +"]# c #7BB0EE", +"^# c #7BAFEE", +"/# c #7AAFED", +"(# c #7AB0EE", +"_# c #79AFED", +":# c #79AEED", +"<# c #78AEED", +"[# c #79AEEE", +"}# c #79ADED", +"|# c #79ADEC", +"1# c #77ADEB", +"2# c #77ACEB", +"3# c #77ACEA", +"4# c #76ABEA", +"5# c #75ABE9", +"6# c #75AAE8", +"7# c #75AAE7", +"8# c #74A9E7", +"9# c #74A9E6", +"0# c #73A8E5", +"a# c #72A7E4", +"b# c #71A6E2", +"c# c #70A5E1", +"d# c #6FA4E1", +"e# c #6EA4E0", +"f# c #6EA4DF", +"g# c #6EA4DE", +"h# c #6EA3DE", +"i# c #6EA2DE", +"j# c #6CA0DB", +"k# c #6B9FDA", +"l# c #6A9EDA", +"m# c #699DD8", +"n# c #679BD6", +"o# c #669AD4", +"p# c #5E91C9", +"q# c #5A8DC4", +"r# c #578AC0", +"s# c #5487BC", +"t# c #5285B9", +"u# c #4F82B5", +"v# c #4879AC", +"w# c #2B5A85", +"x# c #08385B", +"y# c #14446A", +"z# c #25557F", +"A# c #366593", +"B# c #426F9E", +"C# c #4C7EAF", +"D# c #5488BE", +"E# c #588DC4", +"F# c #5C90C9", +"G# c #6196CF", +"H# c #72A7E3", +"I# c #75ABE8", +"J# c #7DB3F3", +"K# c #7FB5F6", +"L# c #81B7F8", +"M# c #83B9FA", +"N# c #83BAFA", +"O# c #82B9FA", +"P# c #81B9F9", +"Q# c #7FB7F7", +"R# c #7BB5F5", +"S# c #75B2F2", +"T# c #72B0F0", +"U# c #72B1F0", +"V# c #72B1F1", +"W# c #73B1F0", +"X# c #73B1F1", +"Y# c #74B2F1", +"Z# c #74B3F2", +"`# c #73B3F2", +" $ c #74B3F3", +".$ c #75B3F2", +"+$ c #75B3F3", +"@$ c #75B4F3", +"#$ c #76B4F3", +"$$ c #75B2F1", +"%$ c #78B3F3", +"&$ c #80B7F8", +"*$ c #82B8F9", +"=$ c #82B8F8", +"-$ c #81B8F8", +";$ c #81B7F7", +">$ c #80B7F7", +",$ c #80B7F6", +"'$ c #80B6F6", +")$ c #7FB5F5", +"!$ c #7FB5F4", +"~$ c #7FB4F4", +"{$ c #7EB4F4", +"]$ c #7EB4F3", +"^$ c #7EB3F3", +"/$ c #7DB3F2", +"($ c #7DB2F2", +"_$ c #7CB1F1", +":$ c #7CB1F0", +"<$ c #7BB0F0", +"[$ c #78ADEB", +"}$ c #70A5E2", +"|$ c #6EA3DF", +"1$ c #699DD7", +"2$ c #679BD4", +"3$ c #5F92CA", +"4$ c #5D90C8", +"5$ c #5185B9", +"6$ c #4D81B5", +"7$ c #4677A9", +"8$ c #3F6C9A", +"9$ c #386695", +"0$ c #1E4D77", +"a$ c #002C49", +"b$ c #09395D", +"c$ c #205077", +"d$ c #356593", +"e$ c #386796", +"f$ c #416E9D", +"g$ c #558AC0", +"h$ c #598EC5", +"i$ c #5F93CC", +"j$ c #669CD5", +"k$ c #6FA5E0", +"l$ c #72A9E5", +"m$ c #77AEEC", +"n$ c #7DB3F1", +"o$ c #80B6F5", +"p$ c #83B9F9", +"q$ c #80B8F9", +"r$ c #7DB6F7", +"s$ c #7AB5F5", +"t$ c #78B4F4", +"u$ c #76B3F2", +"v$ c #74B2F2", +"w$ c #77B3F2", +"x$ c #80B8F7", +"y$ c #79AEEC", +"z$ c #78ADEA", +"A$ c #6A9CD8", +"B$ c #6397D1", +"C$ c #5F93CB", +"D$ c #5C8FC7", +"E$ c #5387BC", +"F$ c #4879AB", +"G$ c #3F6C9B", +"H$ c #386896", +"I$ c #2C5B86", +"J$ c #134367", +"K$ c #2B5B86", +"L$ c #3E6A9A", +"M$ c #4B7CAD", +"N$ c #5589BF", +"O$ c #78AFED", +"P$ c #7EB5F5", +"Q$ c #82B9F9", +"R$ c #7BB5F6", +"S$ c #78B4F3", +"T$ c #73B2F1", +"U$ c #74B1F1", +"V$ c #78ACEB", +"W$ c #71A6E4", +"X$ c #6EA2DF", +"Y$ c #4F83B6", +"Z$ c #366493", +"`$ c #1F4F78", +" % c #0A3A5D", +".% c #002B47", +"+% c #1D4D75", +"@% c #5287BB", +"#% c #588DC3", +"$% c #5D92C9", +"%% c #679CD7", +"&% c #79B0EE", +"*% c #7EB5F4", +"=% c #80B8F8", +"-% c #7DB7F6", +";% c #77B3F3", +">% c #7CB5F5", +",% c #6599D3", +"'% c #568AC1", +")% c #5286BB", +"!% c #4B7EB2", +"~% c #416D9D", +"{% c #2A5A84", +"]% c #0D3D61", +"^% c #063658", +"/% c #23537D", +"(% c #366694", +"_% c #4C7DAF", +":% c #558ABF", +"<% c #5A8FC5", +"[% c #6195CD", +"}% c #77ADEC", +"|% c #7DB4F3", +"1% c #79B4F4", +"2% c #73B0F0", +"3% c #73B2F2", +"4% c #73A8E6", +"5% c #689CD7", +"6% c #5E92CA", +"7% c #5A8DC5", +"8% c #5488BD", +"9% c #5083B7", +"0% c #4574A4", +"a% c #2C5C86", +"b% c #0F3F63", +"c% c #1F4F76", +"d% c #3D6A98", +"e% c #4C7EB1", +"f% c #5C90C7", +"g% c #6297D0", +"h% c #689CD6", +"i% c #6FA3DF", +"j% c #76ABE8", +"k% c #7BB1F1", +"l% c #80B6F7", +"m% c #77B4F3", +"n% c #7EB6F6", +"o% c #679BD5", +"p% c #5589BE", +"q% c #104065", +"r% c #002E4D", +"s% c #356493", +"t% c #3D6A9A", +"u% c #4E7FB3", +"v% c #578CC1", +"w% c #689DD7", +"x% c #81B9F8", +"y% c #7DB6F6", +"z% c #71B0EF", +"A% c #6EAFEE", +"B% c #6BAEEC", +"C% c #68ACEA", +"D% c #65ABE9", +"E% c #62AAE7", +"F% c #60A9E5", +"G% c #5FA8E5", +"H% c #5EA8E4", +"I% c #5DA7E4", +"J% c #5BA7E3", +"K% c #5AA6E2", +"L% c #58A6E1", +"M% c #57A5E1", +"N% c #56A5E1", +"O% c #55A5E0", +"P% c #55A4E0", +"Q% c #54A4E0", +"R% c #53A4DF", +"S% c #52A3DF", +"T% c #51A3DE", +"U% c #50A2DD", +"V% c #4FA2DD", +"W% c #4EA1DC", +"X% c #4DA1DC", +"Y% c #4CA1DB", +"Z% c #4BA0DB", +"`% c #4AA0DA", +" & c #499FD9", +".& c #479FD9", +"+& c #469ED8", +"@& c #459ED8", +"#& c #449ED7", +"$& c #449ED6", +"%& c #439ED6", +"&& c #439DD6", +"*& c #439DD7", +"=& c #429DD6", +"-& c #429DD5", +";& c #419DD5", +">& c #409DD5", +",& c #409CD5", +"'& c #3F9CD4", +")& c #3F9BD4", +"!& c #3E9BD4", +"~& c #3E9CD4", +"{& c #3D9CD4", +"]& c #3D9BD3", +"^& c #3C9AD3", +"/& c #3C9AD2", +"(& c #3C9BD3", +"_& c #3B9BD2", +":& c #3A9BD2", +"<& c #3B9AD3", +"[& c #3A9AD2", +"}& c #3999D1", +"|& c #389AD1", +"1& c #389AD0", +"2& c #3799D0", +"3& c #3798D0", +"4& c #3698CF", +"5& c #3499D1", +"6& c #339BD2", +"7& c #349AD2", +"8& c #349BD2", +"9& c #339CD3", +"0& c #349BD3", +"a& c #349DD4", +"b& c #349CD3", +"c& c #349CD4", +"d& c #359DD3", +"e& c #359CD3", +"f& c #369ED4", +"g& c #379ED4", +"h& c #379ED3", +"i& c #389ED5", +"j& c #389ED4", +"k& c #399FD6", +"l& c #399FD5", +"m& c #399ED5", +"n& c #3A9FD6", +"o& c #3AA0D6", +"p& c #3CA0D6", +"q& c #3DA1D7", +"r& c #3EA1D7", +"s& c #3FA1D8", +"t& c #3EA2D8", +"u& c #3EA2D7", +"v& c #3FA2D7", +"w& c #41A2D9", +"x& c #41A2D8", +"y& c #41A2D7", +"z& c #43A3D8", +"A& c #42A3D8", +"B& c #41A3D8", +"C& c #42A2D8", +"D& c #42A2D9", +"E& c #43A2D9", +"F& c #43A2D7", +"G& c #409FD5", +"H& c #459ED6", +"I& c #58A7E0", +"J& c #66AEE9", +"K& c #67AEE8", +"L& c #67AFE8", +"M& c #67AEE7", +"N& c #67AEE6", +"O& c #67ADE6", +"P& c #66ADE6", +"Q& c #66ADE7", +"R& c #66ACE6", +"S& c #65ACE6", +"T& c #65ACE5", +"U& c #66ACE5", +"V& c #66ABE5", +"W& c #66ABE4", +"X& c #65ABE4", +"Y& c #65ACE4", +"Z& c #64ABE4", +"`& c #64AAE4", +" * c #64AAE3", +".* c #65AAE3", +"+* c #64A9E3", +"@* c #64A9E2", +"#* c #63A9E2", +"$* c #64A9E1", +"%* c #64A8E1", +"&* c #63A8E1", +"** c #63A8E0", +"=* c #63A7E0", +"-* c #62A7E1", +";* c #62A7E0", +">* c #62A6E0", +",* c #62A7DF", +"'* c #62A6DF", +")* c #62A5DF", +"!* c #62A5DE", +"~* c #61A5DE", +"{* c #61A5DD", +"]* c #61A4DE", +"^* c #61A4DD", +"/* c #60A3DC", +"(* c #60A4DD", +"_* c #60A4DC", +":* c #60A3DB", +"<* c #60A2DB", +"[* c #5FA2DB", +"}* c #5FA2DA", +"|* c #5FA1DA", +"1* c #5FA0DA", +"2* c #5FA0D9", +"3* c #5FA1D9", +"4* c #5EA1D9", +"5* c #5EA0D9", +"6* c #5E9FD8", +"7* c #5E9FD7", +"8* c #5E9ED7", +"9* c #5D9ED7", +"0* c #5D9ED6", +"a* c #5D9DD6", +"b* c #5C9DD6", +"c* c #5D9DD5", +"d* c #5C9DD5", +"e* c #5C9CD5", +"f* c #5D9CD5", +"g* c #5C9CD4", +"h* c #5C9BD4", +"i* c #5C9CD3", +"j* c #5C9BD3", +"k* c #5B9BD4", +"l* c #5B9BD3", +"m* c #5B9AD3", +"n* c #5C9AD3", +"o* c #5B9AD2", +"p* c #5998D0", +"q* c #5595CD", +"r* c #5193C9", +"s* c #4D90C5", +"t* c #498EC2", +"u* c #458BBE", +"v* c #4389BD", +"w* c #4489BD", +"x* c #478CC0", +"y* c #488DC1", +"z* c #4A8DC3", +"A* c #4F91C7", +"B* c #5696CD", +"C* c #5C9AD2", +"D* c #68A2DD", +"E* c #6EA7E3", +"F* c #6195CE", +"G* c #5C8FC6", +"H* c #5689BE", +"I* c #4F83B7", +"J* c #4575A8", +"K* c #2A5A85", +"L* c #114166", +"M* c #30608C", +"N* c #3E6A99", +"O* c #4E7FB2", +"P* c #568CC1", +"Q* c #5C92C8", +"R* c #6A9FD9", +"S* c #76B2F2", +"T* c #6CAEEC", +"U* c #68ACEB", +"V* c #66ABE9", +"W* c #5CA7E3", +"X* c #59A6E2", +"Y* c #56A5E0", +"Z* c #53A3DE", +"`* c #50A2DC", +" = c #4DA1DB", +".= c #479ED7", +"+= c #449DD6", +"@= c #409BD4", +"#= c #3D9AD2", +"$= c #3A99D1", +"%= c #3798CF", +"&= c #3497CE", +"*= c #3196CC", +"== c #2E95CA", +"-= c #2A93C9", +";= c #2993C8", +">= c #2892C7", +",= c #2992C7", +"'= c #2993C9", +")= c #2A94C9", +"!= c #2B94CA", +"~= c #2B94C9", +"{= c #2C95CA", +"]= c #2C94CA", +"^= c #2C95CB", +"/= c #2D95CB", +"(= c #2D96CB", +"_= c #2E95CC", +":= c #2E95CB", +"<= c #2E96CC", +"[= c #2E97CC", +"}= c #2D99CF", +"|= c #2C99D0", +"1= c #2D98CF", +"2= c #2D99D0", +"3= c #2D9AD0", +"4= c #2E9AD0", +"5= c #2E9BD1", +"6= c #2E9AD1", +"7= c #2E9BD0", +"8= c #2F9BD1", +"9= c #2F9CD1", +"0= c #2F9AD0", +"a= c #2F9BD0", +"b= c #309CD1", +"c= c #309CD0", +"d= c #319CD2", +"e= c #329DD3", +"f= c #329DD2", +"g= c #339ED3", +"h= c #339DD3", +"i= c #349ED3", +"j= c #349ED4", +"k= c #359ED4", +"l= c #359FD3", +"m= c #369FD3", +"n= c #37A0D4", +"o= c #36A0D4", +"p= c #38A0D4", +"q= c #389FD4", +"r= c #39A0D4", +"s= c #39A1D4", +"t= c #39A0D3", +"u= c #399FD3", +"v= c #3AA0D4", +"w= c #3AA1D5", +"x= c #39A1D5", +"y= c #3AA0D3", +"z= c #3A9FD4", +"A= c #3A9FD3", +"B= c #369CD0", +"C= c #4CA2D9", +"D= c #60ACE5", +"E= c #62ADE5", +"F= c #61ACE4", +"G= c #61ACE3", +"H= c #61ABE3", +"I= c #60ABE3", +"J= c #60ABE2", +"K= c #60AAE2", +"L= c #5FAAE2", +"M= c #5FAAE1", +"N= c #5FA9E1", +"O= c #5EA9E0", +"P= c #5EA8E0", +"Q= c #5EA8DF", +"R= c #5DA8DF", +"S= c #5DA7DF", +"T= c #5DA7DE", +"U= c #5CA7DE", +"V= c #5CA6DE", +"W= c #5CA6DD", +"X= c #5BA5DC", +"Y= c #5BA4DB", +"Z= c #5AA4DB", +"`= c #5AA4DA", +" - c #5AA3DA", +".- c #59A3DA", +"+- c #59A3D9", +"@- c #59A2D9", +"#- c #58A2D8", +"$- c #58A1D8", +"%- c #58A1D7", +"&- c #57A1D7", +"*- c #57A0D7", +"=- c #57A0D6", +"-- c #56A0D6", +";- c #569FD6", +">- c #569FD5", +",- c #559FD5", +"'- c #559ED5", +")- c #559ED4", +"!- c #559DD3", +"~- c #549DD3", +"{- c #549CD2", +"]- c #539CD2", +"^- c #539CD1", +"/- c #539BD1", +"(- c #529BD1", +"_- c #529BD0", +":- c #529AD0", +"<- c #519ACF", +"[- c #5199CF", +"}- c #5199CE", +"|- c #5099CE", +"1- c #5098CE", +"2- c #5098CD", +"3- c #4F98CD", +"4- c #4F97CD", +"5- c #4F97CC", +"6- c #4E96CB", +"7- c #4E96CA", +"8- c #4E95CA", +"9- c #4D95CA", +"0- c #4D95C9", +"a- c #4D94C9", +"b- c #4C94C9", +"c- c #4C94C8", +"d- c #4C93C8", +"e- c #4B93C7", +"f- c #4B92C7", +"g- c #4B92C6", +"h- c #4A92C6", +"i- c #4A91C6", +"j- c #4A91C5", +"k- c #4991C5", +"l- c #4990C5", +"m- c #4990C4", +"n- c #4890C4", +"o- c #488FC4", +"p- c #488FC3", +"q- c #488EC2", +"r- c #478EC2", +"s- c #478DC1", +"t- c #468DC1", +"u- c #468DC0", +"v- c #468CC0", +"w- c #458CC0", +"x- c #458CBF", +"y- c #458BBF", +"z- c #448BBE", +"A- c #448ABE", +"B- c #448ABD", +"C- c #438ABD", +"D- c #4389BC", +"E- c #4289BC", +"F- c #4288BC", +"G- c #4288BB", +"H- c #4187BA", +"I- c #4D8FC5", +"J- c #5897CF", +"K- c #649FDA", +"L- c #70A7E4", +"M- c #70A4E0", +"N- c #4E83B6", +"O- c #4576A8", +"P- c #3A6894", +"Q- c #033355", +"R- c #00263F", +"S- c #0B3B5E", +"T- c #396896", +"U- c #5489BE", +"V- c #6298D1", +"W- c #71A7E3", +"X- c #3F9AD3", +"Y- c #2C92C9", +"Z- c #2991C8", +"`- c #2992C8", +" ; c #2D95CC", +".; c #2D97CD", +"+; c #2C98CE", +"@; c #2C99CF", +"#; c #2E99D0", +"$; c #2D9ACF", +"%; c #309BD1", +"&; c #339FD3", +"*; c #359ED3", +"=; c #369FD4", +"-; c #36A0D3", +";; c #37A0D3", +">; c #37A0D5", +",; c #38A1D5", +"'; c #38A1D4", +"); c #3BA1D5", +"!; c #3BA0D4", +"~; c #3BA0D3", +"{; c #3A9FD2", +"]; c #389DD2", +"^; c #379ACF", +"/; c #48A0D7", +"(; c #5DAAE2", +"_; c #62ACE4", +":; c #5FA9E0", +"<; c #5BA5DB", +"[; c #58A2D9", +"}; c #549DD2", +"|; c #4B93C8", +"1; c #478EC1", +"2; c #4187B9", +"3; c #4388BB", +"4; c #5091C8", +"5; c #72A9E6", +"6; c #5388BD", +"7; c #4E81B6", +"8; c #366490", +"9; c #17476D", +"0; c #4473A2", +"a; c #5389BD", +"b; c #598FC5", +"c; c #6196CE", +"d; c #6FA5E1", +"e; c #7FB6F6", +"f; c #79B4F3", +"g; c #3296CC", +"h; c #2991C6", +"i; c #2991C7", +"j; c #2A93C8", +"k; c #2B95CA", +"l; c #2E96CB", +"m; c #2D98CE", +"n; c #2D98D0", +"o; c #309CD2", +"p; c #329ED3", +"q; c #349FD3", +"r; c #369ED3", +"s; c #3AA1D4", +"t; c #3BA1D4", +"u; c #3BA1D3", +"v; c #3CA1D4", +"w; c #3B9FD3", +"x; c #399FD2", +"y; c #3699D0", +"z; c #449CD4", +"A; c #58A7DF", +"B; c #4186B9", +"C; c #4086B9", +"D; c #498CC0", +"E; c #5A98D0", +"F; c #6CA4E0", +"G; c #5F94CD", +"H; c #598CC4", +"I; c #4C7EB2", +"J; c #305E8A", +"K; c #0A3A5E", +"L; c #2F5E8B", +"M; c #578DC3", +"N; c #5E93CB", +"O; c #7AB4F4", +"P; c #5EA7E4", +"Q; c #2A91C7", +"R; c #2D95CA", +"S; c #2D96CC", +"T; c #2E9ACF", +"U; c #319DD2", +"V; c #319CD1", +"W; c #329CD2", +"X; c #379FD4", +"Y; c #379FD3", +"Z; c #38A0D3", +"`; c #3AA0D5", +" > c #3BA2D4", +".> c #3CA2D5", +"+> c #3CA2D4", +"@> c #3CA2D3", +"#> c #399FD1", +"$> c #369BD0", +"%> c #3E9BD2", +"&> c #54A6DE", +"*> c #4086B8", +"=> c #4085B8", +"-> c #478BC0", +";> c #5E9BD4", +">> c #73AAE7", +",> c #74AAE7", +"'> c #5D91C9", +")> c #5084B9", +"!> c #4677AA", +"~> c #3A6996", +"{> c #17476E", +"]> c #386795", +"^> c #548ABF", +"/> c #6399D2", +"(> c #73A9E6", +"_> c #7DB5F6", +":> c #6DAEED", +"<> c #51A2DD", +"[> c #3395CC", +"}> c #2B93CA", +"|> c #2C94CB", +"1> c #2D97CC", +"2> c #339ED4", +"3> c #379FD5", +"4> c #3CA1D5", +"5> c #3DA1D5", +"6> c #3CA2D6", +"7> c #3CA0D4", +"8> c #39A0D2", +"9> c #369BCF", +"0> c #3B9AD0", +"a> c #54A5DC", +"b> c #3F85B8", +"c> c #5191C7", +"d> c #67A1DC", +"e> c #72A7E5", +"f> c #4E82B6", +"g> c #4370A0", +"h> c #2E5B87", +"i> c #07375A", +"j> c #285780", +"k> c #5187BB", +"l> c #689ED7", +"m> c #70A6E2", +"n> c #63AAE7", +"o> c #459DD6", +"p> c #2B92C8", +"q> c #2B93C9", +"r> c #2C94C9", +"s> c #2C98CD", +"t> c #2C98CF", +"u> c #2D99CE", +"v> c #309BD0", +"w> c #319DD3", +"x> c #329ED2", +"y> c #339DD4", +"z> c #389FD3", +"A> c #3DA1D4", +"B> c #3DA2D5", +"C> c #3DA2D4", +"D> c #3CA1D3", +"E> c #369ACF", +"F> c #3F9BD1", +"G> c #57A7DE", +"H> c #3F85B7", +"I> c #3F84B7", +"J> c #4588BC", +"K> c #5F9BD5", +"L> c #5F93CD", +"M> c #4A7CB0", +"N> c #396794", +"O> c #18476E", +"P> c #0E3E62", +"Q> c #34618E", +"R> c #4877A8", +"S> c #74B1F0", +"T> c #72B0EF", +"U> c #58A5E1", +"V> c #3898CF", +"W> c #2A92C7", +"X> c #2A93CA", +"Y> c #2A94CA", +"Z> c #2D9BD0", +"`> c #339ED2", +" , c #359ED2", +"., c #3BA2D5", +"+, c #3DA3D4", +"@, c #3CA0D3", +"#, c #3599CF", +"$, c #439CD3", +"%, c #5BA9E1", +"&, c #3E84B7", +"*, c #4287BA", +"=, c #5D9AD2", +"-, c #4E81B5", +";, c #2B5B85", +">, c #1D4D76", +",, c #4F81B4", +"', c #578CC2", +"), c #70A7E3", +"!, c #7FB7F6", +"~, c #76B2F1", +"{, c #60A8E5", +"], c #3796CE", +"^, c #2F9CD0", +"/, c #349ED2", +"(, c #3BA2D6", +"_, c #3CA3D4", +":, c #3EA2D5", +"<, c #3EA3D5", +"[, c #3DA3D5", +"}, c #3EA2D3", +"|, c #3DA2D3", +"1, c #3EA2D4", +"2, c #3A9ED2", +"3, c #399ED2", +"4, c #389ED2", +"5, c #3498CE", +"6, c #459ED4", +"7, c #5CA8E0", +"8, c #3E84B6", +"9, c #4286B9", +"0, c #5B98D1", +"a, c #70A5E3", +"b, c #5185BA", +"c, c #34628E", +"d, c #25557E", +"e, c #6297CF", +"f, c #6B9FDB", +"g, c #71A9E5", +"h, c #76B0EF", +"i, c #409AD3", +"j, c #2990C6", +"k, c #2D94CA", +"l, c #319BD1", +"m, c #339DD2", +"n, c #3FA2D4", +"o, c #3FA3D5", +"p, c #3FA3D4", +"q, c #3EA1D4", +"r, c #399ED1", +"s, c #379DD1", +"t, c #3697CE", +"u, c #4BA0D6", +"v, c #5EABE2", +"w, c #3E83B6", +"x, c #4386BA", +"y, c #6A9FDB", +"z, c #6295CF", +"A, c #5387BD", +"B, c #3A6895", +"C, c #144368", +"D, c #2C5B85", +"E, c #68A1DD", +"F, c #6CA8E5", +"G, c #71AFEF", +"H, c #6DAEEC", +"I, c #499ED8", +"J, c #2B91C7", +"K, c #2993C7", +"L, c #2D94CB", +"M, c #329BD1", +"N, c #359FD4", +"O, c #3EA3D6", +"P, c #40A2D4", +"Q, c #40A3D5", +"R, c #3FA2D5", +"S, c #3EA0D2", +"T, c #3D9FD0", +"U, c #3D9FCF", +"V, c #3C9ECE", +"W, c #3B9DCF", +"X, c #3B9BCD", +"Y, c #399ACA", +"Z, c #3999C9", +"`, c #3A98CA", +" ' c #3999CA", +".' c #399ACB", +"+' c #399DCF", +"@' c #359BCF", +"#' c #3998CD", +"$' c #50A3D9", +"%' c #488BC0", +"&' c #6AA3DF", +"*' c #6FA3E0", +"=' c #5589C0", +"-' c #416C9C", +";' c #214E76", +">' c #315E88", +",' c #4C7CB0", +"'' c #5A91C8", +")' c #5E98D2", +"!' c #65A1DD", +"~' c #6DABE9", +"{' c #56A4DF", +"]' c #2E93C8", +"^' c #2A92C6", +"/' c #2A93C7", +"(' c #2C93C9", +"_' c #2C99CE", +":' c #2C9ACF", +"<' c #2F9AD1", +"[' c #3DA2D6", +"}' c #3FA3D6", +"|' c #3EA4D5", +"1' c #40A3D4", +"2' c #3FA1D1", +"3' c #3E9ECE", +"4' c #3C9BCB", +"5' c #3C9ACA", +"6' c #3B98C8", +"7' c #3A97C5", +"8' c #3995C3", +"9' c #3993C3", +"0' c #3793C2", +"a' c #3691C0", +"b' c #3791C0", +"c' c #3690BF", +"d' c #3691BF", +"e' c #3791C1", +"f' c #3693C3", +"g' c #3794C4", +"h' c #3796C7", +"i' c #399DD1", +"j' c #399DD2", +"k' c #389DD1", +"l' c #369DD1", +"m' c #3398CC", +"n' c #3C9AD0", +"o' c #56A4DD", +"p' c #3E83B5", +"q' c #3D83B5", +"r' c #5191C8", +"s' c #71A8E5", +"t' c #5185B8", +"u' c #4474A5", +"v' c #2A5881", +"w' c #003052", +"x' c #00243C", +"y' c #09385B", +"z' c #35628F", +"A' c #4C81B5", +"B' c #5089BF", +"C' c #5590C8", +"D' c #5D99D4", +"E' c #68A4E1", +"F' c #70AEED", +"G' c #419BD3", +"H' c #2A91C6", +"I' c #3DA3D6", +"J' c #3FA4D5", +"K' c #40A4D5", +"L' c #41A4D5", +"M' c #3FA2D2", +"N' c #3689B4", +"O' c #102A37", +"P' c #102A36", +"Q' c #0F2936", +"R' c #0F2834", +"S' c #0F2734", +"T' c #0F2733", +"U' c #0F2732", +"V' c #0E2632", +"W' c #0E2532", +"X' c #11303F", +"Y' c #348CB8", +"Z' c #358DBB", +"`' c #348DBA", +" ) c #358FBE", +".) c #3590BF", +"+) c #3795C5", +"@) c #399CCF", +"#) c #379DD2", +"$) c #359ACF", +"%) c #3295CB", +"&) c #449CD3", +"*) c #5CA8DF", +"=) c #3D82B5", +"-) c #4084B7", +";) c #629CD6", +">) c #5286BA", +",) c #2F5C86", +"') c #396999", +")) c #4780B5", +"!) c #5089C1", +"~) c #5791CA", +"{) c #609CD7", +"]) c #6AA7E5", +"^) c #3194CA", +"/) c #2A92C8", +"() c #2D9ACE", +"_) c #3FA4D4", +":) c #40A4D4", +"<) c #40A4D6", +"[) c #40A3D6", +"}) c #41A4D6", +"|) c #3E9DCC", +"1) c #307BA1", +"2) c #0B0B0B", +"3) c #151516", +"4) c #060606", +"5) c #050C10", +"6) c #3083AD", +"7) c #3185AF", +"8) c #3186B2", +"9) c #3286B3", +"0) c #348BB7", +"a) c #3592C3", +"b) c #389BCE", +"c) c #389ED1", +"d) c #379CD0", +"e) c #3397CC", +"f) c #3595CB", +"g) c #4CA1D8", +"h) c #3D82B4", +"i) c #4F8FC5", +"j) c #5387BB", +"k) c #487AAC", +"l) c #2E5B86", +"m) c #124166", +"n) c #4882B6", +"o) c #518BC2", +"p) c #5893CC", +"q) c #6BA8E6", +"r) c #4B9FD9", +"s) c #2A92C9", +"t) c #2C97CD", +"u) c #349DD3", +"v) c #38A0D5", +"w) c #379FD2", +"x) c #339BCF", +"y) c #3499CE", +"z) c #3399CE", +"A) c #3198CD", +"B) c #3096CB", +"C) c #2F95CB", +"D) c #3095CB", +"E) c #3095CA", +"F) c #2F95CA", +"G) c #3097CC", +"H) c #3298CC", +"I) c #3398CD", +"J) c #41A3D4", +"K) c #3FA0D0", +"L) c #3C98C7", +"M) c #2F779D", +"N) c #858585", +"O) c #FCFCFC", +"P) c #4E4E4E", +"Q) c #050C0F", +"R) c #2E7AA2", +"S) c #2E7DA4", +"T) c #2F7EA8", +"U) c #2F7FA9", +"V) c #2F81AC", +"W) c #3085B0", +"X) c #3188B5", +"Y) c #3490BF", +"Z) c #379ED2", +"`) c #369CD1", +" ! c #379CD1", +".! c #3294C9", +"+! c #3A97CD", +"@! c #54A4DB", +"#! c #4185B8", +"$! c #649FD9", +"%! c #6598D2", +"&! c #5B8FC6", +"*! c #4A7EB1", +"=! c #2F5B82", +"-! c #0F3F65", +";! c #3D72A2", +">! c #4A83B8", +",! c #528BC2", +"'! c #5995CD", +")! c #639FDC", +"!! c #67ABE9", +"~! c #3797CE", +"{! c #2C96CD", +"]! c #2B98CE", +"^! c #2B97CE", +"/! c #329DD1", +"(! c #35A0D3", +"_! c #359CD0", +":! c #3298CE", +"~ c #50A1DB", +",~ c #2991C5", +"'~ c #2B98CD", +")~ c #339DD1", +"!~ c #37A1D4", +"~~ c #359DD1", +"{~ c #42A5D6", +"]~ c #42A5D7", +"^~ c #41A5D4", +"/~ c #43A5D5", +"(~ c #43A5D6", +"_~ c #40A0CF", +":~ c #3C97C5", +"<~ c #398EB9", +"[~ c #2D7194", +"}~ c #F8F8F8", +"|~ c #4C4C4C", +"1~ c #050A0D", +"2~ c #256787", +"3~ c #26698B", +"4~ c #26698D", +"5~ c #266B8D", +"6~ c #297298", +"7~ c #2C79A2", +"8~ c #3082AD", +"9~ c #3187B5", +"0~ c #348EBE", +"a~ c #3697C7", +"b~ c #379BD1", +"c~ c #359BD1", +"d~ c #3295CA", +"e~ c #3193C8", +"f~ c #3896CD", +"g~ c #55A3DC", +"h~ c #3C81B3", +"i~ c #6AA3DE", +"j~ c #77ABEA", +"k~ c #73A7E5", +"l~ c #689BD7", +"m~ c #073658", +"n~ c #3A6F9F", +"o~ c #499ED7", +"p~ c #2B96CC", +"q~ c #319DD1", +"r~ c #349CD1", +"s~ c #3FA4D6", +"t~ c #42A6D6", +"u~ c #44A6D5", +"v~ c #44A6D6", +"w~ c #44A5D5", +"x~ c #43A6D5", +"y~ c #409ECD", +"z~ c #3C96C2", +"A~ c #388DB6", +"B~ c #2B7091", +"C~ c #828282", +"D~ c #F7F7F7", +"E~ c #04090C", +"F~ c #215E7D", +"G~ c #215F7D", +"H~ c #226183", +"I~ c #26678B", +"J~ c #2F80AA", +"K~ c #3186B3", +"L~ c #338DBC", +"M~ c #3695C5", +"N~ c #389CCE", +"O~ c #389ED3", +"P~ c #359BD0", +"Q~ c #3296CB", +"R~ c #3192C8", +"S~ c #3293C9", +"T~ c #609BD5", +"U~ c #4D80B3", +"V~ c #2D5981", +"W~ c #043354", +"X~ c #366A99", +"Y~ c #70AFEE", +"Z~ c #2B93C8", +"`~ c #339BD0", +" { c #3599CE", +".{ c #40A5D5", +"+{ c #43A7D6", +"@{ c #44A5D6", +"#{ c #45A5D6", +"${ c #3E9CCA", +"%{ c #3B93BF", +"&{ c #378CB5", +"*{ c #F6F6F6", +"={ c #04090B", +"-{ c #1F5774", +";{ c #1E5773", +">{ c #215F7E", +",{ c #25678A", +"'{ c #297196", +"){ c #2C79A1", +"!{ c #2E7FA8", +"~{ c #3593C3", +"{{ c #379ACB", +"]{ c #349BCF", +"^{ c #349ACF", +"/{ c #3297CD", +"({ c #3B97CD", +"_{ c #57A5DB", +":{ c #3B81B3", +"<{ c #5694CB", +"[{ c #689AD6", +"}{ c #4C7FB3", +"|{ c #2C5780", +"1{ c #326592", +"2{ c #4982B7", +"3{ c #528CC4", +"4{ c #5A96D0", +"5{ c #6EAEED", +"6{ c #3B97D0", +"7{ c #3096CC", +"8{ c #2E94CA", +"9{ c #2E95C9", +"0{ c #2F94CA", +"a{ c #43A6D6", +"b{ c #45A6D7", +"c{ c #45A6D6", +"d{ c #44A4D5", +"e{ c #43A3D4", +"f{ c #3F9AC8", +"g{ c #3A92BD", +"h{ c #378AB3", +"i{ c #2C6F90", +"j{ c #818181", +"k{ c #F4F4F4", +"l{ c #4B4B4B", +"m{ c #04080B", +"n{ c #1E5572", +"o{ c #256689", +"p{ c #287094", +"q{ c #2E7EA7", +"r{ c #338CB9", +"s{ c #3592C2", +"t{ c #3699CA", +"u{ c #359CCF", +"v{ c #339ACF", +"w{ c #3399CD", +"x{ c #3394CA", +"y{ c #4CA0D7", +"z{ c #3B80B3", +"A{ c #3B80B2", +"B{ c #72A6E4", +"C{ c #4B7FB2", +"D{ c #2B567F", +"E{ c #2E608C", +"F{ c #528BC3", +"G{ c #5A95D0", +"H{ c #6FACEC", +"I{ c #6BACEB", +"J{ c #3695CC", +"K{ c #2A90C6", +"L{ c #2D98CD", +"M{ c #2E9BCF", +"N{ c #319ED2", +"O{ c #349DD0", +"P{ c #2F96CB", +"Q{ c #3CA0D2", +"R{ c #45A7D7", +"S{ c #46A6D7", +"T{ c #46A7D7", +"U{ c #45A7D6", +"V{ c #46A6D6", +"W{ c #46A7D6", +"X{ c #3E99C7", +"Y{ c #3B90BC", +"Z{ c #3888B2", +"`{ c #2C6E8F", +" ] c #808080", +".] c #F3F3F3", +"+] c #1D526E", +"@] c #1E5874", +"#] c #286F93", +"$] c #2B769D", +"%] c #2D7DA6", +"&] c #3084AE", +"*] c #338BB7", +"=] c #3592C1", +"-] c #3698C9", +";] c #349ACE", +">] c #3398CE", +",] c #3194C9", +"'] c #3E99CE", +")] c #59A4DB", +"!] c #5794CC", +"~] c #72A6E3", +"{] c #29557E", +"]] c #245881", +"^] c #4780B4", +"/] c #518BC1", +"(] c #5A95CE", +"_] c #6CADEB", +":] c #2A90C5", +"<] c #2990C5", +"[] c #2D9AD1", +"}] c #3299CF", +"|] c #3EA3D4", +"1] c #41A6D6", +"2] c #44A6D7", +"3] c #47A6D6", +"4] c #46A5D6", +"5] c #44A3D4", +"6] c #3C91BC", +"7] c #3787B1", +"8] c #2B6B8C", +"9] c #F2F2F2", +"0] c #4A4A4A", +"a] c #04080A", +"b] c #1E5772", +"c] c #256789", +"d] c #286D92", +"e] c #29749B", +"f] c #2D7CA4", +"g] c #3797C8", +"h] c #3593CA", +"i] c #50A0D7", +"j] c #5895CD", +"k] c #4779AD", +"l] c #224E75", +"m] c #14476C", +"n] c #477FB3", +"o] c #508AC0", +"p] c #5893CB", +"q] c #639FDB", +"r] c #359ED1", +"s] c #3197CB", +"t] c #47A8D6", +"u] c #47A7D7", +"v] c #47A7D6", +"w] c #48A7D6", +"x] c #45A4D3", +"y] c #4099C7", +"z] c #3889B2", +"A] c #2B6B8B", +"B] c #7F7F7F", +"C] c #F1F1F1", +"D] c #1E5472", +"E] c #276D92", +"F] c #2F82AC", +"G] c #328AB6", +"H] c #3491C0", +"I] c #3798C8", +"J] c #3A9ED1", +"K] c #369CCF", +"L] c #3196CA", +"M] c #3192C7", +"N] c #439AD0", +"O] c #5BA5DD", +"P] c #5996CE", +"Q] c #598DC5", +"R] c #4676A8", +"S] c #144165", +"T] c #437BAE", +"U] c #4F88BE", +"V] c #5791C9", +"W] c #3997CE", +"X] c #2C96CB", +"Y] c #3196CB", +"Z] c #47A8D7", +"`] c #48A7D7", +" ^ c #44A2D2", +".^ c #409AC7", +"+^ c #3888B0", +"@^ c #2C6B8B", +"#^ c #7E7E7E", +"$^ c #EFEFEF", +"%^ c #1C4F6B", +"&^ c #256688", +"*^ c #266D90", +"=^ c #297398", +"-^ c #2F82AB", +";^ c #3799CA", +">^ c #389DD0", +",^ c #3299CD", +"'^ c #3298CD", +")^ c #3895CB", +"!^ c #52A1D7", +"~^ c #6EA3E0", +"{^ c #426F9F", +"]^ c #0A385B", +"^^ c #3870A0", +"/^ c #4D86BC", +"(^ c #5590C7", +"_^ c #6BA8E5", +":^ c #3F9AD1", +"<^ c #2A91C5", +"[^ c #349DD1", +"}^ c #3097CB", +"|^ c #48A8D6", +"1^ c #48A8D7", +"2^ c #49A8D8", +"3^ c #4099C6", +"4^ c #3C90BC", +"5^ c #3989B0", +"6^ c #EEEEEE", +"7^ c #494949", +"8^ c #1C4D68", +"9^ c #256788", +"0^ c #266D8F", +"a^ c #287397", +"b^ c #2D79A2", +"c^ c #3198CE", +"d^ c #3092C7", +"e^ c #479CD2", +"f^ c #3A7FB1", +"g^ c #5B97D0", +"h^ c #75AAE9", +"i^ c #6094CE", +"j^ c #36638E", +"k^ c #255B85", +"l^ c #548EC5", +"m^ c #5D99D3", +"n^ c #69A6E3", +"o^ c #449BD4", +"p^ c #2C97CC", +"q^ c #309BD2", +"r^ c #319BD2", +"s^ c #3CA1D2", +"t^ c #49A8D7", +"u^ c #49A7D7", +"v^ c #49A7D8", +"w^ c #45A2D1", +"x^ c #419AC6", +"y^ c #3989B1", +"z^ c #7D7D7D", +"A^ c #EDEDED", +"B^ c #1D546F", +"C^ c #225F7E", +"D^ c #3289B6", +"E^ c #389BCD", +"F^ c #339ACE", +"G^ c #57A3DA", +"H^ c #5C98D1", +"I^ c #699DD9", +"J^ c #5E92CB", +"K^ c #2B567E", +"L^ c #12456A", +"M^ c #5B97D1", +"N^ c #67A3E0", +"O^ c #71AEED", +"P^ c #4A9ED8", +"Q^ c #2C94C8", +"R^ c #369ED1", +"S^ c #399CD1", +"T^ c #49A7D6", +"U^ c #4AA7D6", +"V^ c #4AA8D6", +"W^ c #4AA8D7", +"X^ c #4AA8D8", +"Y^ c #49A8D6", +"Z^ c #4AA6D6", +"`^ c #46A3D2", +" / c #3C90BB", +"./ c #7C7C7C", +"+/ c #ECECEC", +"@/ c #030709", +"#/ c #1B4D68", +"$/ c #1E546F", +"%/ c #225F7D", +"&/ c #2F81AB", +"*/ c #3197CD", +"=/ c #3694CA", +"-/ c #54A1D7", +";/ c #5D98D2", +">/ c #4679AB", +",/ c #1A476C", +"'/ c #063758", +")/ c #427AAD", +"!/ c #54A2DE", +"~/ c #2C93C8", +"{/ c #369FD2", +"]/ c #3499CD", +"^/ c #4BA8D6", +"// c #4BA9D7", +"(/ c #4BA9D8", +"_/ c #4BA7D6", +":/ c #419AC7", +"( c #033656", +",( c #447EB2", +"'( c #5A95CF", +")( c #67A3DF", +"!( c #71AFEE", +"~( c #439AD3", +"{( c #2A8FC4", +"]( c #2C98CC", +"^( c #2F9BCF", +"/( c #319CD0", +"(( c #329DD0", +"_( c #2F94C9", +":( c #3096CA", +"<( c #4AA9D8", +"[( c #4BAAD8", +"}( c #4CAAD8", +"|( c #4CAAD7", +"1( c #4DAAD7", +"2( c #4EAAD7", +"3( c #4DA8D5", +"4( c #408FB6", +"5( c #173543", +"6( c #469DC7", +"7( c #4499C2", +"8( c #4397C0", +"9( c #4398C0", +"0( c #47A1CB", +"a( c #4BA7D5", +"b( c #48A5D5", +"c( c #3E91BC", +"d( c #2A6888", +"e( c #E7E7E7", +"f( c #164E6E", +"g( c #1C5D81", +"h( c #1E6389", +"i( c #246D93", +"j( c #2A789F", +"k( c #369BD1", +"l( c #3198CC", +"m( c #3096CD", +"n( c #3091C7", +"o( c #3B96CC", +"p( c #57A1D8", +"q( c #397EB0", +"r( c #4889BE", +"s( c #083758", +"t( c #2D6996", +"u( c #4E88BE", +"v( c #5792C9", +"w( c #55A3DE", +"x( c #2E9ACE", +"y( c #329CD0", +"z( c #37A0D2", +"A( c #2F94CB", +"B( c #2D94C9", +"C( c #3A9ED0", +"D( c #4DABD8", +"E( c #4EA9D8", +"F( c #4EA9D7", +"G( c #4DA8D3", +"H( c #3F8BAF", +"I( c #091318", +"J( c #0C1B23", +"K( c #4394BE", +"L( c #4291BA", +"M( c #4191B9", +"N( c #4192B7", +"O( c #4194BA", +"P( c #49A0CE", +"Q( c #4CA8D7", +"R( c #4AA7D7", +"S( c #439CC8", +"T( c #3E92BB", +"U( c #3A89B1", +"V( c #246687", +"W( c #797979", +"X( c #E6E6E6", +"Y( c #134862", +"Z( c #174E6E", +"`( c #1E6288", +" _ c #216990", +"._ c #246F98", +"+_ c #2A7DA8", +"@_ c #3191C7", +"#_ c #3693CA", +"$_ c #53A0D7", +"%_ c #5492C9", +"&_ c #0D4266", +"*_ c #558FC6", +"=_ c #2C91C6", +"-_ c #2E99CE", +";_ c #2F9ACF", +">_ c #329CD1", +",_ c #38A2D3", +"'_ c #45A6D5", +")_ c #4DAAD8", +"!_ c #4EAAD8", +"~_ c #4FAAD8", +"{_ c #4FAAD7", +"]_ c #4FABD8", +"^_ c #4DA7D4", +"/_ c #3E88AC", +"(_ c #081014", +"__ c #0C1A21", +":_ c #408DB5", +"<_ c #3F8CB2", +"[_ c #3E8BB0", +"}_ c #3E8CB1", +"|_ c #3F8EB4", +"1_ c #4294BC", +"2_ c #4599C4", +"3_ c #4AA5D3", +"4_ c #48A5D4", +"5_ c #449DC9", +"6_ c #3E92BC", +"7_ c #3986B0", +"8_ c #1F6085", +"9_ c #787878", +"0_ c #E4E4E4", +"a_ c #464646", +"b_ c #154966", +"c_ c #1E6287", +"d_ c #20688F", +"e_ c #236F98", +"f_ c #2578A3", +"g_ c #2B83B1", +"h_ c #3591C2", +"i_ c #389ACD", +"j_ c #3499CF", +"k_ c #3094C9", +"l_ c #3191C6", +"m_ c #3392C8", +"n_ c #4D9ED5", +"o_ c #639DD7", +"p_ c #194468", +"q_ c #002137", +"r_ c #3D78AA", +"s_ c #528BC1", +"t_ c #3494CB", +"u_ c #2E97CD", +"v_ c #309ACF", +"w_ c #319BD0", +"x_ c #39A1D3", +"y_ c #2E93C9", +"z_ c #3C9ED1", +"A_ c #50AAD7", +"B_ c #4FA8D4", +"C_ c #3E85A8", +"D_ c #070E12", +"E_ c #0E0E0E", +"F_ c #0B1920", +"G_ c #3D86AB", +"H_ c #3C85A9", +"I_ c #3C86AA", +"J_ c #3D88AC", +"K_ c #3E8AAF", +"L_ c #3F8CB4", +"M_ c #4396BF", +"N_ c #479ECA", +"O_ c #49A7D5", +"P_ c #449DCA", +"Q_ c #2C7FAB", +"R_ c #E3E3E3", +"S_ c #154967", +"T_ c #1C5D80", +"U_ c #237099", +"V_ c #2678A4", +"W_ c #2880AE", +"X_ c #2D8ABB", +"Y_ c #3698CB", +"Z_ c #3093C8", +"`_ c #3091C6", +" : c #3191C8", +".: c #489CD1", +"+: c #3E82B4", +"@: c #3F6D9D", +"#: c #013052", +"$: c #1C567E", +"%: c #5892CA", +"&: c #629FDA", +"*: c #479DD6", +"=: c #3AA2D4", +"-: c #3098CC", +";: c #50ABD9", +">: c #50ABD7", +",: c #51AAD7", +"': c #51ABD8", +"): c #50A9D6", +"!: c #3E83A7", +"~: c #070D10", +"{: c #070808", +"]: c #A6A6A6", +"^: c #292929", +"/: c #09161D", +"(: c #287399", +"_: c #277196", +":: c #28739A", +"<: c #2B78A0", +"[: c #2F7CA3", +"}: c #3785AC", +"|: c #4290B9", +"1: c #469BC6", +"2: c #4BA5D2", +"3: c #449CC9", +"4: c #358AB7", +"5: c #267AA7", +"6: c #777777", +"7: c #E2E2E2", +"8: c #2679A4", +"9: c #2C89BA", +"0: c #2F90C6", +"a: c #3598CC", +"b: c #389CD1", +"c: c #3192C6", +"d: c #4197CE", +"e: c #397EAF", +"f: c #4E8DC3", +"g: c #4C80B4", +"h: c #224C70", +"i: c #023656", +"j: c #4882B5", +"k: c #538DC4", +"l: c #64AAE7", +"m: c #3DA0D1", +"n: c #50AAD8", +"o: c #51ABD7", +"p: c #51ACD8", +"q: c #52ACD8", +"r: c #52ABD8", +"s: c #53ACD8", +"t: c #51AAD6", +"u: c #3D82A4", +"v: c #060C0E", +"w: c #090A0A", +"x: c #AAAAAA", +"y: c #E1E1E1", +"z: c #06131B", +"A: c #20678D", +"B: c #1F678E", +"C: c #216C94", +"D: c #23739C", +"E: c #24749F", +"F: c #2A7DA9", +"G: c #398FBC", +"H: c #469ECC", +"I: c #4CA9D6", +"J: c #47A6D5", +"K: c #2882B1", +"L: c #454545", +"M: c #144864", +"N: c #23709A", +"O: c #2880AF", +"P: c #2F90C5", +"Q: c #3092C8", +"R: c #3296CA", +"S: c #3297CC", +"T: c #2F95C9", +"U: c #3092C6", +"V: c #3B95CB", +"W: c #57A2D8", +"X: c #397DAF", +"Y: c #639CD7", +"Z: c #073454", +"`: c #002B49", +" < c #2E6B98", +".< c #65A2DD", +"+< c #3A96CD", +"@< c #2B93C7", +"#< c #38A1D3", +"$< c #3AA1D3", +"%< c #4EABD7", +"&< c #50ABD8", +"*< c #53ADD8", +"=< c #53ACD9", +"-< c #52A9D6", +";< c #3D7EA0", +">< c #050A0C", +",< c #0B0C0C", +"'< c #ADADAD", +")< c #DFDFDF", +"!< c #051219", +"~< c #1E6388", +"{< c #1D6286", +"]< c #1C6185", +"^< c #226E97", +"/< c #2578A4", +"(< c #2982B2", +"_< c #3394C8", +":< c #3A9BCE", +"<< c #3799CC", +"[< c #2F94C8", +"}< c #2B8ABC", +"|< c #267BA8", +"1< c #1E6084", +"2< c #767676", +"3< c #164D6D", +"4< c #2C88BA", +"5< c #359ACD", +"6< c #2F93CA", +"7< c #3091C5", +"8< c #3A95CB", +"9< c #56A2D7", +"0< c #3E81B4", +"a< c #4F82B7", +"b< c #2D5780", +"c< c #083E60", +"d< c #4A83B7", +"e< c #609DD7", +"f< c #57A3DE", +"g< c #2B92C9", +"h< c #319DD0", +"i< c #339CD2", +"j< c #349DD2", +"k< c #3598CD", +"l< c #54ADD8", +"m< c #54ACD9", +"n< c #52A7D3", +"o< c #3B7A9B", +"p< c #0D0E0E", +"q< c #B0B0B0", +"r< c #DEDEDE", +"s< c #282828", +"t< c #051118", +"u< c #1B5D7F", +"v< c #19597A", +"w< c #19597B", +"x< c #1E668C", +"y< c #216D94", +"z< c #22719A", +"A< c #2476A1", +"B< c #287DAD", +"C< c #2B87B7", +"D< c #2D8CBF", +"E< c #2F93C9", +"F< c #2E92C8", +"G< c #1E6085", +"H< c #757575", +"I< c #444444", +"J< c #2679A5", +"K< c #349BCE", +"L< c #3195CB", +"M< c #3093C9", +"N< c #3995CB", +"O< c #387DAF", +"P< c #4F8EC4", +"Q< c #497EB1", +"R< c #0D3758", +"S< c #00243D", +"T< c #306E9D", +"U< c #5089C0", +"V< c #5B97CF", +"W< c #67A4E0", +"X< c #6EAEEC", +"Y< c #2E99CF", +"Z< c #2D93C9", +"`< c #52ACD7", +" [ c #53ABD7", +".[ c #54ACD8", +"+[ c #54ADD9", +"@[ c #51A6D0", +"#[ c #3A7796", +"$[ c #040708", +"%[ c #101011", +"&[ c #B4B4B4", +"*[ c #DDDDDD", +"=[ c #041017", +"-[ c #195778", +";[ c #175373", +">[ c #195777", +",[ c #206C93", +"'[ c #226E96", +")[ c #24739C", +"![ c #277BA8", +"~[ c #2984B5", +"{[ c #2B8BBD", +"][ c #2E90C5", +"^[ c #2E92C7", +"/[ c #2B8ABB", +"([ c #216A91", +"_[ c #23719B", +":[ c #2B86B8", +"<[ c #2F8FC4", +"[[ c #359BCE", +"}[ c #3195CA", +"|[ c #2F92C7", +"1[ c #3995CA", +"2[ c #56A1D7", +"3[ c #6AA2DD", +"4[ c #5084B8", +"5[ c #33608B", +"6[ c #002037", +"7[ c #063B5D", +"8[ c #4A83B9", +"9[ c #5690C8", +"0[ c #499DD7", +"a[ c #2B92C7", +"b[ c #46A6D3", +"c[ c #4EABD8", +"d[ c #51AAD8", +"e[ c #54ACD7", +"f[ c #55ADD9", +"g[ c #55ADD8", +"h[ c #56AED9", +"i[ c #54AAD4", +"j[ c #51A4CE", +"k[ c #387391", +"l[ c #030506", +"m[ c #121313", +"n[ c #B6B6B6", +"o[ c #DCDCDC", +"p[ c #041016", +"q[ c #175271", +"r[ c #164F6E", +"s[ c #206A90", +"t[ c #24729B", +"u[ c #2B89BB", +"v[ c #2C8CC0", +"w[ c #2E91C7", +"x[ c #267AA8", +"y[ c #747474", +"z[ c #287FAF", +"A[ c #2B85B6", +"B[ c #2E8DC1", +"C[ c #3299CE", +"D[ c #2F93C8", +"E[ c #3090C6", +"F[ c #3994CA", +"G[ c #387DAE", +"H[ c #4788BC", +"I[ c #6FA2E0", +"J[ c #0C3757", +"K[ c #2C6B9A", +"L[ c #5D98D1", +"M[ c #69A5E2", +"N[ c #298FC4", +"O[ c #298EC3", +"P[ c #298EC2", +"Q[ c #298FC3", +"R[ c #288DC0", +"S[ c #288CBF", +"T[ c #288BBD", +"U[ c #278ABC", +"V[ c #2789BA", +"W[ c #2789BC", +"X[ c #288BBE", +"Y[ c #2B91C5", +"Z[ c #2B90C4", +"`[ c #2A8EC2", +" } c #2A8DC1", +".} c #288ABC", +"+} c #2889BA", +"@} c #288ABB", +"#} c #298ABD", +"$} c #298CBF", +"%} c #2A8DC0", +"&} c #2A8FC3", +"*} c #2C92C7", +"=} c #2F99CF", +"-} c #2D94C8", +";} c #57AED9", +">} c #55ABD5", +",} c #53A7D0", +"'} c #51A2CB", +")} c #366E8A", +"!} c #020405", +"~} c #151616", +"{} c #B8B8B8", +"]} c #DADADA", +"^} c #040E14", +"/} c #226C93", +"(} c #227099", +"_} c #2576A2", +":} c #287FAD", +"<} c #2985B6", +"[} c #2C8CBF", +"}} c #2D8DC1", +"|} c #2E91C6", +"1} c #737373", +"2} c #434343", +"3} c #134963", +"4} c #24729C", +"5} c #287FAE", +"6} c #2A84B6", +"7} c #2C8ABC", +"8} c #2F90C4", +"9} c #2D8BBD", +"0} c #2E8CBE", +"a} c #308FC1", +"b} c #2F8FC1", +"c} c #2F8EC0", +"d} c #2E8EC0", +"e} c #2F91C3", +"f} c #3092C4", +"g} c #3095C8", +"h} c #2F92C8", +"i} c #56A1D6", +"j} c #629BD6", +"k} c #75A9E7", +"l} c #2E5983", +"m} c #043859", +"n} c #4A82B7", +"o} c #3A97CE", +"p} c #288EC2", +"q} c #2788BB", +"r} c #2788BA", +"s} c #2787B9", +"t} c #2786B8", +"u} c #2788B9", +"v} c #2789BB", +"w} c #298DC1", +"x} c #298EC1", +"y} c #2684B4", +"z} c #20749E", +"A} c #1C6286", +"B} c #1F6F98", +"C} c #247EAD", +"D} c #2582B2", +"E} c #2583B4", +"F} c #2685B6", +"G} c #2686B6", +"H} c #2787B8", +"I} c #278BBE", +"J} c #298DC0", +"K} c #247EAC", +"L} c #1F6B93", +"M} c #154863", +"N} c #174F6B", +"O} c #1A5B7C", +"P} c #1E678C", +"Q} c #21729C", +"R} c #257FAE", +"S} c #2682B1", +"T} c #2784B5", +"U} c #2886B6", +"V} c #2887B7", +"W} c #298CBD", +"X} c #2C90C2", +"Y} c #2D92C4", +"Z} c #2F95C7", +"`} c #3096C9", +" | c #2F98CB", +".| c #3099CD", +"+| c #3199CD", +"@| c #329ACE", +"#| c #349CD0", +"$| c #359DCF", +"%| c #369DCF", +"&| c #369CCE", +"*| c #379DCE", +"=| c #399BCC", +"-| c #3A9ECF", +";| c #379DD0", +">| c #3A9CCE", +",| c #4FABD9", +"'| c #55AED9", +")| c #56ADD8", +"!| c #55ACD7", +"~| c #54A8D2", +"{| c #52A5CF", +"]| c #51A2CC", +"^| c #4F9FC8", +"/| c #346983", +"(| c #020304", +"_| c #181819", +":| c #BBBBBB", +"<| c #D9D9D9", +"[| c #272727", +"}| c #174F6E", +"|| c #1C6084", +"1| c #1F668C", +"2| c #206990", +"3| c #226D96", +"4| c #267CAB", +"5| c #2883B3", +"6| c #2A87B8", +"7| c #2D8EC2", +"8| c #727272", +"9| c #144964", +"0| c #216A92", +"a| c #2A84B4", +"b| c #2B86B7", +"c| c #2D8BBE", +"d| c #2E8CC0", +"e| c #2D8BBF", +"f| c #2982B1", +"g| c #24749D", +"h| c #1F6489", +"i| c #1D5B7C", +"j| c #226A90", +"k| c #297FAB", +"l| c #2C88B7", +"m| c #2C87B6", +"n| c #2B86B6", +"o| c #2B87B6", +"p| c #2B88B8", +"q| c #2D8BBA", +"r| c #2C8CBD", +"s| c #2D8DBE", +"t| c #2C8DC0", +"u| c #2D8FC2", +"v| c #2F92C6", +"w| c #2F91C7", +"x| c #3794C9", +"y| c #539FD5", +"z| c #4082B5", +"A| c #76AAE9", +"B| c #70A4E1", +"C| c #497DB0", +"D| c #073251", +"E| c #2A6894", +"F| c #518AC0", +"G| c #5DA6E2", +"H| c #278CBE", +"I| c #2176A1", +"J| c #20739D", +"K| c #20719A", +"L| c #1F6F97", +"M| c #1E6C93", +"N| c #1E6A91", +"O| c #1E6B92", +"P| c #1F6B94", +"Q| c #1F6C95", +"R| c #2175A1", +"S| c #2582B3", +"T| c #288ABD", +"U| c #2990C3", +"V| c #288DBF", +"W| c #2481B0", +"X| c #17506D", +"Y| c #09222E", +"Z| c #050F14", +"`| c #000101", +" 1 c #040D12", +".1 c #081C26", +"+1 c #0C2C3C", +"@1 c #185675", +"#1 c #227AA9", +"$1 c #257EAD", +"%1 c #257FAF", +"&1 c #2681B1", +"*1 c #2682B4", +"=1 c #2889BC", +"-1 c #298CC0", +";1 c #2379A5", +">1 c #13425A", +",1 c #081B26", +"'1 c #040A0E", +")1 c #040B0E", +"!1 c #0E2F40", +"~1 c #195675", +"{1 c #2377A4", +"]1 c #257FAD", +"^1 c #2A8BB9", +"/1 c #2A8CBB", +"(1 c #2B8DBD", +"_1 c #2C8EBE", +":1 c #2D90C1", +"<1 c #2D91C3", +"[1 c #2F92C4", +"}1 c #3093C5", +"|1 c #3194C5", +"11 c #3295C7", +"21 c #3296C7", +"31 c #3396C7", +"41 c #3395C6", +"51 c #3495C5", +"61 c #3495C4", +"71 c #3595C5", +"81 c #3695C4", +"91 c #3796C5", +"01 c #3998C8", +"a1 c #3B9DCC", +"b1 c #3296C8", +"c1 c #44A3D2", +"d1 c #52ACD9", +"e1 c #52ABD6", +"f1 c #50A7D1", +"g1 c #50A4CF", +"h1 c #50A3CD", +"i1 c #52A7D2", +"j1 c #53A7D2", +"k1 c #53A6D0", +"l1 c #53A6CF", +"m1 c #53A4CD", +"n1 c #52A4CC", +"o1 c #50A1C9", +"p1 c #4E9CC3", +"q1 c #4D98BE", +"r1 c #31627B", +"s1 c #010202", +"t1 c #1B1C1C", +"u1 c #BDBDBD", +"v1 c #D8D8D8", +"w1 c #030D13", +"x1 c #154D6B", +"y1 c #1D6084", +"z1 c #2A86B6", +"A1 c #2B89BA", +"B1 c #2882B2", +"C1 c #2679A7", +"D1 c #424242", +"E1 c #144965", +"F1 c #287EAD", +"G1 c #1C5879", +"H1 c #0D2C3D", +"I1 c #07161F", +"J1 c #040A0D", +"K1 c #03080B", +"L1 c #071720", +"M1 c #0C2735", +"N1 c #123B50", +"O1 c #216C93", +"P1 c #2982B0", +"Q1 c #2984B1", +"R1 c #2984B3", +"S1 c #2986B5", +"T1 c #2C8BBD", +"U1 c #2C8DBF", +"V1 c #2D91C5", +"W1 c #3090C5", +"X1 c #3492C7", +"Y1 c #509ED4", +"Z1 c #387CAE", +"`1 c #75A9E8", +" 2 c #689BD8", +".2 c #4F83B8", +"+2 c #2A547A", +"@2 c #013656", +"#2 c #4781B5", +"$2 c #5691C8", +"%2 c #1E6C94", +"&2 c #0E3043", +"*2 c #2379A7", +"=2 c #237CAC", +"-2 c #2581B3", +";2 c #288ABE", +">2 c #278ABE", +",2 c #1C6388", +"'2 c #0D2E40", +")2 c #020406", +"!2 c #0E0F0F", +"~2 c #333333", +"{2 c #505050", +"]2 c #6D6D6D", +"^2 c #8B8B8B", +"/2 c #8D8D8D", +"(2 c #717171", +"_2 c #565656", +":2 c #3A3A3A", +"<2 c #1C1D1D", +"[2 c #040404", +"}2 c #051016", +"|2 c #12415A", +"12 c #1F7099", +"22 c #2279A6", +"32 c #247BA9", +"42 c #2684B6", +"52 c #2888BA", +"62 c #298DC2", +"72 c #0C2838", +"82 c #1A1A1A", +"92 c #3E3E3E", +"02 c #5C5C5C", +"a2 c #999999", +"b2 c #B5B5B5", +"c2 c #939393", +"d2 c #656565", +"e2 c #303030", +"f2 c #020607", +"g2 c #0F3447", +"h2 c #2277A0", +"i2 c #2883AF", +"j2 c #206C92", +"k2 c #113A4E", +"l2 c #123A4F", +"m2 c #123B4F", +"n2 c #133C50", +"o2 c #143C50", +"p2 c #153C50", +"q2 c #153D50", +"r2 c #163D50", +"s2 c #2A7499", +"t2 c #358DBA", +"u2 c #3790BC", +"v2 c #3995C2", +"w2 c #2B8EC1", +"x2 c #2E94C8", +"y2 c #4DA9D5", +"z2 c #356F8B", +"A2 c #224658", +"B2 c #214557", +"C2 c #214355", +"D2 c #214354", +"E2 c #224354", +"F2 c #224454", +"G2 c #214353", +"H2 c #214252", +"I2 c #214150", +"J2 c #1D3A49", +"K2 c #010102", +"L2 c #1E1F1F", +"M2 c #BFBFBF", +"N2 c #D7D7D7", +"O2 c #010508", +"P2 c #09202D", +"Q2 c #0A222F", +"R2 c #0A2533", +"S2 c #0C2938", +"T2 c #0D2B3C", +"U2 c #0D2C3C", +"V2 c #0D2E3F", +"W2 c #0E3042", +"X2 c #0F3346", +"Y2 c #10354A", +"Z2 c #11374B", +"`2 c #11394D", +" 3 c #11394E", +".3 c #11384D", +"+3 c #103448", +"@3 c #0D2A39", +"#3 c #144966", +"$3 c #24749E", +"%3 c #1B5676", +"&3 c #262626", +"*3 c #606060", +"=3 c #272728", +"-3 c #0A0B0B", +";3 c #0A212D", +">3 c #1B5877", +",3 c #257CA7", +"'3 c #277EAB", +")3 c #2780AE", +"!3 c #2985B5", +"~3 c #2B8BBC", +"{3 c #2D90C3", +"]3 c #2E92C9", +"^3 c #2F93C7", +"/3 c #3291C7", +"(3 c #4D9BD2", +"_3 c #3D7FB2", +":3 c #467AAE", +"<3 c #043050", +"[3 c #25648F", +"}3 c #4F89BF", +"|3 c #68A5E2", +"13 c #61A8E4", +"23 c #1D678E", +"33 c #0C2D3F", +"43 c #21739E", +"53 c #2174A0", +"63 c #2278A4", +"73 c #237AA8", +"83 c #247DAD", +"93 c #247FAE", +"03 c #1C6186", +"a3 c #06151C", +"b3 c #030304", +"c3 c #959595", +"d3 c #D2D2D2", +"e3 c #D6D6D6", +"f3 c #CBCBCB", +"g3 c #1F1F20", +"h3 c #020507", +"i3 c #1E6C95", +"j3 c #2379A6", +"k3 c #237CAA", +"l3 c #2683B4", +"m3 c #061117", +"n3 c #040505", +"o3 c #A3A3A3", +"p3 c #C1C1C1", +"q3 c #164B65", +"r3 c #2478A0", +"s3 c #030A0D", +"t3 c #0E2834", +"u3 c #3186AF", +"v3 c #3387B1", +"w3 c #358AB4", +"x3 c #378DB8", +"y3 c #3497CC", +"z3 c #53ADD9", +"A3 c #4C9FC7", +"B3 c #070C0F", +"C3 c #222222", +"D3 c #174A66", +"E3 c #040B0F", +"F3 c #878787", +"G3 c #C9C9C9", +"H3 c #B1B1B1", +"I3 c #575757", +"J3 c #080808", +"K3 c #061116", +"L3 c #14435C", +"M3 c #23729B", +"N3 c #267BA7", +"O3 c #267EAB", +"P3 c #2882B0", +"Q3 c #2884B4", +"R3 c #2A89BA", +"S3 c #2F8FC5", +"T3 c #2F8EC4", +"U3 c #3191C5", +"V3 c #4E9CD2", +"W3 c #4188BB", +"X3 c #679BD7", +"Y3 c #234C71", +"Z3 c #003353", +"`3 c #4581B4", +" 4 c #3E98D0", +".4 c #288BBF", +"+4 c #D4D4D4", +"@4 c #CDCDCD", +"#4 c #0B2A3A", +"$4 c #1F6E97", +"%4 c #20719B", +"&4 c #21739F", +"*4 c #1F6E98", +"=4 c #0A0A0B", +"-4 c #C2C2C2", +";4 c #D3D3D3", +">4 c #1A5E82", +",4 c #2279A5", +"'4 c #237CAB", +")4 c #2580AF", +"!4 c #0B2837", +"~4 c #C4C4C4", +"{4 c #969696", +"]4 c #1E1E1F", +"^4 c #081921", +"/4 c #0F3344", +"(4 c #C6C6C6", +"_4 c #525252", +":4 c #266888", +"<4 c #317FA7", +"[4 c #3281AA", +"}4 c #3285AD", +"|4 c #257CA9", +"14 c #2A8CBF", +"24 c #2D93C8", +"34 c #379ACC", +"44 c #51A5CF", +"54 c #2D5B73", +"64 c #C3C3C3", +"74 c #888888", +"84 c #707070", +"94 c #414141", +"04 c #154A67", +"a4 c #1A5676", +"b4 c #091E29", +"c4 c #161717", +"d4 c #C5C5C5", +"e4 c #1A1B1B", +"f4 c #07151C", +"g4 c #1F658B", +"h4 c #2478A2", +"i4 c #2679A6", +"j4 c #267DAA", +"k4 c #2881AF", +"l4 c #2C90C3", +"m4 c #2D8FC5", +"n4 c #2D8FC3", +"o4 c #2B8DC1", +"p4 c #2B8CBF", +"q4 c #2B8BBF", +"r4 c #2B89BD", +"s4 c #2C87BA", +"t4 c #2C87B9", +"u4 c #2C89BB", +"v4 c #2D8ABC", +"w4 c #2D89BC", +"x4 c #2D88BB", +"y4 c #2D88BA", +"z4 c #308ABC", +"A4 c #4C96CA", +"B4 c #5198CB", +"C4 c #5197CB", +"D4 c #5196CA", +"E4 c #5197CA", +"F4 c #5097CB", +"G4 c #5197CC", +"H4 c #5095C9", +"I4 c #4F95C9", +"J4 c #4F95C8", +"K4 c #4F94C7", +"L4 c #4E94C7", +"M4 c #4E94C8", +"N4 c #4E93C7", +"O4 c #4D93C7", +"P4 c #4D93C6", +"Q4 c #4D92C5", +"R4 c #4C92C4", +"S4 c #4C91C4", +"T4 c #4B91C4", +"U4 c #4B90C4", +"V4 c #4B8FC3", +"W4 c #4B8FC2", +"X4 c #4A8FC2", +"Y4 c #4A8DC1", +"Z4 c #4A8DC0", +"`4 c #498DBF", +" 5 c #498DC0", +".5 c #488DBF", +"+5 c #488DBE", +"@5 c #488CBE", +"#5 c #478CBE", +"$5 c #488DC0", +"%5 c #488CBF", +"&5 c #488EC0", +"*5 c #498FC2", +"=5 c #488FC2", +"-5 c #498FC3", +";5 c #498FC4", +">5 c #4388BC", +",5 c #4287B9", +"'5 c #4286B7", +")5 c #4084B5", +"!5 c #3E82B3", +"~5 c #3E80B2", +"{5 c #3E80B1", +"]5 c #3D7FB0", +"^5 c #3E80B0", +"/5 c #3E81B1", +"(5 c #3C7FB0", +"_5 c #3C7FAF", +":5 c #3C7EAF", +"<5 c #3D80B1", +"[5 c #3E81B2", +"}5 c #3E82B5", +"|5 c #4083B6", +"15 c #4676A9", +"25 c #19547B", +"35 c #5995CE", +"45 c #64A9E6", +"55 c #2480AF", +"65 c #1B5F82", +"75 c #CCCCCC", +"85 c #0A2736", +"95 c #1B658B", +"05 c #1D678D", +"a5 c #1D6A93", +"b5 c #13455F", +"c5 c #03090D", +"d5 c #868686", +"e5 c #050506", +"f5 c #030609", +"g5 c #154E6A", +"h5 c #1F6E99", +"i5 c #2175A2", +"j5 c #247AA8", +"k5 c #257EAE", +"l5 c #010101", +"m5 c #5F5F5F", +"n5 c #CECECE", +"o5 c #030303", +"p5 c #020709", +"q5 c #232323", +"r5 c #020202", +"s5 c #0F2935", +"t5 c #2E799E", +"u5 c #2F7AA1", +"v5 c #2D7CA2", +"w5 c #2275A0", +"x5 c #247AA7", +"y5 c #2886B7", +"z5 c #3B9DCE", +"A5 c #54AEDA", +"B5 c #52A7D0", +"C5 c #4D9CC5", +"D5 c #0A1418", +"E5 c #171818", +"F5 c #CFCFCF", +"G5 c #909090", +"H5 c #6F6F6F", +"I5 c #144A67", +"J5 c #185475", +"K5 c #0F3144", +"L5 c #020203", +"M5 c #D1D1D1", +"N5 c #1A5878", +"O5 c #23739D", +"P5 c #2477A2", +"Q5 c #2579A5", +"R5 c #267DAC", +"S5 c #2781B0", +"T5 c #2888B9", +"U5 c #2B8CBE", +"V5 c #2780AD", +"W5 c #277DAA", +"X5 c #267AA6", +"Y5 c #2476A4", +"Z5 c #2475A3", +"`5 c #2476A2", +" 6 c #2475A2", +".6 c #25739F", +"+6 c #2574A0", +"@6 c #2573A0", +"#6 c #25739E", +"$6 c #25739D", +"%6 c #28749F", +"&6 c #417EAB", +"*6 c #447FAD", +"=6 c #447FAC", +"-6 c #447FAB", +";6 c #447EAA", +">6 c #437EAA", +",6 c #437EA9", +"'6 c #437DA9", +")6 c #437DA8", +"!6 c #427DA8", +"~6 c #427DA7", +"{6 c #427CA7", +"]6 c #417CA6", +"^6 c #417BA6", +"/6 c #417BA5", +"(6 c #407BA5", +"_6 c #407AA5", +":6 c #407AA4", +"<6 c #3F7AA4", +"[6 c #3F79A4", +"}6 c #3E79A3", +"|6 c #3D78A3", +"16 c #3D77A3", +"26 c #3C78A3", +"36 c #3D79A3", +"46 c #3D78A4", +"56 c #3E79A4", +"66 c #3D79A4", +"76 c #3D79A5", +"86 c #3C79A4", +"96 c #3D7AA5", +"06 c #3D7AA6", +"a6 c #3E7CAA", +"b6 c #4487B7", +"c6 c #4488B8", +"d6 c #4487B9", +"e6 c #4487BA", +"f6 c #468CBE", +"g6 c #3C7AAA", +"h6 c #3A78A5", +"i6 c #3974A1", +"j6 c #38739D", +"k6 c #36719B", +"l6 c #356E98", +"m6 c #346D95", +"n6 c #336B95", +"o6 c #336B93", +"p6 c #346C94", +"q6 c #336D96", +"r6 c #346D97", +"s6 c #346D98", +"t6 c #356E99", +"u6 c #336D97", +"v6 c #336C96", +"w6 c #336C95", +"x6 c #336B94", +"y6 c #326A93", +"z6 c #326992", +"A6 c #326A92", +"B6 c #35709B", +"C6 c #3976A3", +"D6 c #3A79A8", +"E6 c #3A7AA9", +"F6 c #3B7BAC", +"G6 c #3C80B0", +"H6 c #377CAD", +"I6 c #74A8E6", +"J6 c #4E81B4", +"K6 c #133B5A", +"L6 c #3776A9", +"M6 c #6CA9E7", +"N6 c #4199D2", +"O6 c #2789BD", +"P6 c #247CAD", +"Q6 c #1A5C7F", +"R6 c #0A2634", +"S6 c #196083", +"T6 c #195F82", +"U6 c #092432", +"V6 c #A8A8A8", +"W6 c #161617", +"X6 c #10394F", +"Y6 c #1F6D95", +"Z6 c #20709B", +"`6 c #2274A0", +" 7 c #257DAD", +".7 c #2683B5", +"+7 c #2785B6", +"@7 c #247CAA", +"#7 c #0D2F40", +"$7 c #171819", +"%7 c #9E9E9E", +"&7 c #8E8E8E", +"*7 c #256382", +"=7 c #2D799C", +"-7 c #29749A", +";7 c #216F99", +">7 c #22739D", +",7 c #2479A5", +"'7 c #2681B0", +")7 c #2B8FC3", +"!7 c #3D9ECF", +"~7 c #54A9D2", +"{7 c #32647E", +"]7 c #144A68", +"^7 c #164A69", +"/7 c #06151D", +"(7 c #2E2F2F", +"_7 c #ACACAC", +":7 c #A1A1A1", +"<7 c #010304", +"[7 c #15465F", +"}7 c #24739D", +"|7 c #257BA8", +"17 c #237AA5", +"27 c #3A749E", +"37 c #3F7FAD", +"47 c #3E7FAD", +"57 c #3E7EAD", +"67 c #4080AF", +"77 c #4386B6", +"87 c #478DC0", +"97 c #32678D", +"07 c #285575", +"a7 c #36709B", +"b7 c #36739F", +"c7 c #3773A1", +"d7 c #3875A3", +"e7 c #3979A7", +"f7 c #3B7CAB", +"g7 c #3D80B2", +"h7 c #4587BB", +"i7 c #6CA0DD", +"j7 c #5285BA", +"k7 c #33638D", +"l7 c #023859", +"m7 c #4C85BA", +"n7 c #5993CB", +"o7 c #67ABE8", +"p7 c #2580B0", +"q7 c #19587A", +"r7 c #CACACA", +"s7 c #092331", +"t7 c #165777", +"u7 c #061821", +"v7 c #BEBEBE", +"w7 c #313131", +"x7 c #0E3346", +"y7 c #1E6A92", +"z7 c #206F98", +"A7 c #21739C", +"B7 c #2378A4", +"C7 c #247CAB", +"D7 c #2276A2", +"E7 c #0A0A0A", +"F7 c #AEAEAE", +"G7 c #2C7294", +"H7 c #267095", +"I7 c #206C94", +"J7 c #2479A6", +"K7 c #2782B1", +"L7 c #2989BA", +"M7 c #41A0D1", +"N7 c #4F9CC2", +"O7 c #0F1D24", +"P7 c #0D0D0D", +"Q7 c #C7C7C7", +"R7 c #8F8F8F", +"S7 c #6E6E6E", +"T7 c #404040", +"U7 c #134662", +"V7 c #05121A", +"W7 c #6C6C6C", +"X7 c #D0D0D0", +"Y7 c #B7B7B7", +"Z7 c #242424", +"`7 c #10364B", +" 8 c #23749F", +".8 c #206D95", +"+8 c #2E2E2E", +"@8 c #6A6A6A", +"#8 c #595959", +"$8 c #20415A", +"%8 c #3B76A2", +"&8 c #3A76A2", +"*8 c #3B77A2", +"=8 c #3C7AA8", +"-8 c #4081B1", +";8 c #4488BA", +">8 c #3F82B3", +",8 c #152B3B", +"'8 c #686868", +")8 c #0A151E", +"!8 c #316791", +"~8 c #326891", +"{8 c #326A94", +"]8 c #346E9A", +"^8 c #3774A0", +"/8 c #3978A5", +"(8 c #3B7AAB", +"_8 c #3D81B3", +":8 c #68A0DC", +"<8 c #04304E", +"[8 c #00213B", +"}8 c #215F8A", +"|8 c #5088BE", +"18 c #469BD4", +"28 c #2277A3", +"38 c #185778", +"48 c #C8C8C8", +"58 c #051720", +"68 c #040E13", +"78 c #696969", +"88 c #2D2D2E", +"98 c #000001", +"08 c #154C69", +"a8 c #1E6990", +"b8 c #1E6B93", +"c8 c #06141B", +"d8 c #A5A5A5", +"e8 c #235C79", +"f8 c #246D90", +"g8 c #1E678D", +"h8 c #1F6B92", +"i8 c #216F98", +"j8 c #2375A0", +"k8 c #267CAA", +"l8 c #2884B6", +"m8 c #2A8CC0", +"n8 c #46A2D2", +"o8 c #54A8D0", +"p8 c #51A1C6", +"q8 c #39708B", +"r8 c #636363", +"s8 c #020506", +"t8 c #051017", +"u8 c #353535", +"v8 c #174F6C", +"w8 c #206D94", +"x8 c #216D96", +"y8 c #1E6589", +"z8 c #626262", +"A8 c #091218", +"B8 c #366D96", +"C8 c #38709B", +"D8 c #3E7DAB", +"E8 c #4284B4", +"F8 c #468ABD", +"G8 c #3F82B2", +"H8 c #37719B", +"I8 c #010203", +"J8 c #1E4059", +"K8 c #2E628A", +"L8 c #2F648C", +"M8 c #30668E", +"N8 c #30678F", +"O8 c #316992", +"P8 c #346E99", +"Q8 c #3978A6", +"R8 c #3B7DAE", +"S8 c #4F8DC4", +"T8 c #6A9DD9", +"U8 c #1F476C", +"V8 c #3D7BAD", +"W8 c #558EC6", +"X8 c #2D90C5", +"Y8 c #185575", +"Z8 c #195C7F", +"`8 c #1B6185", +" 9 c #051116", +".9 c #282929", +"+9 c #236789", +"@9 c #1D658B", +"#9 c #22739C", +"$9 c #2680B0", +"%9 c #2887B9", +"&9 c #49A2D0", +"*9 c #53A4CA", +"=9 c #509CC1", +"-9 c #142731", +";9 c #050606", +">9 c #BCBCBC", +",9 c #3F3F3F", +"'9 c #1D6389", +")9 c #1B5E81", +"!9 c #264F6C", +"~9 c #32668C", +"{9 c #33678D", +"]9 c #366D94", +"^9 c #39739C", +"/9 c #3C79A5", +"(9 c #4080AE", +"_9 c #4286B6", +":9 c #4084B4", +"<9 c #3D7EAC", +"[9 c #1D3D54", +"}9 c #060C10", +"|9 c #2A5B7F", +"19 c #2B5D83", +"29 c #2C5F85", +"39 c #2C6187", +"49 c #2E648B", +"59 c #30668D", +"69 c #3673A1", +"79 c #3979A8", +"89 c #3C80B1", +"99 c #377BAD", +"09 c #76AAE8", +"a9 c #3E709F", +"b9 c #002036", +"c9 c #083F62", +"d9 c #5993CC", +"e9 c #66A2DF", +"f9 c #59A4DF", +"g9 c #3D9AD0", +"h9 c #409AD1", +"i9 c #439BD3", +"j9 c #459DD3", +"k9 c #439DD3", +"l9 c #185576", +"m9 c #979797", +"n9 c #9F9F9F", +"o9 c #A9A9A9", +"p9 c #B9B9B9", +"q9 c #071C27", +"r9 c #185677", +"s9 c #050E13", +"t9 c #323233", +"u9 c #929292", +"v9 c #1E5975", +"w9 c #21709A", +"x9 c #2377A3", +"y9 c #257CAA", +"z9 c #2782B4", +"A9 c #4CA2CE", +"B9 c #51A0C5", +"C9 c #3F7C99", +"D9 c #535353", +"E9 c #8C8C8C", +"F9 c #B2B2B2", +"G9 c #585858", +"H9 c #0D3042", +"I9 c #1C6082", +"J9 c #1A597B", +"K9 c #616161", +"L9 c #E0E0E0", +"M9 c #122533", +"N9 c #2F6086", +"O9 c #306289", +"P9 c #346991", +"Q9 c #38709A", +"R9 c #3D7BA9", +"S9 c #3F81B1", +"T9 c #4387B9", +"U9 c #4186B8", +"V9 c #3D7FAF", +"W9 c #060B0F", +"X9 c #242525", +"Y9 c #163143", +"Z9 c #28587B", +"`9 c #28587C", +" 0 c #285A7D", +".0 c #295B7F", +"+0 c #2B5F84", +"@0 c #2E638A", +"#0 c #30658D", +"$0 c #326993", +"%0 c #3878A6", +"&0 c #3B7FAF", +"*0 c #4B80B3", +"=0 c #0D3756", +"-0 c #296995", +";0 c #5E99D4", +">0 c #6CA8E6", +",0 c #72AFEF", +"'0 c #3E98CF", +")0 c #5BA6DD", +"!0 c #4AA0D6", +"~0 c #185577", +"{0 c #181818", +"]0 c #060707", +"^0 c #3B3B3B", +"/0 c #545454", +"(0 c #8A8A8A", +"_0 c #232324", +":0 c #0F1010", +"<0 c #222323", +"[0 c #383838", +"}0 c #6B6B6B", +"|0 c #090909", +"10 c #2A2A2A", +"20 c #9C9C9C", +"30 c #0E2938", +"40 c #1C6287", +"50 c #1E658D", +"60 c #2273A0", +"70 c #2478A4", +"80 c #2680AE", +"90 c #2C91C5", +"00 c #2D91C6", +"a0 c #4EA0C9", +"b0 c #519DC2", +"c0 c #1A323F", +"d0 c #AFAFAF", +"e0 c #343434", +"f0 c #020608", +"g0 c #2F2F2F", +"h0 c #144B66", +"i0 c #1A5979", +"j0 c #295677", +"k0 c #2F6084", +"l0 c #3B78A4", +"m0 c #3E7DAD", +"n0 c #4284B5", +"o0 c #468BBE", +"p0 c #3C7CAB", +"q0 c #254D6A", +"r0 c #030507", +"s0 c #234C6D", +"t0 c #255173", +"u0 c #255273", +"v0 c #265274", +"w0 c #265476", +"x0 c #275678", +"y0 c #295C7F", +"z0 c #2D628A", +"A0 c #316892", +"B0 c #336E9A", +"C0 c #3774A2", +"D0 c #3B7EAE", +"E0 c #4485B9", +"F0 c #4F84B7", +"G0 c #2A567E", +"H0 c #407EB0", +"I0 c #558FC7", +"J0 c #629DD9", +"K0 c #2B90C7", +"L0 c #3A97CF", +"M0 c #2278A3", +"N0 c #185678", +"O0 c #091118", +"P0 c #101E29", +"Q0 c #152735", +"R0 c #0A2838", +"S0 c #09293A", +"T0 c #082230", +"U0 c #071C28", +"V0 c #04131B", +"W0 c #080909", +"X0 c #242425", +"Y0 c #555555", +"Z0 c #0C0C0C", +"`0 c #030D12", +" a c #05151D", +".a c #05131B", +"+a c #252525", +"@a c #323232", +"#a c #185473", +"$a c #1C6085", +"%a c #1F668D", +"&a c #22709B", +"*a c #2377A2", +"=a c #2883B4", +"-a c #2B8DC0", +";a c #2C8EC2", +">a c #4D9CC3", +",a c #4585A5", +"'a c #101111", +")a c #071D28", +"!a c #0C3042", +"~a c #0E364D", +"{a c #103D55", +"]a c #113E59", +"^a c #103D56", +"/a c #0E3449", +"(a c #08202D", +"_a c #030A0E", +":a c #A0A0A0", +"b c #2F6185", +",b c #356D94", +"'b c #38729C", +")b c #468BBD", +"!b c #4186B7", +"~b c #2D5E81", +"{b c #1B3E55", +"]b c #1F4561", +"^b c #1E4561", +"/b c #1F4662", +"(b c #28597C", +"_b c #2E638B", +":b c #35739E", +"c c #2F658D", +",c c #316A93", +"'c c #3674A1", +")c c #3879A6", +"!c c #3B7EB0", +"~c c #4E83B7", +"{c c #254F74", +"]c c #3979AC", +"^c c #4E9FD6", +"/c c #3494C9", +"(c c #3F9AD0", +"_c c #2786B9", +":c c #2277A4", +"d c #091116", +",d c #2A4E68", +"'d c #294E6A", +")d c #2B516E", +"!d c #2F5674", +"~d c #305876", +"{d c #2B5574", +"]d c #134B68", +"^d c #134D6C", +"/d c #134D6D", +"(d c #134D6E", +"_d c #134E6E", +":d c #134C69", +"e c #175879", +",e c #165577", +"'e c #155473", +")e c #15516F", +"!e c #0E3A51", +"~e c #4F4F4F", +"{e c #2E5572", +"]e c #284F6B", +"^e c #244E6D", +"/e c #1E4D6B", +"(e c #184C6A", +"_e c #144E6E", +":e c #14506F", +"f c #325E7D", +",f c #346182", +"'f c #376688", +")f c #336588", +"!f c #175A7D", +"~f c #1A5D80", +"{f c #1A5F81", +"]f c #1A5E80", +"^f c #195D7F", +"/f c #195C7E", +"(f c #185A7A", +"_f c #040F15", +":f c #181919", +"g c #3B6D92", +",g c #366D91", +"'g c #1A6086", +")g c #1B6286", +"!g c #1B6388", +"~g c #1C6389", +"{g c #1B6085", +"]g c #0B2938", +"^g c #0C1820", +"/g c #2B516C", +"(g c #315C7B", +"_g c #355F80", +":g c #376487", +"h c #315979", +",h c #356282", +"'h c #38668A", +")h c #3B6D91", +"!h c #3D7095", +"~h c #40749C", +"{h c #39739A", +"]h c #1D668D", +"^h c #1E678F", +"/h c #1E6890", +"(h c #1E6992", +"_h c #1D658D", +":h c #1C6288", +"i c #41779E", +",i c #3C79A3", +"'i c #206E98", +")i c #21719C", +"!i c #206F9A", +"~i c #1C658C", +"{i c #195A7D", +"]i c #A7A7A7", +"^i c #386588", +"/i c #3A6B8F", +"(i c #3D7094", +"_i c #40749B", +":i c #4178A0", +"j c #386589", +",j c #3D7298", +"'j c #457EA8", +")j c #4A86B2", +"!j c #4C88B5", +"~j c #4D8AB6", +"{j c #4D8BB8", +"]j c #4D8BB9", +"^j c #4D8AB7", +"/j c #4C88B6", +"(j c #4B86B3", +"_j c #25445B", +":j c #0C222C", +"k c #1F688F", +",k c #22709A", +"'k c #2989BC", +")k c #206991", +"!k c #274657", +"~k c #305768", +"{k c #396C85", +"]k c #417995", +"^k c #437F9D", +"/k c #216B93", +"(k c #216B94", +"_k c #226D97", +":k c #2677A4", +"l c #1C6083", +",l c #2574A1", +"'l c #2E8BBE", +")l c #2E8ABD", +"!l c #2C89BC", +"~l c #226E99", +"{l c #216892", +"]l c #040C11", +"^l c #234D6A", +"/l c #2B597C", +"(l c #2D5F83", +"_l c #31658B", +":l c #346A92", +"m c #111212", +",m c #142B3C", +"'m c #2A5779", +")m c #2F6287", +"!m c #32678E", +"~m c #366E98", +"{m c #3974A0", +"]m c #4489BB", +"^m c #285271", +"/m c #060F16", +"(m c #265374", +"_m c #3A7BAA", +":m c #4586BA", +"n c #3E7298", +",n c #467FAA", +"'n c #4F8DBD", +")n c #5398C9", +"!n c #589FD2", +"~n c #5DA7DD", +"{n c #0D2C3E", +"]n c #152937", +"^n c #3C6D93", +"/n c #4379A3", +"(n c #5194C5", +"_n c #579DD0", +":n c #5DA6DC", +"o c #123D53", +",o c #0D171C", +"'o c #36657C", +")o c #3A6E86", +"!o c #3D7590", +"~o c #407A98", +"{o c #4483A1", +"]o c #4789A9", +"^o c #478BAC", +"/o c #164D6E", +"(o c #2A87B7", +"_o c #2F8EC2", +":o c #2880B1", +"p c #437AA4", +",p c #59A0D5", +"'p c #2D93C7", +")p c #3495C9", +"!p c #3395C8", +"~p c #3091C3", +"{p c #2C89B7", +"]p c #287EAA", +"^p c #2677A0", +"/p c #134058", +"(p c #9D9D9D", +"_p c #39688D", +":p c #40759C", +"

Q c #296686", +",Q c #2C6C8D", +"'Q c #22688E", +")Q c #36749D", +"!Q c #57A0D4", +"~Q c #559CD1", +"{Q c #5093C6", +"]Q c #4B8BBA", +"^Q c #4682AE", +"/Q c #427CA6", +"(Q c #336182", +"_Q c #274A64", +":Q c #2479A7", +"R c #519DD4", +",R c #50A2D0", +"'R c #51A3D0", +")R c #51A3D2", +"!R c #4E9DC8", +"~R c #4A94BE", +"{R c #458DB4", +"]R c #3C799B", +"^R c #275168", +"/R c #254B62", +"(R c #23465A", +"_R c #204053", +":R c #1D3A4B", +"S c #2A5778", +",S c #3A77A2", +"'S c #122C3E", +")S c #316A92", +"!S c #2B5E88", +"~S c #3D74A4", +"{S c #2B8CC1", +"]S c #3290C3", +"^S c #3593C6", +"/S c #3994C7", +"(S c #3B96C8", +"_S c #3B97C7", +":S c #539DD4", +"T c #124561", +",T c #2E8CC1", +"'T c #4082B1", +")T c #356C95", +"!T c #112432", +"~T c #183A52", +"{T c #2C6186", +"]T c #0E3755", +"^T c #002238", +"/T c #204C70", +"(T c #3D95CC", +"_T c #3190C3", +":T c #3995C6", +"U c #4180AF", +",U c #102635", +"'U c #2A5D83", +")U c #2D638A", +"!U c #3775A3", +"~U c #3A7BAC", +"{U c #3478A8", +"]U c #629AD5", +"^U c #467BAF", +"/U c #042F49", +"(U c #56A1DC", +"_U c #3594C5", +":U c #3694C6", +"V c #7BB2F2", +",V c #2E8FC1", +"'V c #3692C4", +")V c #3894C6", +"!V c #3A96C6", +"~V c #3D96C7", +"{V c #3E97C8", +"]V c #519DD5", +"^V c #50A3D2", +"/V c #54A3D2", +"(V c #519ECB", +"_V c #4C94BF", +":V c #498FB8", +"W c #3793C5", +",W c #3A95C6", +"'W c #3E98C7", +")W c #3F98C8", +"!W c #53A4D2", +"~W c #53A3D1", +"{W c #54A5D2", +"]W c #519FCA", +"^W c #4C96C0", +"/W c #4A91BA", +"(W c #4181A4", +"_W c #3D799A", +":W c #397190", +"X c #3D97C7", +",X c #3D98C8", +"'X c #53A5D2", +")X c #52A0CC", +"!X c #4E98C1", +"~X c #4B93BA", +"{X c #4789AF", +"]X c #4381A4", +"^X c #3F799C", +"/X c #3A7191", +"(X c #396E8D", +"_X c #386D8D", +":X c #1D5D7F", +"Y c #1A5F84", +",Y c #1A5E84", +"'Y c #336A8F", +")Y c #3C739A", +"!Y c #4079A2", +"~Y c #417BA4", +"{Y c #4989B7", +"]Y c #3485B4", +"^Y c #31749A", +"/Y c #447C9E", +"(Y c #437A9C", +"_Y c #407596", +":Y c #407594", +"Z c #407DA0", +",Z c #417A9D", +"'Z c #407A9C", +")Z c #327296", +"!Z c #2D6D94", +"~Z c #417AA4", +"{Z c #4D8EBF", +"]Z c #5196C8", +"^Z c #5398CC", +"/Z c #4A8EC0", +"(Z c #4583A8", +"_Z c #4882A5", +":Z c #4780A4", +"` c #4686AA", +",` c #4584A8", +"'` c #4582A6", +")` c #417EA3", +"!` c #206C95", +"~` c #266F9A", +"{` c #427BA6", +"]` c #4681AE", +"^` c #4B8BB9", +"/` c #4D90C0", +"(` c #4F92C3", +"_` c #3584B4", +":` c #2479A9", +"<` c #3782AC", +"[` c #4D8CB4", +"}` c #4D8AB0", +"|` c #4C88AD", +"1` c #4A86AD", +"2` c #4985AB", +"3` c #4985AA", +"4` c #4986AB", +"5` c #4A87AD", +"6` c #4B89AE", +"7` c #4F8FB7", +"8` c #5193BD", +"9` c #559AC5", +"0` c #59A0CC", +"a` c #5DA7D6", +"b` c #5BA9DA", +"c` c #4F9ED5", +"d` c #4E91C2", +"e` c #4C8DBD", +"f` c #4783B0", +"g` c #4580AC", +"h` c #192D3A", +"i` c #31576E", +"j` c #335C74", +"k` c #36617A", +"l` c #3E728D", +"m` c #417895", +"n` c #467F9E", +"o` c #4A85A6", +"p` c #4E8CB0", +"q` c #5294B9", +"r` c #569DC4", +"s` c #5AA4CF", +"t` c #5EACDA", +"u` c #5FB0DC", +"v` c #5EAFDB", +"w` c #5FAEDB", +"x` c #5EAEDB", +"y` c #58ACD9", +"z` c #379CCE", +"A` c #3599CB", +"B` c #3292C8", +"C` c #4E9CD3", +"D` c #549BD0", +"E` c #5196C9", +"F` c #4F92C4", +"G` c #4A8AB8", +"H` c #4886B4", +"I` c #3F77A0", +"J` c #3C739B", +"K` c #3C739C", +"L` c #3D749D", +"M` c #3E769F", +"N` c #3F77A1", +"O` c #4079A3", +"P` c #3E7AA4", +"Q` c #3577A2", +"R` c #29739E", +"S` c #216E99", +"T` c #2375A2", +"U` c #267EAC", +"V` c #2880B0", +"W` c #2473A0", +"X` c #246E99", +"Y` c #4082B3", +"Z` c #366E99", +"`` c #244C69", +" . c #132E41", +". . c #1E4560", +"+ . c #204866", +"@ . c #265477", +"# . c #34709C", +"$ . c #2C608C", +"% . c #366994", +"& . c #568ABF", +"* . c #75B0EF", +"= . c #3A94C6", +"- . c #3B95C7", +"; . c #3C95C7", +"> . c #3F97C8", +", . c #4099C9", +"' . c #4199CA", +") . c #4299C9", +"! . c #439AC9", +"~ . c #4F9CD1", +"{ . c #3694C7", +"] . c #55A5D2", +"^ . c #56A6D3", +"/ . c #57A6D4", +"( . c #56A5D4", +"_ . c #57A5D5", +": . c #57A5D3", +"< . c #539ECA", +"[ . c #4F96C0", +"} . c #4F94BD", +"| . c #4D91B9", +"1 . c #4A8EB6", +"2 . c #498DB3", +"3 . c #498BB2", +"4 . c #26759F", +"5 . c #4380AD", +"6 . c #4783B1", +"7 . c #4985B4", +"8 . c #569CD2", +"9 . c #4E95C9", +"0 . c #267FB0", +"a . c #5192BC", +"b . c #5191B9", +"c . c #4F8FB6", +"d . c #4E8EB6", +"e . c #4E8DB6", +"f . c #4D8DB5", +"g . c #4D8DB6", +"h . c #4F90B7", +"i . c #5192B9", +"j . c #5195BE", +"k . c #5499C1", +"l . c #589CC8", +"m . c #5BA2CE", +"n . c #5EA7D6", +"o . c #62ADDD", +"p . c #4BA0D2", +"q . c #4B89B7", +"r . c #4A8AB7", +"s . c #4A89B6", +"t . c #2C516C", +"u . c #2A4C60", +"v . c #2F5469", +"w . c #315970", +"x . c #36637E", +"y . c #3F7392", +"z . c #427999", +"A . c #4881A2", +"B . c #4B89AD", +"C . c #4F91B6", +"D . c #539AC0", +"E . c #58A1CA", +"F . c #5CA8D5", +"G . c #5FB0DD", +"H . c #5FB0DB", +"I . c #5EAEDC", +"J . c #5DAEDB", +"K . c #5CAEDB", +"L . c #3E9ED0", +"M . c #4599D0", +"N . c #559DD2", +"O . c #5194C8", +"P . c #4B8ABA", +"Q . c #4784B1", +"R . c #417AA5", +"S . c #4683B0", +"T . c #4683B2", +"U . c #4784B2", +"V . c #4483B1", +"W . c #397FAC", +"X . c #2E7CA9", +"Y . c #277FAF", +"Z . c #2779A9", +"` . c #236D98", +" .. c #264E6E", +"... c #3A78A4", +"+.. c #265679", +"@.. c #3477A8", +"#.. c #07304B", +"$.. c #001E34", +"%.. c #6AABE7", +"&.. c #449AC9", +"*.. c #4D9BD1", +"=.. c #3993C9", +"-.. c #2E91C4", +";.. c #55A6D3", +">.. c #57A5D4", +",.. c #58A6D4", +"'.. c #58A6D5", +").. c #57A6D5", +"!.. c #54A1CD", +"~.. c #529DC8", +"{.. c #519AC4", +"].. c #5198C1", +"^.. c #4E94BD", +"/.. c #4E93BC", +"(.. c #4E93BA", +"_.. c #3685B0", +":.. c #2479A8", +"<.. c #3C85B3", +"[.. c #4E91C3", +"}.. c #559BD1", +"|.. c #569DD3", +"1.. c #3C92C5", +"2.. c #3C8EBC", +"3.. c #559AC6", +"4.. c #5599C5", +"5.. c #5499C4", +"6.. c #5498C3", +"7.. c #5498C2", +"8.. c #5498C1", +"9.. c #5397C1", +"0.. c #5396C0", +"a.. c #5496C0", +"b.. c #559AC4", +"c.. c #589ECA", +"d.. c #5AA1CD", +"e.. c #5DA6D4", +"f.. c #5FAAD9", +"g.. c #61AEDD", +"h.. c #3897CB", +"i.. c #4E91C1", +"j.. c #0B131A", +"k.. c #172934", +"l.. c #2D5268", +"m.. c #30576E", +"n.. c #315C74", +"o.. c #34617A", +"p.. c #3A6983", +"q.. c #417795", +"r.. c #457D9D", +"s.. c #4985A6", +"t.. c #4D8CAF", +"u.. c #5193B8", +"v.. c #569BC2", +"w.. c #5AA4CD", +"x.. c #5EACD8", +"y.. c #5CADDA", +"z.. c #5BADDB", +"A.. c #5BADD9", +"B.. c #58ACDA", +"C.. c #3F9FD0", +"D.. c #3699CE", +"E.. c #3599CD", +"F.. c #3C95CB", +"G.. c #5399CE", +"H.. c #4C8BBB", +"I.. c #4886B3", +"J.. c #4581AE", +"K.. c #4581AD", +"L.. c #4785B2", +"M.. c #4888B6", +"N.. c #4989B8", +"O.. c #4A8ABA", +"P.. c #4A8ABB", +"Q.. c #4B8BBB", +"R.. c #4B8CBC", +"S.. c #4C8DBE", +"T.. c #498DBE", +"U.. c #3D88B9", +"V.. c #3385B5", +"W.. c #2A8DBF", +"X.. c #2983B4", +"Y.. c #407FAE", +"Z.. c #1D3E55", +"`.. c #112939", +" +. c #2A5E83", +".+. c #4886BB", +"++. c #3B70A2", +"@+. c #467CAE", +"#+. c #6399D1", +"$+. c #76B1EF", +"%+. c #489BCF", +"&+. c #4098C7", +"*+. c #459BCA", +"=+. c #3693C6", +"-+. c #4C9ACF", +";+. c #4296CD", +">+. c #50A2D1", +",+. c #58A7D4", +"'+. c #59A8D5", +")+. c #58A6D3", +"!+. c #57A3D0", +"~+. c #569FCC", +"{+. c #539DC9", +"]+. c #539DC7", +"^+. c #539BC6", +"/+. c #539AC5", +"(+. c #4593C1", +"_+. c #348BBC", +":+. c #54A1D6", +"<+. c #2C8EC5", +"[+. c #56A0CE", +"}+. c #5CA2D0", +"|+. c #5BA2CF", +"1+. c #59A0CB", +"2+. c #599ECB", +"3+. c #599FCC", +"4+. c #5AA0CD", +"5+. c #5AA1CE", +"6+. c #5BA4D3", +"7+. c #5DA7D7", +"8+. c #5FAADA", +"9+. c #61ADDE", +"0+. c #62AEDE", +"a+. c #59A9D9", +"b+. c #499BD3", +"c+. c #549ACF", +"d+. c #5092C4", +"e+. c #325C7B", +"f+. c #171717", +"g+. c #294B60", +"h+. c #2E5469", +"i+. c #335E76", +"j+. c #36637D", +"k+. c #3C6D88", +"l+. c #3E7391", +"m+. c #42799A", +"n+. c #4780A2", +"o+. c #4B88AA", +"p+. c #4E90B4", +"q+. c #5197BE", +"r+. c #58A1C9", +"s+. c #5CA8D3", +"t+. c #60B0DD", +"u+. c #5BACDA", +"v+. c #5AADDA", +"w+. c #59ABDA", +"x+. c #43A0D2", +"y+. c #3399CC", +"z+. c #519ED4", +"A+. c #4A89B9", +"B+. c #4A8AB9", +"C+. c #4C8DBF", +"D+. c #4C8FC0", +"E+. c #4D8FC2", +"F+. c #4E91C4", +"G+. c #4F92C5", +"H+. c #4F93C6", +"I+. c #5094C7", +"J+. c #5094C8", +"K+. c #5096C9", +"L+. c #5298CC", +"M+. c #4291C4", +"N+. c #2A87B9", +"O+. c #2C88BB", +"P+. c #2B85B8", +"Q+. c #306387", +"R+. c #3C7DAC", +"S+. c #2C5C81", +"T+. c #04090D", +"U+. c #183952", +"V+. c #245172", +"W+. c #336C97", +"X+. c #69A0DC", +"Y+. c #194669", +"Z+. c #1F4B6F", +"`+. c #73AFEE", +" @. c #74B0EE", +".@. c #76B1F0", +"+@. c #66AAE4", +"@@. c #3F98C7", +"#@. c #439ACA", +"$@. c #4998CE", +"%@. c #4B9AD0", +"&@. c #459DCE", +"*@. c #57A7D4", +"=@. c #57A7D5", +"-@. c #59A8D6", +";@. c #5AA8D6", +">@. c #5AA8D7", +",@. c #5AA7D5", +"'@. c #59A6D3", +")@. c #59A4D1", +"!@. c #59A5D1", +"~@. c #298CC1", +"{@. c #55A0D6", +"]@. c #3B97CB", +"^@. c #60ACDC", +"/@. c #60AADA", +"(@. c #60A9D9", +"_@. c #5EA8D8", +":@. c #5EA8D7", +"<@. c #5FA8D6", +"[@. c #5FA8D7", +"}@. c #60A9D8", +"|@. c #61ADDD", +"1@. c #61AEDE", +"2@. c #499FD2", +"3@. c #0B222D", +"4@. c #264F65", +"5@. c #396983", +"6@. c #3D718D", +"7@. c #417794", +"8@. c #4884A5", +"9@. c #4D8CAE", +"0@. c #5192B7", +"a@. c #549AC1", +"b@. c #59A2CC", +"c@. c #5DACD8", +"d@. c #5FAEDC", +"e@. c #5CACDB", +"f@. c #5AACDA", +"g@. c #59ACDA", +"h@. c #59ACD9", +"i@. c #48A3D3", +"j@. c #3398CB", +"k@. c #3299CC", +"l@. c #499BD0", +"m@. c #539BD0", +"n@. c #5093C7", +"o@. c #4F92C6", +"p@. c #4F93C5", +"q@. c #5095CA", +"r@. c #5299CD", +"s@. c #539ACF", +"t@. c #549CD1", +"u@. c #4D9AD1", +"v@. c #3390C5", +"w@. c #2D89BE", +"x@. c #08131A", +"y@. c #2D5E80", +"z@. c #39719B", +"A@. c #163042", +"B@. c #1E435E", +"C@. c #4A88BD", +"D@. c #4479AC", +"E@. c #598EC3", +"F@. c #649AD2", +"G@. c #479BCE", +"H@. c #469CCB", +"I@. c #4698CE", +"J@. c #3995C8", +"K@. c #59A7D6", +"L@. c #5AA8D5", +"M@. c #5AA9D6", +"N@. c #5BA8D7", +"O@. c #5BA9D7", +"P@. c #5AA9D7", +"Q@. c #5CA8D6", +"R@. c #5CA9D7", +"S@. c #499BD1", +"T@. c #4FA3D4", +"U@. c #62AEDD", +"V@. c #3895C9", +"W@. c #3593C8", +"X@. c #164256", +"Y@. c #194A62", +"Z@. c #335E75", +"`@. c #3B6D89", +" #. c #3E7390", +".#. c #417999", +"+#. c #457FA1", +"@#. c #4A86AA", +"##. c #4E8EB3", +"$#. c #5197BD", +"%#. c #559EC7", +"&#. c #5EAFDC", +"*#. c #5CADDB", +"=#. c #5BACD9", +"-#. c #5CADD9", +";#. c #5BADDA", +">#. c #5AACD9", +",#. c #59ABD9", +"'#. c #58ABD9", +")#. c #56ABD8", +"!#. c #3D95CB", +"~#. c #559FD6", +"{#. c #539BCF", +"]#. c #549CD3", +"^#. c #529DD1", +"/#. c #3992C8", +"(#. c #2E8BBF", +"_#. c #285B7E", +":#. c #326B95", +"<#. c #26557D", +"[#. c #265077", +"}#. c #5F94CC", +"|#. c #74AFEF", +"1#. c #77B2F0", +"2#. c #68AAE5", +"3#. c #3D95C7", +"4#. c #4399C9", +"5#. c #449ACA", +"6#. c #459ACA", +"7#. c #469BCA", +"8#. c #469CCA", +"9#. c #4296CB", +"0#. c #59A7D5", +"a#. c #5BAAD8", +"b#. c #5CA9D8", +"c#. c #5DA9D7", +"d#. c #51A3D4", +"e#. c #3C94CB", +"f#. c #4096CE", +"g#. c #5EABDB", +"h#. c #62ADDE", +"i#. c #58A9D9", +"j#. c #12212C", +"k#. c #071A25", +"l#. c #14465E", +"m#. c #1A4B65", +"n#. c #1C4F6A", +"o#. c #305E78", +"p#. c #376683", +"q#. c #3C708D", +"r#. c #4884A4", +"s#. c #4C8BAE", +"t#. c #59A2CD", +"u#. c #5DAAD7", +"v#. c #5EAEDA", +"w#. c #5DADDA", +"x#. c #5CACD9", +"y#. c #5AADD9", +"z#. c #58ABD8", +"A#. c #57ABD9", +"B#. c #57ABD8", +"C#. c #56AAD7", +"D#. c #53A8D7", +"E#. c #3F9ED0", +"F#. c #3292C6", +"G#. c #4C9BD1", +"H#. c #4297CC", +"I#. c #297EAD", +"J#. c #234966", +"K#. c #336B92", +"L#. c #0F222F", +"M#. c #0C1C28", +"N#. c #204762", +"O#. c #255373", +"P#. c #4C8AC0", +"Q#. c #022A46", +"R#. c #4E80B4", +"S#. c #74AFEE", +"T#. c #77B1EF", +"U#. c #459BCB", +"V#. c #479DCB", +"W#. c #3D94CA", +"X#. c #4CA1D1", +"Y#. c #5DA9D8", +"Z#. c #5EA9D8", +"`#. c #3090C7", +" $. c #429BCF", +".$. c #4CA0D3", +"+$. c #4A9CD1", +"@$. c #1F3E55", +"#$. c #154661", +"$$. c #174B65", +"%$. c #205774", +"&$. c #356885", +"*$. c #417998", +"=$. c #4986AA", +"-$. c #5195BB", +";$. c #57AAD9", +">$. c #57AAD8", +",$. c #55AAD8", +"'$. c #54A9D7", +")$. c #54A8D7", +"!$. c #49A2D3", +"~$. c #4A98CD", +"{$. c #318FC5", +"]$. c #051119", +"^$. c #1F4964", +"/$. c #4387B7", +"($. c #31678E", +"_$. c #2E6287", +":$. c #16344A", +"<$. c #245071", +"[$. c #35719E", +"}$. c #3578A9", +"|$. c #5D91CA", +"1$. c #5386BB", +"2$. c #29567E", +"3$. c #78B2F0", +"4$. c #70AEEA", +"5$. c #4198C8", +"6$. c #4299C8", +"7$. c #479CCA", +"8$. c #489CCB", +"9$. c #3993C8", +"0$. c #519CD3", +"a$. c #5AA7D6", +"b$. c #5BA8D6", +"c$. c #5BA9D8", +"d$. c #5DAAD9", +"e$. c #4D9CD2", +"f$. c #4A9BD2", +"g$. c #55A6D7", +"h$. c #63ADDE", +"i$. c #62AEDF", +"j$. c #63AEDF", +"k$. c #3F9BCD", +"l$. c #0D1923", +"m$. c #264D68", +"n$. c #174967", +"o$. c #19506E", +"p$. c #1E5977", +"q$. c #3A7392", +"r$. c #447D9C", +"s$. c #4883A4", +"t$. c #4B8AAD", +"u$. c #4F92B6", +"v$. c #539AC1", +"w$. c #58A2CC", +"x$. c #5CA9D6", +"y$. c #5DAEDC", +"z$. c #5DAEDA", +"A$. c #5AACDB", +"B$. c #5AABDA", +"C$. c #59ABD8", +"D$. c #58AAD7", +"E$. c #55A9D8", +"F$. c #53A8D6", +"G$. c #54A8D6", +"H$. c #4FA5D5", +"I$. c #389ACE", +"J$. c #3391C7", +"K$. c #4D9DD2", +"L$. c #4F9BD1", +"M$. c #3691C6", +"N$. c #184762", +"O$. c #336992", +"P$. c #2D5E83", +"Q$. c #224C6B", +"R$. c #275879", +"S$. c #3A79A9", +"T$. c #032946", +"U$. c #053151", +"V$. c #77B0F0", +"W$. c #4298C8", +"X$. c #459AC9", +"Y$. c #499DCC", +"Z$. c #489DCB", +"`$. c #439ACB", +" %. c #3591C5", +".%. c #3491C6", +"+%. c #5DAAD8", +"@%. c #5DAADA", +"#%. c #56A6D5", +"$%. c #3C95CA", +"%%. c #60ACDD", +"&%. c #3592C7", +"*%. c #3F749D", +"=%. c #1E3B51", +"-%. c #2A5271", +";%. c #1A4F6E", +">%. c #1D5C7B", +",%. c #226486", +"'%. c #4986A8", +")%. c #4D8DB1", +"!%. c #5194BB", +"~%. c #549EC8", +"{%. c #58A5D1", +"]%. c #5DADDB", +"^%. c #55A8D8", +"/%. c #55A8D7", +"(%. c #53A7D6", +"_%. c #52A7D6", +":%. c #50A6D4", +"<%. c #409ED0", +"[%. c #2F96C9", +"}%. c #529CD1", +"|%. c #3E94C8", +"1%. c #287BAB", +"2%. c #2674A2", +"3%. c #144661", +"4%. c #244D6D", +"5%. c #3B78A3", +"6%. c #37739E", +"7%. c #346C96", +"8%. c #1C3C53", +"9%. c #245070", +"0%. c #3779AB", +"a%. c #6EA4E1", +"b%. c #2D5A83", +"c%. c #73ABE9", +"d%. c #75B0EE", +"e%. c #469CCC", +"f%. c #459BC9", +"g%. c #479DCA", +"h%. c #489ECC", +"i%. c #308EC3", +"j%. c #4196CC", +"k%. c #5EAADA", +"l%. c #549ED5", +"m%. c #529FD4", +"n%. c #479ED1", +"o%. c #63AEDE", +"p%. c #59A8D9", +"q%. c #4197CC", +"r%. c #192E3F", +"s%. c #2D5A7C", +"t%. c #1D5B7D", +"u%. c #256D91", +"v%. c #4286AB", +"w%. c #5299C0", +"x%. c #57A2CB", +"y%. c #5DACDA", +"z%. c #58AAD8", +"A%. c #59AAD9", +"B%. c #56A9D8", +"C%. c #55A9D7", +"D%. c #54A9D6", +"E%. c #52A7D5", +"F%. c #50A5D4", +"G%. c #2E93CA", +"H%. c #3491C7", +"I%. c #4697CC", +"J%. c #236D99", +"K%. c #204C6B", +"L%. c #3F7EAD", +"M%. c #488EC1", +"N%. c #326791", +"O%. c #071117", +"P%. c #214B6A", +"Q%. c #245173", +"R%. c #30668F", +"S%. c #3773A2", +"T%. c #6FA2DF", +"U%. c #487BAF", +"V%. c #012844", +"W%. c #6CA3E0", +"X%. c #79B2F0", +"Y%. c #79B3F0", +"Z%. c #65A9E2", +"`%. c #4A9DCC", +" &. c #4A9FCC", +".&. c #4E9BD1", +"+&. c #449BCC", +"@&. c #5BA9D6", +"#&. c #5DABDA", +"$&. c #489DCF", +"%&. c #4699D0", +"&&. c #4498CF", +"*&. c #59A9DB", +"=&. c #62ADDF", +"-&. c #63ADDF", +";&. c #4FA2D4", +">&. c #489BD1", +",&. c #4178A2", +"'&. c #1B374A", +")&. c #284F6C", +"!&. c #27759C", +"~&. c #2A7AA4", +"{&. c #448EB6", +"]&. c #549CC6", +"^&. c #59A4D0", +"/&. c #5EADDB", +"(&. c #5BAEDA", +"_&. c #58AAD9", +":&. c #51A5D5", +"<&. c #51A6D5", +"[&. c #4FA5D4", +"}&. c #4CA3D2", +"|&. c #399ACD", +"1&. c #3A94C9", +"2&. c #4D98CE", +"3&. c #348FC4", +"4&. c #2B84B6", +"5&. c #2574A2", +"6&. c #1A4B69", +"7&. c #3A78A6", +"8&. c #37729D", +"9&. c #152F40", +"0&. c #122B3C", +"a&. c #397CAC", +"b&. c #4382B6", +"c&. c #27587F", +"d&. c #214C71", +"e&. c #5D91C8", +"f&. c #669CD7", +"g&. c #55A1D5", +"h&. c #469BC9", +"i&. c #499ECC", +"j&. c #4A9ECC", +"k&. c #519BD1", +"l&. c #308FC5", +"m&. c #5BA8D8", +"n&. c #5EABD8", +"o&. c #5EABD9", +"p&. c #5EABDA", +"q&. c #5FABDB", +"r&. c #3591C7", +"s&. c #2B8FC2", +"t&. c #3A96CA", +"u&. c #61ADDF", +"v&. c #429CCF", +"w&. c #1D3547", +"x&. c #244861", +"y&. c #38698E", +"z&. c #396E94", +"A&. c #266D95", +"B&. c #26769F", +"C&. c #2B7FA9", +"D&. c #499AC6", +"E&. c #5CA9D5", +"F&. c #5BAEDB", +"G&. c #5BACDB", +"H&. c #5AACD8", +"I&. c #53A7D5", +"J&. c #51A6D6", +"K&. c #4FA5D3", +"L&. c #4EA4D3", +"M&. c #469FD0", +"N&. c #3397C9", +"O&. c #519AD0", +"P&. c #3B91C8", +"Q&. c #164968", +"R&. c #3873A1", +"S&. c #275574", +"T&. c #214B68", +"U&. c #3879A7", +"V&. c #3B80B1", +"W&. c #4679AD", +"X&. c #002744", +"Y&. c #5F95CD", +"Z&. c #74B1ED", +"`&. c #4B9ECD", +" *. c #4B99CF", +".*. c #5FABDA", +"+*. c #2A8EC1", +"@*. c #509DD4", +"#*. c #4DA1D4", +"$*. c #60ADDD", +"%*. c #3795C9", +"&*. c #193246", +"**. c #284D6B", +"=*. c #2E5778", +"-*. c #3F78A2", +";*. c #2E76A2", +">*. c #2E88B6", +",*. c #5EADDC", +"'*. c #58A9D8", +")*. c #50A5D5", +"!*. c #4EA4D2", +"~*. c #4CA4D3", +"{*. c #4BA2D2", +"]*. c #409CCE", +"^*. c #2C93C7", +"/*. c #3190C5", +"(*. c #4898CF", +"_*. c #4295CB", +":*. c #235575", +"<*. c #2F638A", +"[*. c #2C5E83", +"}*. c #0F202E", +"|*. c #0F2433", +"1*. c #2E628B", +"2*. c #316792", +"3*. c #346D9A", +"4*. c #397BAB", +"5*. c #5591C9", +"6*. c #1D486A", +"7*. c #143F62", +"8*. c #5184B8", +"9*. c #5C97CF", +"0*. c #7AB3F0", +"a*. c #7AB3F1", +"b*. c #68AAE3", +"c*. c #4B9ECC", +"d*. c #4B9FCE", +"e*. c #4C9ECD", +"f*. c #4496CC", +"g*. c #4A99CF", +"h*. c #499FD0", +"i*. c #60ABDA", +"j*. c #60ACDB", +"k*. c #4DA0D2", +"l*. c #3E95CC", +"m*. c #5EACDD", +"n*. c #5CABDC", +"o*. c #244660", +"p*. c #3582B1", +"q*. c #59ACD8", +"r*. c #56A9D9", +"s*. c #54A9D5", +"t*. c #53A8D5", +"u*. c #52A6D5", +"v*. c #51A6D4", +"w*. c #4FA4D3", +"x*. c #4DA4D3", +"y*. c #3A99CC", +"z*. c #3793C8", +"A*. c #4D9BD0", +"B*. c #4898CD", +"C*. c #1B5273", +"D*. c #346D96", +"E*. c #2D6086", +"F*. c #214865", +"G*. c #173850", +"H*. c #36729E", +"I*. c #3B7FB0", +"J*. c #4080B3", +"K*. c #5486BC", +"L*. c #4174A4", +"M*. c #366492", +"N*. c #6FABE9", +"O*. c #58A3D6", +"P*. c #4D9FCE", +"Q*. c #2A8BC1", +"R*. c #3D93C8", +"S*. c #549ED3", +"T*. c #5FACDB", +"U*. c #60ABDB", +"V*. c #3390C6", +"W*. c #409ACD", +"X*. c #59A8DA", +"Y*. c #4681AF", +"Z*. c #172E3F", +"`*. c #274C68", +" =. c #4C8EBF", +".=. c #3D8EC0", +"+=. c #3298CB", +"@=. c #5BABDA", +"#=. c #5AABD9", +"$=. c #59AAD8", +"%=. c #57A9D8", +"&=. c #56A9D7", +"*=. c #55A8D6", +"==. c #54A7D6", +"-=. c #51A5D6", +";=. c #51A5D4", +">=. c #4FA4D4", +",=. c #4DA3D3", +"'=. c #4AA1D1", +")=. c #49A2D1", +"!=. c #459ECE", +"~=. c #3596CA", +"{=. c #4B98CD", +"]=. c #318DC4", +"^=. c #287AAA", +"/=. c #175172", +"(=. c #2A5C7F", +"_=. c #4488B9", +":=. c #356F9A", +"<=. c #2B5D81", +"[=. c #0D1E2B", +"}=. c #1F4862", +"|=. c #224E6B", +"1=. c #397AAA", +"2=. c #689FDB", +"3=. c #6EA1DE", +"4=. c #123A5A", +"5=. c #0B385A", +"6=. c #66A0DC", +"7=. c #79B3F1", +"8=. c #76B1EE", +"9=. c #4D9ECF", +"0=. c #4A9DCB", +"a=. c #4E9FCE", +"b=. c #3A93C8", +"c=. c #5FACDA", +"d=. c #5FAADB", +"e=. c #509DD2", +"f=. c #53A6D7", +"g=. c #54A5D7", +"h=. c #24435A", +"i=. c #22455D", +"j=. c #2B5472", +"k=. c #3D759D", +"l=. c #4E92C4", +"m=. c #4799CF", +"n=. c #3297CB", +"o=. c #5AAAD9", +"p=. c #56A9D6", +"q=. c #54A8D5", +"r=. c #4EA4D4", +"s=. c #4BA2D1", +"t=. c #4BA1D1", +"u=. c #48A0D0", +"v=. c #489FD0", +"w=. c #409CCD", +"x=. c #3992C7", +"y=. c #4D9AD0", +"z=. c #4E98CE", +"A=. c #245B7D", +"B=. c #1B3B51", +"C=. c #31608A", +"D=. c #002E4C", +"E=. c #00253D", +"F=. c #234E74", +"G=. c #4D83B7", +"H=. c #5D98D0", +"I=. c #6FA9E5", +"J=. c #7BB3F1", +"K=. c #6FAEE8", +"L=. c #4B9FCC", +"M=. c #4C9FCC", +"N=. c #4D9FCC", +"O=. c #4DA0CE", +"P=. c #4EA0CF", +"Q=. c #4999CF", +"R=. c #5DA9D9", +"S=. c #5EAAD9", +"T=. c #60AADB", +"U=. c #51A3D5", +"V=. c #3893C8", +"W=. c #4599CF", +"X=. c #5EABDD", +"Y=. c #4FA2D5", +"Z=. c #4699CE", +"`=. c #05080B", +" -. c #244761", +".-. c #2D5775", +"+-. c #315E80", +"@-. c #356589", +"#-. c #3F79A2", +"$-. c #447EAB", +"%-. c #4885B4", +"&-. c #4B9AD1", +"*-. c #3095C9", +"=-. c #4EA6D6", +"--. c #55A9D6", +";-. c #50A4D4", +">-. c #4DA2D2", +",-. c #4AA1D0", +"'-. c #48A0D1", +")-. c #48A0CF", +"!-. c #469ECF", +"~-. c #4F9ACE", +"{-. c #3690C5", +"]-. c #2C8CC1", +"^-. c #2673A0", +"/-. c #1F597C", +"(-. c #346891", +"_-. c #3F80AE", +":-. c #3F83B3", +"<-. c #31678F", +"[-. c #1C425E", +"}-. c #1E4662", +"|-. c #28577A", +"1-. c #2A5C81", +"2-. c #3574A1", +"3-. c #4383B6", +"4-. c #74A8E5", +"5-. c #4678AC", +"6-. c #022D49", +"7-. c #3C709F", +"8-. c #4D87BD", +"9-. c #679ED8", +"0-. c #74ACE8", +"a-. c #66AAE1", +"b-. c #4D9FCD", +"c-. c #519AD1", +"d-. c #308EC4", +"e-. c #5CA9D9", +"f-. c #5EAAD8", +"g-. c #5FABD9", +"h-. c #60ACDA", +"i-. c #4F9CD3", +"j-. c #3A95CA", +"k-. c #3A97CA", +"l-. c #4C9CD1", +"m-. c #284A63", +"n-. c #21445C", +"o-. c #274D6A", +"p-. c #2A5270", +"q-. c #336285", +"r-. c #4E9DD2", +"s-. c #43A0D1", +"t-. c #58AADA", +"u-. c #52A6D6", +"v-. c #51A4D4", +"w-. c #4CA2D1", +"x-. c #4AA2D1", +"y-. c #499FCF", +"z-. c #4998CF", +"A-. c #5099CF", +"B-. c #3A91C6", +"C-. c #2D8BC0", +"D-. c #1C587A", +"E-. c #3B79A4", +"F-. c #3977A4", +"G-. c #142D3E", +"H-. c #153045", +"I-. c #33709B", +"J-. c #3778A6", +"K-. c #3A7DAE", +"L-. c #6FA5E2", +"M-. c #0B385B", +"N-. c #467DB0", +"O-. c #5D95CC", +"P-. c #6AA2DC", +"Q-. c #77B0ED", +"R-. c #7BB4F1", +"S-. c #5DA6DA", +"T-. c #4FA0CF", +"U-. c #4FA1CF", +"V-. c #4B98CE", +"W-. c #4095CA", +"X-. c #51A2D3", +"Y-. c #60ABDC", +"Z-. c #61ACDC", +"`-. c #61ABDC", +" ;. c #4DA1D3", +".;. c #3B93C8", +"+;. c #549ED6", +"@;. c #3190C6", +"#;. c #459DD2", +"$;. c #62AEE0", +"%;. c #62AFE0", +"&;. c #429BCE", +"*;. c #539CD0", +"=;. c #5095C8", +"-;. c #498AB9", +";;. c #132736", +">;. c #284F6E", +",;. c #315D7F", +"';. c #4885B3", +");. c #3893C9", +"!;. c #2E93C7", +"~;. c #51A7D5", +"{;. c #53A6D5", +"];. c #49A0CF", +"^;. c #479DCE", +"/;. c #479FCF", +"(;. c #459ECD", +"_;. c #459CCD", +":;. c #4397CC", +"<;. c #5198CE", +"[;. c #3E93C7", +"};. c #175072", +"|;. c #1B5779", +"1;. c #2A6086", +"2;. c #37739F", +"3;. c #2D6186", +"4;. c #07121A", +"5;. c #2D6188", +"6;. c #1F5179", +"7;. c #4982B6", +"8;. c #568DC3", +"9;. c #6299D1", +"0;. c #6DA6E1", +"a;. c #56A3D3", +"b;. c #50A0CF", +"c;. c #4396CB", +"d;. c #509BD1", +"e;. c #3E98CA", +"f;. c #5EA9D9", +"g;. c #5FA9D9", +"h;. c #62ACDC", +"i;. c #509CD2", +"j;. c #51A4D6", +"k;. c #62ADE0", +"l;. c #62ACDF", +"m;. c #62ACDE", +"n;. c #60ACDE", +"o;. c #3C98CB", +"p;. c #2B516D", +"q;. c #21435B", +"r;. c #274D69", +"s;. c #336284", +"t;. c #56A8D7", +"u;. c #56A8D6", +"v;. c #53A5D4", +"w;. c #50A6D3", +"x;. c #50A5D3", +"y;. c #50A3D3", +"z;. c #479ECF", +"A;. c #459CCC", +"B;. c #409BCB", +"C;. c #3293C7", +"D;. c #3C93C9", +"E;. c #4C99CE", +"F;. c #4394C9", +"G;. c #246084", +"H;. c #4084B6", +"I;. c #0E1F2C", +"J;. c #132A3D", +"K;. c #1A3E59", +"L;. c #28587D", +"M;. c #2B5D84", +"N;. c #3777A5", +"O;. c #346997", +"P;. c #4F85BA", +"Q;. c #5B91C7", +"R;. c #649BD4", +"S;. c #73AAE6", +"T;. c #7CB4F1", +"U;. c #76B1ED", +"V;. c #53A1D1", +"W;. c #50A1CF", +"X;. c #51A1D0", +"Y;. c #51A0CF", +"Z;. c #3C93C8", +"`;. c #3791C6", +" >. c #4EA1D3", +".>. c #3D94C9", +"+>. c #5AAADC", +"@>. c #63ADE0", +"#>. c #308DC3", +"$>. c #4C8BBC", +"%>. c #091016", +"&>. c #3A9BCD", +"*>. c #54A6D5", +"=>. c #52A7D4", +"->. c #4AA0D0", +";>. c #499ECF", +">>. c #3691C7", +",>. c #4596CC", +"'>. c #4795C9", +")>. c #2F8CC2", +"!>. c #2E8ABE", +"~>. c #1F5D84", +"{>. c #2D6085", +"]>. c #214762", +"^>. c #050C12", +"/>. c #183A54", +"(>. c #214B69", +"_>. c #4F8DC3", +":>. c #163F62", +"<>. c #4477A9", +"[>. c #5C93C9", +"}>. c #679FD9", +"|>. c #75ACE9", +"1>. c #7BB4F2", +"2>. c #7CB4F2", +"3>. c #73B0EB", +"4>. c #50A1D0", +"5>. c #51A1CF", +"6>. c #52A2D0", +"7>. c #3390C4", +"8>. c #4798CD", +"9>. c #2A8CC2", +"0>. c #4B9FD0", +"a>. c #61ACDB", +"b>. c #61ABDB", +"c>. c #61ACDD", +"d>. c #62ACDD", +"e>. c #61ABDD", +"f>. c #529DD2", +"g>. c #3994C8", +"h>. c #64ADDF", +"i>. c #63AEE0", +"j>. c #5FABDD", +"k>. c #2E86B8", +"l>. c #2F5B7C", +"m>. c #21435C", +"n>. c #284E6B", +"o>. c #336184", +"p>. c #396C91", +"q>. c #4D90C2", +"r>. c #5198CC", +"s>. c #49A1D1", +"t>. c #449CCD", +"u>. c #3D98CA", +"v>. c #3594C7", +"w>. c #3992C6", +"x>. c #519BD0", +"y>. c #4997CB", +"z>. c #308DC1", +"A>. c #30678D", +"B>. c #326890", +"C>. c #0F2535", +"D>. c #1C425D", +"E>. c #306992", +"F>. c #3676A2", +"G>. c #3B7DAF", +"H>. c #2F5C84", +"I>. c #16466B", +"J>. c #578DC2", +"K>. c #5E95CC", +"L>. c #77AFEB", +"M>. c #72AFE9", +"N>. c #51A1CE", +"O>. c #52A1D0", +"P>. c #2E8DC3", +"Q>. c #3894C7", +"R>. c #4095CB", +"S>. c #539DD3", +"T>. c #3F99CD", +"U>. c #63AFE0", +"V>. c #2A87BA", +"W>. c #2781B2", +"X>. c #2979A6", +"Y>. c #417DA9", +"Z>. c #3A6E94", +"`>. c #2E5777", +" ,. c #244661", +".,. c #305D7C", +"+,. c #3E77A0", +"@,. c #427DA9", +"#,. c #539AD0", +"$,. c #3C94C9", +"%,. c #3C9ACC", +"&,. c #53A5D5", +"*,. c #4FA3D2", +"=,. c #4EA2D2", +"-,. c #4CA2D2", +";,. c #439DCC", +">,. c #429ACB", +",,. c #3891C7", +"',. c #4496CB", +"),. c #4F9AD0", +"!,. c #4C97CD", +"~,. c #338FC3", +"{,. c #1E5D82", +"],. c #2A668D", +"^,. c #36719C", +"/,. c #1B394F", +"(,. c #17364E", +"_,. c #3879A8", +":,. c #70A6E3", +"<,. c #3F6E9E", +"[,. c #043254", +"},. c #285880", +"|,. c #6198CF", +"1,. c #6DA4DE", +"2,. c #79B1ED", +"3,. c #70AFE8", +"4,. c #52A2CF", +"5,. c #53A2CF", +"6,. c #4896CC", +"7,. c #3D93C9", +"8,. c #55A4D5", +"9,. c #61ACDE", +"0,. c #4B9BD1", +"a,. c #4A9FD3", +"b,. c #63AFE1", +"c,. c #5DAADB", +"d,. c #2885B7", +"e,. c #28739E", +"f,. c #3E78A2", +"g,. c #2F5A7C", +"h,. c #254964", +"i,. c #254963", +"j,. c #336083", +"k,. c #4886B5", +"l,. c #4597CD", +"m,. c #3295C8", +"n,. c #51A5D3", +"o,. c #4095C9", +"p,. c #4999CD", +"q,. c #4D96CC", +"r,. c #368FC4", +"s,. c #2B84B4", +"t,. c #1A5679", +"u,. c #1E5E82", +"v,. c #24658C", +"w,. c #3F82B4", +"x,. c #3B7AA8", +"y,. c #3874A0", +"z,. c #2E6288", +"A,. c #29587C", +"B,. c #0E1F2D", +"C,. c #183950", +"D,. c #193C54", +"E,. c #1B415B", +"F,. c #234D6D", +"G,. c #397BAC", +"H,. c #397CAE", +"I,. c #0B3757", +"J,. c #366996", +"K,. c #639AD2", +"L,. c #6FA7E0", +"M,. c #7AB2EF", +"N,. c #7DB4F2", +"O,. c #6DAEE5", +"P,. c #53A3D0", +"Q,. c #3F94C9", +"R,. c #3D97CA", +"S,. c #2B8CC2", +"T,. c #55A6D9", +"U,. c #61ADE0", +"V,. c #61AEE0", +"W,. c #59A8D8", +"X,. c #2E87B7", +"Y,. c #257CAC", +"Z,. c #36688D", +"`,. c #315F83", +" '. c #284E6C", +".'. c #336286", +"+'. c #36678C", +"@'. c #4E9CD1", +"#'. c #3E9BCC", +"$'. c #4BA0D1", +"%'. c #469CCD", +"&'. c #3F99CB", +"*'. c #3794C8", +"='. c #3690C6", +"-'. c #3F93C9", +";'. c #5099D0", +">'. c #3990C5", +",'. c #175071", +"''. c #1E5E83", +")'. c #4085B7", +"!'. c #3C7EAE", +"~'. c #132B3C", +"{'. c #121213", +"]'. c #17364C", +"^'. c #3877A6", +"/'. c #4A7DB1", +"('. c #174162", +"_'. c #3F72A1", +":'. c #5388BC", +"<'. c #5C92C7", +"['. c #649CD4", +"}'. c #70A8E2", +"|'. c #7BB3F0", +"1'. c #7DB5F2", +"2'. c #6CADE5", +"3'. c #3490C6", +"4'. c #5AA7D8", +"5'. c #5FACDC", +"6'. c #529CD2", +"7'. c #3A93C9", +"8'. c #5CAADD", +"9'. c #60A8D8", +"0'. c #529CC9", +"a'. c #297CAC", +"b'. c #24648B", +"c'. c #346589", +"d'. c #2A526F", +"e'. c #2B5473", +"f'. c #386A8F", +"g'. c #4196CB", +"h'. c #2C92C6", +"i'. c #3395CA", +"j'. c #4FA2D2", +"k'. c #3F99CA", +"l'. c #3394C6", +"m'. c #358FC5", +"n'. c #3C92C7", +"o'. c #4194C9", +"p'. c #4797CC", +"q'. c #4C98CD", +"r'. c #2C8BC1", +"s'. c #246E9A", +"t'. c #20638B", +"u'. c #306B94", +"v'. c #3773A0", +"w'. c #255270", +"x'. c #2C6288", +"y'. c #3573A0", +"z'. c #3C80B3", +"A'. c #244F75", +"B'. c #4578AA", +"C'. c #548ABE", +"D'. c #659DD5", +"E'. c #72A9E4", +"F'. c #6FAFE7", +"G'. c #54A4D1", +"H'. c #55A4D2", +"I'. c #5299CF", +"J'. c #429ACC", +"K'. c #4CA1D3", +"L'. c #3591C6", +"M'. c #5A9FCA", +"N'. c #4B90BB", +"O'. c #26749F", +"P'. c #216D97", +"Q'. c #205B7E", +"R'. c #2E5B7C", +"S'. c #305D7E", +"T'. c #356588", +"U'. c #4C9AD0", +"V'. c #409BCD", +"W'. c #4A9FD0", +"X'. c #3795C8", +"Y'. c #338FC4", +"Z'. c #3991C5", +"`'. c #3E91C7", +" ). c #4093C8", +".). c #4293C8", +"+). c #4495CA", +"@). c #4695CA", +"#). c #4796CB", +"$). c #4996CB", +"%). c #4B97CC", +"&). c #4C97CC", +"*). c #4B96CC", +"=). c #4A96CC", +"-). c #4895CA", +";). c #4694C9", +">). c #4494C8", +",). c #4393C8", +"'). c #4192C8", +")). c #3E92C6", +"!). c #3A91C5", +"~). c #348DC3", +"{). c #2C8BBF", +"]). c #1A5678", +"^). c #296991", +"/). c #3C7DAD", +"(). c #3977A3", +"_). c #0D1E2A", +":). c #244F71", +"<). c #3675A3", +"[). c #6A9ED8", +"}). c #305C86", +"|). c #16466C", +"1). c #477BAD", +"2). c #568BC0", +"3). c #679FD7", +"4). c #7CB3F1", +"5). c #7EB5F2", +"6). c #73B0EA", +"7). c #4A97CC", +"8). c #529CD0", +"9). c #60ACDF", +"0). c #3290C5", +"a). c #529DD3", +"b). c #419ACE", +"c). c #60AAD9", +"d). c #599ECA", +"e). c #4689B2", +"f). c #246E97", +"g). c #225F82", +"h). c #336487", +"i). c #346487", +"j). c #4683B1", +"k). c #539CD3", +"l). c #3F95CA", +"m). c #4DA2D0", +"n). c #4DA0D1", +"o). c #419CCB", +"p). c #3B97C8", +"q). c #11354B", +"r). c #0C2737", +"s). c #0B2534", +"t). c #0A212F", +"u). c #06161F", +"v). c #0A2535", +"w). c #25678F", +"x). c #09151F", +"y). c #1A3E58", +"z). c #224B6B", +"A). c #35729F", +"B). c #3878A7", +"C). c #3A6693", +"D). c #023153", +"E). c #1A4A72", +"F). c #4A7DAF", +"G). c #5D93CA", +"H). c #69A0D9", +"I). c #74AAE6", +"J). c #7EB5F3", +"K). c #75B1EC", +"L). c #489BCD", +"M). c #4094C9", +"N). c #4296CA", +"O). c #489ECF", +"P). c #63ACDF", +"Q). c #4CA0D4", +"R). c #3B94C8", +"S). c #4E9BD2", +"T). c #4EA2D5", +"U). c #5497C1", +"V). c #5191BA", +"W). c #4383AA", +"X). c #366A8E", +"Y). c #4B9ACF", +"Z). c #449DCE", +"`). c #3F98CA", +" !. c #2D89BD", +".!. c #287EAF", +"+!. c #216891", +"@!. c #1D5D82", +"#!. c #164C6A", +"$!. c #113C56", +"%!. c #113E56", +"&!. c #103A54", +"*!. c #103A53", +"=!. c #113C55", +"-!. c #134460", +";!. c #1E6086", +">!. c #21668E", +",!. c #3875A2", +"'!. c #0C1A25", +")!. c #060D12", +"!!. c #050B10", +"~!. c #04090E", +"{!. c #040A0F", +"]!. c #153147", +"^!. c #244F6F", +"/!. c #2D658C", +"(!. c #3674A2", +"_!. c #3F6C9C", +":!. c #215179", +"~. c #2A5A82", +",~. c #5F95CB", +"'~. c #74AAE5", +")~. c #7FB5F3", +"!~. c #4A9BD4", +"~~. c #4594CA", +"{~. c #509AD1", +"]~. c #3D98CC", +"^~. c #4897CE", +"/~. c #5CA5D4", +"(~. c #589DCA", +"_~. c #5598C3", +":~. c #5194BE", +"<~. c #4F8EB6", +"[~. c #4A8AB2", +"}~. c #2977A2", +"|~. c #4079A4", +"1~. c #427CA8", +"2~. c #427EAA", +"3~. c #4582AF", +"4~. c #4684B2", +"5~. c #4887B6", +"6~. c #4C8EC0", +"7~. c #4F93C7", +"8~. c #5299CE", +"9~. c #4798CE", +"0~. c #318EC5", +"a~. c #4099CB", +"b~. c #3C97C9", +"c~. c #3492C6", +"d~. c #2C8BC0", +"e~. c #2980B1", +"f~. c #226B92", +"g~. c #164C6B", +"h~. c #195272", +"i~. c #236B96", +"j~. c #27719C", +"k~. c #265173", +"l~. c #234A6A", +"m~. c #1B4059", +"n~. c #265678", +"o~. c #164267", +"p~. c #73AAE4", +"q~. c #7DB3F0", +"r~. c #7EB6F3", +"s~. c #59A2DE", +"t~. c #3B91C6", +"u~. c #50A2D5", +"v~. c #61ABDE", +"w~. c #62AEE1", +"x~. c #62AEE2", +"y~. c #5BAADD", +"z~. c #5AA8DC", +"A~. c #5CA4D3", +"B~. c #589FCB", +"C~. c #569CC8", +"D~. c #5294BF", +"E~. c #4E91BA", +"F~. c #2C7EAA", +"G~. c #3C81AE", +"H~. c #4785B3", +"I~. c #4785B4", +"J~. c #4786B5", +"K~. c #4D8FC1", +"L~. c #2E8EC4", +"M~. c #4199CB", +"N~. c #2C8ABE", +"O~. c #1E5E84", +"P~. c #1B587B", +"Q~. c #21658F", +"R~. c #236C98", +"S~. c #25729F", +"T~. c #3B7BAA", +"U~. c #224D6C", +"V~. c #295D81", +"W~. c #326C97", +"X~. c #377AAC", +"Y~. c #629BD5", +"Z~. c #4371A1", +"`~. c #164369", +" {. c #27567F", +".{. c #4A7DAE", +"+{. c #578BC0", +"@{. c #5D93C9", +"#{. c #72A9E2", +"${. c #7CB2F0", +"%{. c #68A9E6", +"&{. c #589CD3", +"*{. c #4F9ACF", +"={. c #62ADE2", +"-{. c #63AEE2", +";{. c #479DD0", +">{. c #4195CB", +",{. c #3291C6", +"'{. c #63ACDE", +"){. c #5CA6D6", +"!{. c #5BA3D2", +"~{. c #599FCD", +"{{. c #579CC8", +"]{. c #5298C4", +"^{. c #3085B4", +"/{. c #277DAD", +"({. c #3E86B6", +"_{. c #4B8DBD", +":{. c #4D90C3", +"<{. c #4E99D0", +"[{. c #3991C6", +"}{. c #3595C6", +"|{. c #1B587A", +"1{. c #1A5577", +"2{. c #1F6087", +"3{. c #226994", +"4{. c #307EAD", +"5{. c #36709C", +"6{. c #2F658C", +"7{. c #285679", +"8{. c #244F6D", +"9{. c #27577A", +"0{. c #285C7F", +"a{. c #2A6085", +"b{. c #3F81B4", +"c{. c #669AD6", +"d{. c #5D91CB", +"e{. c #416F9F", +"f{. c #16446A", +"g{. c #225279", +"h{. c #558ABE", +"i{. c #659BD3", +"j{. c #70A7E2", +"k{. c #7AB1EE", +"l{. c #65A4DE", +"m{. c #3B92C7", +"n{. c #62ADE1", +"o{. c #63AEE1", +"p{. c #60ADDF", +"q{. c #509AD0", +"r{. c #4F9BD2", +"s{. c #5DABDC", +"t{. c #5EA8D9", +"u{. c #5DA6D5", +"v{. c #59A2D1", +"w{. c #378FC1", +"x{. c #2A86B9", +"y{. c #4290C3", +"z{. c #4997CC", +"A{. c #328FC4", +"B{. c #1C5D82", +"C{. c #1D5C82", +"D{. c #1D5C81", +"E{. c #1D5C80", +"F{. c #1C5C80", +"G{. c #206289", +"H{. c #216690", +"I{. c #25719E", +"J{. c #2776A5", +"K{. c #297DAE", +"L{. c #428BBD", +"M{. c #3E82B2", +"N{. c #255374", +"O{. c #265377", +"P{. c #2D648C", +"Q{. c #1C4C73", +"R{. c #4578A7", +"S{. c #5A90C7", +"T{. c #6499D2", +"U{. c #6FA4DF", +"V{. c #79AFEB", +"W{. c #7FB6F3", +"X{. c #579CD3", +"Y{. c #4D99CF", +"Z{. c #63ADE1", +"`{. c #50A3D7", +" ]. c #5EACDE", +".]. c #5EAADB", +"+]. c #4098CB", +"@]. c #2C8CC2", +"#]. c #4495CB", +"$]. c #2677A5", +"%]. c #216790", +"&]. c #20648B", +"*]. c #1F628B", +"=]. c #1F6188", +"-]. c #1F6187", +";]. c #20648A", +">]. c #226892", +",]. c #236C97", +"']. c #2A80B1", +")]. c #378ABE", +"!]. c #3B7CAD", +"~]. c #3876A3", +"{]. c #2C6084", +"]]. c #2B5E82", +"^]. c #2D648B", +"/]. c #2F6791", +"(]. c #336F9B", +"_]. c #619AD4", +":]. c #6DA1DE", +"<]. c #16456B", +"[]. c #4274A4", +"}]. c #5186BB", +"|]. c #6398D0", +"1]. c #6CA2DC", +"2]. c #77ADE9", +"3]. c #7EB4F2", +"4]. c #72AEEE", +"5]. c #64A4DD", +"6]. c #3A91C7", +"7]. c #4A9FD2", +"8]. c #4A99CE", +"9]. c #3894C8", +"0]. c #5FACDE", +"a]. c #479DCF", +"b]. c #3A92C7", +"c]. c #4596CB", +"d]. c #3493C6", +"e]. c #2C89BE", +"f]. c #297FB1", +"g]. c #24719D", +"h]. c #226A93", +"i]. c #21668F", +"j]. c #226790", +"k]. c #226791", +"l]. c #226A94", +"m]. c #226891", +"n]. c #21678F", +"o]. c #226792", +"p]. c #246D99", +"q]. c #25719D", +"r]. c #2879A8", +"s]. c #2B84B7", +"t]. c #2E88BB", +"u]. c #458DC1", +"v]. c #2C6085", +"w]. c #2B5E83", +"x]. c #326D98", +"y]. c #508EC4", +"z]. c #6B9EDB", +"A]. c #3B6A97", +"B]. c #15446B", +"C]. c #3E6E9D", +"D]. c #699ED8", +"E]. c #74ABE4", +"F]. c #7EB4F1", +"G]. c #5B9ED6", +"H]. c #61ADE1", +"I]. c #59A8DB", +"J]. c #318EC4", +"K]. c #3994C9", +"L]. c #4EA0D3", +"M]. c #4E9AD0", +"N]. c #338FC5", +"O]. c #2678A6", +"P]. c #24729E", +"Q]. c #23709C", +"R]. c #246D98", +"S]. c #246E9B", +"T]. c #24709D", +"U]. c #2673A1", +"V]. c #287DAF", +"W]. c #2C87BB", +"X]. c #3D8BBF", +"Y]. c #3977A5", +"Z]. c #2F6790", +"`]. c #306993", +" ^. c #4182B5", +".^. c #376390", +"+^. c #0D3D62", +"@^. c #346491", +"#^. c #679CD4", +"$^. c #70A6E1", +"%^. c #7AB1ED", +"&^. c #6DAAE5", +"*^. c #3E93C9", +"=^. c #489DD1", +"-^. c #61ACE0", +";^. c #61AEE2", +">^. c #61ADE2", +",^. c #449BD0", +"'^. c #3E94CA", +")^. c #4798CC", +"!^. c #3C97CB", +"~^. c #4696CC", +"{^. c #2C88BC", +"]^. c #287DAE", +"^^. c #2676A5", +"/^. c #2676A4", +"(^. c #2777A4", +"_^. c #2777A5", +":^. c #2879AA", +"<^. c #297CAE", +"[^. c #2B83B7", +"}^. c #2C86BA", +"|^. c #3489BC", +"1^. c #35709C", +"2^. c #346D99", +"3^. c #326892", +"4^. c #326C95", +"5^. c #295984", +"6^. c #4679A9", +"7^. c #5489BD", +"8^. c #5A90C6", +"9^. c #6DA3DD", +"0^. c #76ACE8", +"a^. c #72AEEC", +"b^. c #4F99CE", +"c^. c #5EAADE", +"d^. c #61AEE1", +"e^. c #62AEE3", +"f^. c #5EABE0", +"g^. c #4697CD", +"h^. c #3E99CC", +"i^. c #60ADDE", +"j^. c #59A7D7", +"k^. c #4595CA", +"l^. c #2881B3", +"m^. c #287FB1", +"n^. c #287CAD", +"o^. c #297EAF", +"p^. c #297EB0", +"q^. c #297DB0", +"r^. c #297DAF", +"s^. c #2B81B3", +"t^. c #2D87BB", +"u^. c #448CBF", +"v^. c #3F84B5", +"w^. c #356F9B", +"x^. c #36729F", +"y^. c #3673A2", +"z^. c #25547D", +"A^. c #1B4B73", +"B^. c #6095CC", +"C^. c #69A3DF", +"D^. c #6EABE9", +"E^. c #7AB1F0", +"F^. c #78B0EE", +"G^. c #64A4DE", +"H^. c #4294C9", +"I^. c #449ACE", +"J^. c #61ACE1", +"K^. c #62ADE3", +"L^. c #51A3D8", +"M^. c #328EC4", +"N^. c #429BCD", +"O^. c #5FABDC", +"P^. c #5CA8D7", +"Q^. c #3A92C8", +"R^. c #4A98CC", +"S^. c #3B92C6", +"T^. c #2B87BB", +"U^. c #2C85BA", +"V^. c #2C85B8", +"W^. c #2C85B9", +"X^. c #2B87BA", +"Y^. c #2C84B8", +"Z^. c #3C8ABE", +"`^. c #3A7AA8", +" /. c #3979A6", +"./. c #387CAD", +"+/. c #528FC7", +"@/. c #4678AB", +"#/. c #5C91C7", +"$/. c #6197D0", +"%/. c #71AEEC", +"&/. c #68A7E1", +"*/. c #318EC3", +"=/. c #5BA8DC", +"-/. c #61ACE2", +";/. c #409ACE", +">/. c #4099CC", +",/. c #5FA9DA", +"'/. c #5DA8D9", +")/. c #439ACC", +"!/. c #338DC4", +"~/. c #2C8BBE", +"{/. c #2D88BC", +"]/. c #2C87BC", +"^/. c #2D87BA", +"//. c #2D86BB", +"(/. c #3387BB", +"_/. c #3D81B1", +":/. c #5491C9", +"(. c #358EC3", +",(. c #2C8AC0", +"'(. c #2F8BBF", +")(. c #328CBF", +"!(. c #428ABE", +"~(. c #4283B7", +"{(. c #4888BC", +"](. c #5592C9", +"^(. c #68A0DB", +"/(. c #4F84B8", +"((. c #356392", +"_(. c #15446A", +":(. c #1F4E78", +"<(. c #376897", +"[(. c #4E83B8", +"}(. c #649AD4", +"|(. c #6EAAE6", +"1(. c #63A3DD", +"2(. c #4E99CD", +"3(. c #59A7DD", +"4(. c #62AEE4", +"5(. c #58A7DC", +"6(. c #4E99CE", +"7(. c #4396CA", +"8(. c #55A5D7", +"9(. c #5BA7D5", +"0(. c #5BA7D6", +"a(. c #54A3D3", +"b(. c #3991C7", +"c(. c #509ACF", +"d(. c #4D97CC", +"e(. c #4092C7", +"f(. c #328BC1", +"g(. c #3B8EC2", +"h(. c #4390C5", +"i(. c #4A93C6", +"j(. c #338CBF", +"k(. c #2C88BD", +"l(. c #3988BC", +"m(. c #4184B7", +"n(. c #4787BC", +"o(. c #4D8CC2", +"p(. c #5390C8", +"q(. c #5E99D2", +"r(. c #649DD8", +"s(. c #6AA2DE", +"t(. c #5E93CC", +"u(. c #5085B9", +"v(. c #24547D", +"w(. c #285781", +"x(. c #3A6A9B", +"y(. c #4779AB", +"z(. c #77AFED", +"A(. c #6FABE7", +"B(. c #68A6E1", +"C(. c #5C9FD7", +"D(. c #4A98CE", +"E(. c #62ACE3", +"F(. c #60ADE3", +"G(. c #479FD3", +"H(. c #509ACE", +"I(. c #4695CB", +"J(. c #2C8BC2", +"K(. c #60A9DA", +"L(. c #5CA7D7", +"M(. c #59A5D5", +"N(. c #3E97C9", +"O(. c #308EC2", +"P(. c #4897CD", +"Q(. c #4E97CB", +"R(. c #4894CA", +"S(. c #4091C7", +"T(. c #378EC3", +"U(. c #2F8CC1", +"V(. c #2E8ABF", +"W(. c #368CC1", +"X(. c #3F90C4", +"Y(. c #4792C7", +"Z(. c #4991C7", +"`(. c #318BBE", +" _. c #3087BA", +"._. c #4285B9", +"+_. c #4487BC", +"@_. c #4689BD", +"#_. c #478ABE", +"$_. c #488BBF", +"%_. c #498BC0", +"&_. c #4A8BC1", +"*_. c #4B8CC2", +"=_. c #4D8DC3", +"-_. c #4D8EC3", +";_. c #4C8EC3", +">_. c #4C8DC3", +",_. c #4C8DC2", +"'_. c #4C8CC2", +")_. c #4B8CC1", +"!_. c #508FC6", +"~_. c #5593CB", +"{_. c #619BD5", +"]_. c #67A0DB", +"^_. c #2F5E8A", +"/_. c #104063", +"(_. c #2E5D8A", +"__. c #3A6997", +":_. c #75AFEF", +"<_. c #7BB5F3", +"[_. c #7CB5F4", +"}_. c #7DB6F4", +"|_. c #7DB6F5", +"1_. c #7EB7F5", +"2_. c #81B8F7", +"3_. c #72AFED", +"4_. c #77B0EF", +"5_. c #7FB6F4", +"6_. c #7EB6F4", +"7_. c #7DB6F2", +"8_. c #7DB5F1", +"9_. c #7CB5F1", +"0_. c #77B2EF", +"a_. c #6DACEA", +"b_. c #79B0EF", +"c_. c #78AFEE", +"d_. c #77AFEE", +"e_. c #76AFEC", +"f_. c #76AEEC", +"g_. c #76ADEB", +"h_. c #73ADEB", +"i_. c #6AAAE8", +"j_. c #69AAE7", +"k_. c #68AAE7", +"l_. c #68A9E7", +"m_. c #68AAE8", +"n_. c #69AAE8", +"o_. c #69A9E7", +"p_. c #6BA9E7", +"q_. c #71ABE9", +"r_. c #74ACEA", +"s_. c #75ACEA", +"t_. c #74ADEA", +"u_. c #69A9E6", +"v_. c #6AA9E7", +"w_. c #6AA9E6", +"x_. c #6BA8E7", +"y_. c #6BA9E6", +"z_. c #72AAE8", +"A_. c #73ABE8", +"B_. c #73AAE8", +"C_. c #73A9E7", +"D_. c #74AAE8", +"E_. c #4372A2", +"F_. c #396897", +"G_. c #2F5F8B", +"H_. c #144469", +"I_. c #305F8C", +"J_. c #7AB3F2", +"K_. c #80B7F5", +"L_. c #80B7F4", +"M_. c #80B6F4", +"N_. c #79B0F0", +"O_. c #76AFEF", +"P_. c #75AFEE", +"Q_. c #73AEED", +"R_. c #74AEEE", +"S_. c #73AEEC", +"T_. c #73ADED", +"U_. c #73ADEC", +"V_. c #77AEED", +"W_. c #0F3F64", +"X_. c #4373A4", +"Y_. c #6298D0", +"Z_. c #689ED9", +"`_. c #78B2F2", +" :. c #7BB4F4", +".:. c #78B0F0", +"+:. c #73AEEE", +"@:. c #73AFED", +"#:. c #7AB0F0", +"$:. c #75AEEC", +"%:. c #669BD5", +"&:. c #497DAF", +"*:. c #2B5B87", +"=:. c #114165", +"-:. c #497BAE", +";:. c #79B3F2", +">:. c #7AB1F1", +",:. c #78AFEF", +"':. c #74ADEC", +"):. c #75A9E6", +"!:. c #6EA1DD", +"~:. c #5489BF", +"{:. c #4C81B3", +"]:. c #3C6A99", +"^:. c #31608C", +"/:. c #4D7FB3", +"(:. c #6297D1", +"_:. c #7FB6F5", +"::. c #6B9ED9", +"<:. c #32618E", +"[:. c #0B3B5F", +"}:. c #4373A3", +"|:. c #77B2F1", +"1:. c #7DB5F3", +"2:. c #78B1F0", +"3:. c #76AEED", +"4:. c #416E9E", +"5:. c #001E33", +"6:. c #356391", +"7:. c #406D9B", +"8:. c #4778AA", +"9:. c #6095CD", +"0:. c #6AA5E1", +"a:. c #69A4E2", +"b:. c #72ABE9", +"c:. c #7CB3F3", +"d:. c #7DB4F4", +"e:. c #7EB6F5", +"f:. c #7CB0F0", +"g:. c #76AEEE", +"h:. c #72ACEB", +"i:. c #74ACEB", +"j:. c #32608D", +"k:. c #18486E", +"l:. c #285783", +"m:. c #406D9D", +"n:. c #497BAD", +"o:. c #5C96D0", +"p:. c #5D97D2", +"q:. c #73A8E4", +"r:. c #73A9E5", +"s:. c #6FA7E3", +"t:. c #6AA4E0", +"u:. c #6DA0DD", +"v:. c #6AA0DC", +"w:. c #649EDA", +"x:. c #69A2DD", +"y:. c #70A6DF", +"z:. c #70A5DF", +"A:. c #6FA5DF", +"B:. c #70A6E0", +"C:. c #6FA6E0", +"D:. c #6FA6DF", +"E:. c #6EA6DF", +"F:. c #6EA5DF", +"G:. c #6AA3DD", +"H:. c #65A0DB", +"I:. c #68A1DC", +"J:. c #6DA3DF", +"K:. c #6DA2DF", +"L:. c #6CA1DE", +"M:. c #6BA1DD", +"N:. c #67A0DC", +"O:. c #659FDB", +"P:. c #659FDA", +"Q:. c #659FD9", +"R:. c #659ED9", +"S:. c #659DDA", +"T:. c #659DD9", +"U:. c #649CD8", +"V:. c #689CD5", +"W:. c #689BD5", +"X:. c #669AD3", +"Y:. c #6497D1", +"Z:. c #5285BC", +"`:. c #3A6692", +" <. c #2F5C87", +".<. c #285681", +"+<. c #21517A", +"@<. c #1B4B71", +"#<. c #295883", +"$<. c #33618D", +"%<. c #4B7EB1", +"&<. c #4F82B6", +"*<. c #5084B7", +"=<. c #538AC1", +"-<. c #568EC4", +";<. c #6196D0", +"><. c #6398D2", +",<. c #5D94CD", +"'<. c #5A92CB", +")<. c #6094CD", +"!<. c #5790C8", +"~<. c #5991C8", +"{<. c #6096CC", +"]<. c #6197CD", +"^<. c #6196CD", +"/<. c #6096CD", +"(<. c #5F95CC", +"_<. c #5E95CB", +":<. c #5A91C9", +"<<. c #5890C9", +"[<. c #5C91CA", +"}<. c #588FC8", +"|<. c #578FC8", +"1<. c #578FC7", +"2<. c #568FC8", +"3<. c #568FC6", +"4<. c #568EC6", +"5<. c #598EC7", +"6<. c #5B8EC7", +"7<. c #5B8EC5", +"8<. c #5B8DC5", +"9<. c #588BC1", +"0<. c #588AC1", +"a<. c #4A7EB3", +"b<. c #427AAB", +"c<. c #356A99", +"d<. c #295881", +"e<. c #1D486C", +"f<. c #093452", +"g<. c #1D4C74", +"h<. c #275781", +"i<. c #35618E", +"j<. c #3E6B99", +"k<. c #4471A0", +"l<. c #477AAB", +"m<. c #467CB0", +"n<. c #4F84B9", +"o<. c #5289BD", +"p<. c #538ABE", +"q<. c #5389BE", +"r<. c #4D84B9", +"s<. c #4D83B8", +"t<. c #5185BB", +"u<. c #4C84B9", +"v<. c #5287BD", +"w<. c #5085BA", +"x<. c #4A82B8", +"y<. c #4A82B6", +"z<. c #4D82B6", +"A<. c #4A7FB3", +"B<. c #497FB3", +"C<. c #477BAF", +"D<. c #467BAE", +"E<. c #467AAD", +"F<. c #4279AA", +"G<. c #4178AA", +"H<. c #4177A8", +"I<. c #4076A7", +"J<. c #3D73A5", +"K<. c #3B72A5", +"L<. c #3A72A3", +"M<. c #3971A2", +"N<. c #3871A1", +"O<. c #3871A0", +"P<. c #356D9D", +"Q<. c #326C9A", +"R<. c #306896", +"S<. c #2B5F8A", +"T<. c #25577E", +"U<. c #1D4D72", +"V<. c #134063", +"W<. c #042D46", +"X<. c #104066", +"Y<. c #0E3E63", +"Z<. c #0C3C5E", +"`<. c #0B3B5D", +" [. c #104064", +".[. c #104164", +"+[. c #114164", +"@[. c #114266", +"#[. c #093B5D", +"$[. c #08395C", +"%[. c #083657", +"&[. c #083452", +"*[. c #093453", +"=[. c #093454", +"-[. c #093554", +";[. c #0A3555", +">[. c #0B3655", +",[. c #0B395B", +"'[. c #0B3C5F", +")[. c #0F4063", +"![. c #134366", +"~[. c #134365", +"{[. c #134265", +"][. c #124265", +"^[. c #124165", +"/[. c #114265", +"([. c #0F4163", +"_[. c #0D3F61", +":[. c #0D3E61", +"<[. c #0D3B5C", +"[[. c #0D3858", +"}[. c #0E3859", +"|[. c #0F3959", +"1[. c #0F395A", +"2[. c #0F395B", +"3[. c #0F3A5B", +"4[. c #0F3A5C", +"5[. c #103B5C", +"6[. c #103B5D", +"7[. c #103B5E", +"8[. c #0F3D5F", +"9[. c #0F3F61", +"0[. c #0F3E61", +"a[. c #0E3E60", +"b[. c #0E3C5F", +"c[. c #0E3858", +"d[. c #0D3757", +"e[. c #0B3555", +"f[. c #093352", +"g[. c #083150", +"h[. c #063050", +"i[. c #04304D", +"j[. c #032E4A", +"k[. c #012C47", +"l[. c #00233E", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + @ @ @ @ # # # # @ @ @ @ @ @ @ @ @ @ @ @ + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * = = = = = & - ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > = , ' ) ! ~ { ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ / ( _ ~ ! : < & > . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ * & } | { ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 1 2 3 % & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = } 4 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 5 , > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % 6 ! / ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 7 7 7 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 8 9 8 0 a ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ / ! , > . . . . . . . . # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % b ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 1 ! c [ [ [ d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U U V V V W W X X X X X Y Y Y Y Y Y Y Z ` ` ` . .. .. +. +. +. @. #. #. $. $. %. %. &. *. *. =. -. ;. ;. >. >. >. >. >. >. >. >. >. >. >. >. >. >. >. >. >. >. >. ,. ,. ,. >. >. >. >. >. >. ,. ,. ,. >. >. >. >. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. ,. '. ). !. !. !. !. !. !. !. !. !. !. !. !. !. ~. ~. ~. ~. ~. {. {. {. {. {. {. {. ]. ]. ]. ^. ^. ^. ^. /. /. /. /. /. /. (. (. (. (. (. (. _. :. :. :. :. :. :. :. :. :. :. <. <. <. [. [. [. [. [. [. [. }. }. }. |. |. |. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 5. 5. 6. 6. 6. 6. 6. 7. 7. 8. 8. 8. 9. 9. 0. a. a. a. a. a. a. a. a. a. a. b. b. b. b. b. b. b. b. c. c. d. d. e. e. f. f. f. g. g. g. h. h. h. i. i. j. j. j. j. j. j. j. j. k. k. k. k. k. k. k. l. l. l. l. l. l. l. l. l. l. l. l. l. H H H H H H H G G G G G G G G G G m. m. m. n. o. o. o. o. o. o. o. o. o. o. o. o. C C C p. p. p. p. p. p. p. q. q. q. r. r. r. s. s. s. s. t. t. t. u. v. i. w. x. y. z. A. B. C. D. E. F. G. H. I. J. K. L. M. N. O. ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ / : % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & $ P. ^ ^ ^ ^ ^ ^ ^ ^ ^ 0 Q. R. S. T. U. V. W. X. y Y. Z. `. + .+ ++ @+ #+ $+ %+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ *+ =+ -+ ;+ ;+ ;+ ;+ ;+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ ,+ ,+ ,+ >+ >+ >+ >+ ,+ ,+ ,+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ '+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ )+ !+ !+ !+ !+ ~+ ~+ ~+ ~+ ~+ ~+ ~+ {+ ]+ ]+ ]+ ]+ ~+ ~+ ~+ ~+ {+ ^+ /+ (+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ :+ :+ :+ :+ :+ :+ :+ :+ :+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ _+ _+ _+ _+ _+ _+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ &+ <+ <+ <+ <+ <+ <+ <+ <+ [+ [+ [+ }+ }+ }+ }+ }+ }+ }+ |+ 1+ 1+ 1+ 1+ 1+ 1+ 1+ 1+ 1+ 1+ 1+ |+ |+ |+ |+ |+ |+ |+ |+ |+ |+ |+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 2+ 3+ 3+ 3+ 3+ 3+ 3+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 4+ 5+ 5+ 5+ 5+ 5+ 5+ 5+ 5+ 5+ 5+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 7+ 7+ 7+ 7+ 7+ 8+ 8+ 8+ 9+ 9+ 9+ 9+ 9+ 9+ 9+ 9+ 9+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 0+ 0+ 0+ 0+ a+ a+ a+ a+ b+ b+ b+ b+ b+ b+ b+ b+ b+ b+ c+ c+ c+ c+ c+ c+ c+ c+ c+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ d+ a+ a+ a+ a+ a+ a+ a+ a+ e+ e+ e+ f+ g+ h+ i+ i+ j+ j+ k+ l+ m+ n+ o+ p+ q+ 1. r+ s+ t+ u+ v+ w+ x+ y+ z+ ^ ^ ^ ^ ^ ^ ^ ^ ^ ( A+ - . . . . . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . B+ 6 _ ^ ^ ^ ^ ^ ^ ^ ^ z+ M. C+ D+ E+ F+ 6. G+ H+ b+ I+ }+ J+ K+ L+ M+ N+ N+ O+ P+ Q+ R+ S+ T+ U+ V+ V+ V+ V+ W+ W+ W+ W+ W+ W+ W+ W+ W+ X+ X+ X+ X+ X+ X+ Y+ Z+ `+ @ .@ .@ .@ .@ .@ .@ .@ +@ +@ +@ +@ @@ @ @ @ @ @ @ @ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ $@ $@ $@ #@ #@ #@ $@ $@ $@ $@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ %@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ &@ *@ =@ =@ *@ =@ =@ =@ =@ =@ =@ =@ -@ -@ -@ -@ -@ -@ ;@ ;@ ;@ ;@ ;@ ;@ ;@ >@ >@ ,@ ,@ &@ '@ '@ )@ !@ ~@ {@ {@ {@ {@ {@ {@ {@ {@ ]@ ]@ ]@ ]@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ /@ /@ /@ /@ /@ /@ /@ /@ ]@ ]@ ]@ ]@ ]@ ]@ ]@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ (@ X+ X+ X+ X+ X+ X+ X+ W+ W+ W+ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ _@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ :@ <@ <@ <@ <@ <@ <@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ [@ T+ T+ T+ T+ T+ T+ T+ T+ }@ }@ }@ |@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 1@ 2@ 2@ 2@ 2@ 2@ 3@ 3@ 3@ 3@ 4@ 4@ 4@ 4@ 4@ 5@ 5@ 5@ 5@ 5@ 5@ 5@ 5@ 5@ 5@ 5@ Q+ Q+ Q+ Q+ 6@ 6@ 6@ 7@ 7@ 7@ 7@ 7@ 7@ 7@ 7@ 7@ 7@ 7@ 8@ 8@ 8@ 8@ N+ N+ N+ 9@ 0@ 0@ 0@ a@ b@ b@ b@ c@ c@ c@ c@ d@ d@ d@ d@ d@ e@ e@ e@ e@ f@ f@ f@ g@ g@ g@ g@ h@ h@ h@ h@ h@ h@ h@ h@ h@ h@ h@ i@ i@ i@ j@ j@ j@ j@ j@ j@ j@ j@ j@ k@ l@ m@ n@ o@ p@ q@ l+ m+ r@ s@ t@ u@ v@ E+ w@ x@ y@ z@ ^ ^ ^ ^ ^ ^ ^ ^ A@ < $ . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . B@ C@ ^ ^ ^ ^ ^ ^ ^ ^ D@ E@ F@ E+ v@ G@ r@ H@ 5+ I@ j@ M+ N+ P+ J@ ]@ K@ L@ M@ N@ O@ P@ Q@ R@ S@ T@ U@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ V@ W@ X@ Y@ Z@ `@ # # # # # # # # # Z@ Z@ Z@ # # # .# .# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# @# @# @# @# ## ## ## @# @# @# ## @# @# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## $# %# %# %# %# %# &# &# &# &# &# &# &# *# *# &# *# *# =# =# =# =# =# -# -# =# =# =# =# ;# ;# ;# =# -# -# -# ># Y@ ,# '# W@ )# V@ V@ )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ !# !# !# !# !# !# !# !# !# !# !# !# !# V@ V@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ !# !# !# !# !# !# !# !# ~# ~# ~# T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ S@ S@ S@ S@ S@ S@ S@ {# {# {# {# {# {# {# {# {# {# {# {# {# {# {# {# ]# ]# ]# ^# ^# ^# ^# R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ /# /# /# /# (# (# (# (# (# (# (# R@ R@ R@ R@ R@ R@ R@ R@ Q@ Q@ Q@ _# _# _# _# _# _# _# _# _# _# _# _# _# _# :# :# :# :# <# [# [# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# }# }# }# }# }# |# |# |# 1# 1# 1# 1# 1# 1# 1# 1# 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# 3# 3# 3# O@ 4# 4# 4# 5# 5# 6# 7# 7# 8# 8# 9# 9# 0# 0# 0# 0# 0# a# a# a# a# a# L@ L@ b# b# c# d# e# f# g# h# i# i# X+ X+ X+ _@ j# :@ :@ k# l# m# n# o# a@ f@ j@ p# q# r# s# t# u# v# z. E. u+ w# L. x# ^ ^ ^ ^ ^ ^ ^ ^ 2 % . . . . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & _ ^ ^ ^ ^ ^ ^ 7 y# z# A# t+ B# C# D# E# F# G# a@ 6@ j# K@ H# I# Q@ T@ J# K# L# M# M# M# M# M# M# M# M# M# N# N# N# N# N# N# N# N# N# N# N# N# O# P# Q# R# S# T# T# T# U# U# U# U# U# U# U# U# U# U# V# V# V# V# U# U# U# U# U# U# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Z# Z# Z# Z# Z# `# $ Z# Z# Z# Z# Z# Z# Z# $ $ Z# $ $ .$ +$ +$ @$ +$ +$ +$ +$ +$ +$ +$ +$ @$ @$ @$ @$ @$ #$ #$ #$ #$ #$ +$ S# Y# $$ %$ R# &$ *$ *$ =$ =$ =$ =$ =$ =$ =$ =$ =$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ ($ )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# :# :# :# :# :# :# :# :# :# :# :# :# :# [$ N@ 9# a# }$ |$ <@ 1$ 2$ d@ 3$ 4$ 0+ j+ 5$ 6$ 7$ 8$ 9$ w@ 0$ x# ^ ^ ^ ^ ^ ^ ^ 5 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % a$ ^ ^ ^ ^ ^ ^ b$ c$ d$ e$ f$ u# g$ h$ i$ a@ j$ V+ k$ l$ m$ n$ o$ =$ p$ M# M# M# M# M# M# M# M# M# M# M# M# M# M# M# M# N# N# M# q$ r$ s$ t$ u$ S# X# T# T# T# T# T# U# U# U# U# U# U# U# U# U# U# U# U# U# V# V# V# U# U# U# U# U# U# U# W# W# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# v$ Z# Z# Z# Z# Z# Z# `# $ Z# Z# Z# Z# Z# Z# Z# Z# $ Z# $ $ .$ +$ +$ @$ @$ .$ +$ +$ +$ +$ @$ @$ @$ @$ @$ @$ #$ @$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ .$ S# S# w$ R# x$ =$ =$ =$ =$ =$ =$ =$ =$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ ($ )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ :$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ z$ 7# a# |$ A$ o# B$ C$ D$ d+ E$ n+ F$ G$ H$ I$ y# 7 ^ ^ ^ ^ ^ ^ ~ % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > 1 ^ ^ ^ ^ ^ ^ J$ K$ u+ L$ M$ N$ h$ i$ a@ 1@ f# l$ O$ !# P$ Q$ Q$ Q$ p$ p$ p$ p$ M# M# M# M# M# M# M# M# M# M# M# M# Q$ Q# R$ S$ .$ U# T# T# T# T# T# T# T# T# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# W# W# W# X# X# X# X# W# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# Y# Y# T$ T$ T$ T$ Y# Y# Y# Y# Y# U$ U$ Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# T$ Z# Z# Z# v$ Z# Z# Z# Z# $ Z# Z# Z# Z# Z# Z# Z# Z# Z# $ $ Z# +$ +$ +$ +$ .$ +$ +$ +$ @$ @$ @$ @$ @$ @$ @$ @$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ u$ $$ w$ R# &$ =$ =$ =$ =$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ V$ 8# W$ X$ J@ o# i@ D$ a+ E$ Y$ 4. D. Z$ `$ % ^ ^ ^ ^ ^ ^ .% % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . < ( ^ ^ ^ ^ ^ O. +% D+ t+ x. @% #% $% B$ %% |$ l$ &% *% -$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ p$ p$ p$ p$ M# M# M# M# M# p$ =% -% s$ ;% Y# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# W# W# W# W# X# X# X# W# W# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# T$ T$ T$ T$ T$ T$ T$ Y# U$ U$ U$ U$ U$ Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# v$ Z# Z# Z# `# v$ Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# $ $ Z# $ $ +$ +$ +$ +$ +$ +$ @$ @$ @$ @$ @$ @$ @$ @$ @$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ u$ S# w$ >% >$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ |# P@ P@ P@ 2# 8# }$ J@ ,% C$ D$ '% )% !% ~% 9$ {% ]% ^ ^ ^ ^ ^ ^ a$ = . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B@ _ ^ ^ ^ ^ ^ ^% /% (% E. _% :% <% [% O+ (@ L@ }% |% -$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ p$ p$ p$ p$ Q$ Q# R# 1% S# 2% T# T# U# U# U# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# W# W# W# W# X# X# X# X# W# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# T$ T$ T$ T$ T$ T$ U$ U$ U$ U$ U$ U$ U$ Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# Y# v$ 3% 3% Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# $ Z# Z# $ Z# $ $ +$ +$ +$ +$ +$ +$ +$ +$ @$ @$ @$ @$ @$ @$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ u$ S# w$ >% >$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ ($ )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# _# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ 2# 4% X$ 5% a@ 6% 7% 8% 9% 0% t+ a% b% ^ ^ ^ ^ ^ ^ 5 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B+ : ^ ^ ^ ^ ^ a c% (% d% e% :% f% g% h% i% j% k% l% *$ *$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ =% >% ;% W# T# T# T# T# T# T# T# T# U# U# U# U# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# T# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# U# W# W# W# X# X# X# X# W# W# W# W# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# X# T$ T$ T$ T$ T$ T$ T$ U$ U$ U$ U$ U$ U$ U$ Y# Y# Y# Y# Y# Y# Y# Y# U$ Y# Y# T$ 3% 3% `# `# `# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# Z# $ Z# $ Z# $ $ +$ +$ +$ +$ +$ +$ +$ @$ @$ @$ @$ @$ @$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ #$ m% m% #$ #$ u$ S# %$ n% -$ -$ -$ -$ -$ -$ -$ -$ -$ -$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ ;$ >$ >$ >$ >$ >$ >$ >$ >$ ,$ ,$ ,$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ '$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ )$ !$ !$ !$ ~$ ~$ ~$ ~$ {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ]$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ ^$ J# J# J# /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ ($ ($ ($ ($ ($ )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# {# {# {# {# {# S@ S@ S@ S@ S@ S@ S@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ R@ _# _# _# :# :# :# :# :# :# P@ :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ 4# a# (@ o% i@ 2+ p% 9% 1. E. F@ q% ^ ^ ^ ^ ^ ^ A+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > r% ^ ^ ^ ^ ^ L. s% t% u% v% &+ d@ w% c# 1# {$ =$ =$ *$ *$ *$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ Q$ x% y% 1% Y# T# T# T# T# T# T# T# T# T# T# T# T# T# T# U# U# U# U# T# z% A% B% C% D% E% F% G% H% I% J% J% K% L% M% N% O% P% Q% R% S% T% U% V% W% X% Y% Z% `% & .& +& @& #& $& %& && *& =& =& =& -& ;& ;& ;& ;& >& >& ,& ,& '& '& '& )& !& ~& {& {& ]& ]& ^& /& ]& (& (& (& _& _& _& :& :& :& <& [& [& }& }& }& |& |& |& |& 1& 2& 3& 4& 4& 4& 5& 6& 7& 8& 9& 9& 0& a& a& b& c& c& d& d& d& e& f& f& g& h& i& j& i& i& k& l& m& k& k& n& o& o& p& p& p& p& q& r& q& r& s& s& t& t& t& u& v& v& s& w& w& x& x& y& y& z& z& z& A& A& A& B& B& B& C& D& C& C& A& z& z& E& E& E& F& G& H& I& J& K& K& K& L& L& L& M& M& M& M& M& M& N& O& O& P& Q& Q& P& P& R& R& R& S& T& T& U& V& V& V& W& X& X& Y& X& X& X& X& X& Z& `& `& * .* .* .* * +* @* @* @* @* @* #* #* #* @* @* @* $* %* &* &* &* &* ** =* =* =* -* -* ;* ;* >* >* >* ;* ,* ,* '* '* '* '* '* '* '* )* )* !* !* ~* ~* ~* {* {* {* ~* ~* ]* ^* ^* ^* ^* ^* ^* /* /* /* /* (* _* /* /* /* /* /* :* <* <* [* [* [* [* [* [* [* }* }* }* }* |* |* |* |* |* |* 1* 2* 2* 3* 3* 4* 5* 5* 5* 2* 2* 2* 6* 6* 6* 6* 6* 6* 7* 6* 6* 6* 6* 7* 7* 8* 9* 9* 0* 9* 9* 9* 9* 8* 9* 0* 0* a* a* a* a* b* b* a* a* c* c* c* d* e* e* e* f* f* f* e* g* g* g* e* e* e* h* h* h* h* g* i* j* k* k* k* j* j* j* j* l* l* l* l* m* m* n* o* o* o* p* q* r* s* t* u* v* v* w* u* x* y* z* A* B* C* >@ D* E* 1# y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ 6# |$ o% F* G* H* I* J* t+ K* R. ^ ^ ^ ^ ^ 1 > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . & ~ ^ ^ ^ ^ ^ L* M* N* O* P* Q* b@ R* b# y$ !$ =$ =$ =$ =$ *$ *$ *$ *$ Q$ Q$ Q$ Q$ Q# s$ S* z% T* U* V* E% G% W* X* Y* Z* `* = & .= += @= #= $= %= &= *= == -= ;= ;= >= >= >= >= ,= ,= ,= ,= ,= ,= ,= ,= ;= ;= '= '= '= -= -= -= -= -= -= -= -= -= -= -= -= -= )= )= )= )= != != != != ~= ~= ~= ~= {= {= {= ]= ]= ]= ]= ]= ]= ]= ^= ^= ^= ^= ]= ]= ]= /= /= /= /= (= (= (= (= (= (= _= _= _= _= := /= /= <= <= <= := := := := := [= }= |= 1= 2= 3= 2= 4= 5= 5= 4= 6= 7= 8= 9= 4= 0= a= b= c= b= d= d= d= e= e= f= g= e= h= g= g= i= j= i= i= j= k= l= m= m= n= n= m= o= n= n= n= n= p= q= q= q= r= s= s= t= u= u= u= v= w= x= r= r= r= v= y= y= y= v= v= v= v= v= z= A= A= v= B= 1& C= D= E= E= E= E= F= F= F= F= F= F= G= H= I= I= I= I= J= K= K= K= L= L= M= M= N= N= N= N= O= O= O= P= P= P= Q= Q= R= R= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- k- k- l- l- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- G- I- J- K- L- P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ 7# M- h% g@ f% i+ N- O- P- K. Q- ^ ^ ^ ^ ^ C@ - . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R- ^ ^ ^ ^ ^ S- K$ T- _% U- [+ V- }@ W- _# )$ =$ =$ =$ =$ =$ =$ =$ *$ *$ *$ x$ >% ;% X# C% Z* X- Y- Z- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= '= '= '= -= -= -= -= -= -= -= -= -= -= -= )= )= )= )= != != != != ~= ~= ~= ~= {= {= {= {= ]= ]= ]= ]= ]= ]= ]= ^= ^= ^= ]= ]= ]= ]= /= /= /= (= (= (= (= (= (= (= ; ; ; /= /= /= /= <= <= <= := := := := .; +; @; 1= 2= 2= #; 4= 6= 4= 6= $; a= 8= 9= 8= a= 8= %; c= b= c= d= e= e= f= g= g= g= g= &; i= j= k= j= j= *; *; =; m= m= m= m= -; ;; >; >; ,; '; p= x= r= r= u= t= t= t= s= r= r= v= ); w= w= v= v= v= !; ~; ~; !; !; !; !; !; !; !; v= v= v= A= {; ]; ^; /; (; E= _; F= F= F= F= F= G= H= H= I= I= I= J= J= K= K= L= L= M= M= M= N= N= N= :; O= O= P= P= P= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- '- )- )- )- )- )- )- !- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- y- y- y- y- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- 2; 3; 4; &@ 5; P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ j% c# h% f@ |+ 6; 7; G@ 8; 9; ^ ^ ^ ^ ^ / , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & 4 ^ ^ ^ ^ ^ `$ u+ 0; a; b; c; %% d; &% e; -$ =$ =$ =$ =$ =$ =$ =$ =$ n% f; S# A% J% .= g; h; i; i; i; Z- Z- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= j; j; -= -= -= -= -= -= -= -= -= -= )= )= )= )= != != != != ~= ~= ~= ~= k; k; k; k; != != != ]= ]= ]= ]= ^= ^= ^= ^= ]= ]= ]= /= /= /= /= (= (= (= (= (= (= (= ; ; ; /= /= /= <= <= l; l; := := (= m; @; }= 2= 2= n; n; 4= 6= 3= 4= $; 4= 9= 5= 9= a= %; b= o; c= b= b= e= d= f= g= g= p; &; q; j= i= j= k= *; *; f& f& m= r; m= ;; ;; n= '; p= p= x= x= x= r= A= A= y= s= s; s; v= v= v= v= t; t; t; ); ); ); u; u; u; !; !; !; v; v; !; !; !; !; !; ~; y= y= w; x; y; z; A; F= F= F= F= G= H= H= I= I= I= J= J= K= K= K= L= L= M= M= N= N= N= N= O= O= O= P= P= Q= Q= Q= R= R= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- [; #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- t- t- t- t- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; D; E; F; P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ N@ c# Q+ G; H; )% I; t% J; K; ^ ^ ^ ^ ^ 2 [ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * ] ^ ^ ^ ^ x# L; t% 9% M; N; o# |$ O@ P$ -$ -$ -$ =$ =$ =$ =$ -$ y% O; Y# T# P; X- Q; ,= ,= ,= ,= h; i; i; i; Z- Z- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= ;= j; j; j; j; j; j; j; j; -= -= -= -= -= -= )= )= )= )= )= != != != != ~= ~= ~= ~= != != != != != != != != ]= ]= ]= ]= ^= ^= ^= ]= ]= ]= ]= ^= ^= ^= (= (= (= (= (= /= /= ; ; ; ; /= /= R; l; l; l; := := S; |= @; }= 3= 2= n; 2= 6= $; 3= $; T; 4= 7= 8= 9= 9= b= o; o; b= b= U; V; W; f= f= p; p; g= j= i= i= k= *; *; f& =; =; X; m= Y; X; p= Z; Z; x= x= x= r= v= `; `; v= y= y= s; !; !; t; t; > t; v; v; v; .> .> +> @> @> @> t; t; t; +> +> v; !; !; z= ~; ~; ~; ~; !; !; w; #> $> %> &> F= F= G= H= I= I= I= I= J= J= K= K= L= L= M= M= M= N= N= N= :; O= O= P= P= P= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- +- +- @- @- @- [; #- #- $- $- $- $- %- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => -> ;> >> P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ ,> ]@ ,% '> d+ )> !> ~> E@ ^ ^ ^ ^ ^ { > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ ^ ^ ^ ^ ^ {> ]> (. ^> :+ /> W+ (> V@ -$ -$ -$ -$ -$ -$ _> 1% $$ T# T# :> <> [> i; i; i; i; ,= ,= ,= ,= h; i; i; i; Z- Z- Z- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- `- `- `- `- `- j; j; j; j; j; j; j; j; j; j; j; j; -= -= -= )= )= )= )= )= != != != != ~= ~= ~= ~= ~= ~= ~= != != }> }> }> ]= ]= ]= ]= ^= ^= ^= ^= ]= ]= ]= |> |> |> |> /= /= /= /= /= /= /= ; /= /= R; R; R; R; l; l; l; := 1> |= }= 3= 3= 3= n; 2= }= $; 3= $; 4= 7= 4= a= 9= b= c= o; b= o; U; U; V; f= f= f= f= g= 2> i= i= k= l= *; f& =; =; 3> n= n= X; p= Y; Z; r= r= r= v= s; `; `; `; `; t; t; t; t; v; v; +> +> .> 4> 4> 5> 6> 6> .> .> +> +> +> ); ); ); .> +> +> v; v= A= ~; ~; ~; ~; 7> 7> !; {; {; 8> 9> 0> a> H= H= I= I= I= J= J= K= K= K= L= M= M= M= N= N= N= :; O= O= O= P= P= Q= Q= Q= R= R= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- %- &- &- &- *- *- =- =- -- -- ;- ;- >- >- >- >- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- d- d- d- |; e- e- e- f- f- f- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> => => b> b> => c> d> [$ P@ P@ [$ [$ [$ [$ [$ [$ 1# 1# 1# e> l# B$ }+ D# f> g> h> i> ^ ^ ^ ^ ^ , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * ~ ^ ^ ^ ^ z@ j> A. k> #% c; l> m> &% >$ -$ -$ -$ n% O; $$ T# T# T# T# n> o> p> i; i; i; i; i; i; ,= ,= ,= ,= h; h; i; i; i; Z- Z- Z- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- `- `- `- `- `- `- j; j; j; j; j; j; j; j; j; j; j; j; j; -= -= )= )= != != != != ~= ~= ~= ~= ~= ~= ~= ~= ~= q> q> q> q> r> r> r> ^= ^= ^= ^= ]= ]= ]= ]= |> |> |> R; R; R; R; R; R; R; /= /= /= /= R; R; R; l; l; l; (= s> |= t> 3= 3= |= }= }= u> }= $; T; 4= 7= 0= a= 9= c= b= v> o; o; w> V; W; W; f= f= x> 2> y> i= i= l= l= =; =; =; X; n= n= n= p= z> p= p= z> u= r= s; t; t; `; ); w= > +> +> +> v; A> A> B> +> +> C> A> A> .> +> +> D> D> D> D> v; v; v; B> B> B> v; !; ~; D> u; ~; u; 7> 7> !; A= A= {; x; u= E> F> G> I= I= I= J= K= K= K= L= L= M= M= N= N= N= N= :; O= O= P= P= P= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- y- y- y- y- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> J> K> N@ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# N@ }$ n# L> 8+ )% M> N> O> ^ ^ ^ ^ ^ 2 $ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B@ r% ^ ^ ^ ^ P> Q> R> U- :+ /> /@ O@ P$ -$ >$ >% %$ S> T# T# T# T# T> U> V> W> W> i; i; i; i; i; i; i; i; ,= ,= ,= ,= h; h; i; i; i; Z- Z- Z- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- `- `- `- `- `- `- j; j; j; j; j; j; j; j; j; j; j; j; j; -= X> X> Y> Y> )= ~= ~= ~= ~= ~= ~= ~= ~= q> q> q> q> r> r> r> r> {= {= {= {= r> r> r> ]= ]= ]= ]= R; R; R; R; R; R; R; /= /= /= R; R; R; R; l; l; (= t> |= t> |= $; }= $; }= u> }= $; 4= 7= Z> a= 8= %; c= 9= v> o; w> d= W; W; W; e= x> `> g= i= i= , l= =; o= o= n= n= ;; n= z> z> r= p= p= u= r= v= v= t; s; s; .> ., > .> B> B> C> C> C> C> B> B> B> 5> 5> B> +, +, +, C> C> A> A> A> A> v; v; v; v; v; @, @, v; D> D> u; ~; ~; A= A= A= A= {; x; A= ]; #, $, %, J= J= K= K= L= L= M= M= M= N= N= N= :; O= O= O= P= P= Q= Q= Q= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- %- &- &- &- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- t- t- t- t- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> &, *, =, 5# [$ [$ [$ [$ 1# 1# 2# 2# 2# 2# 8# X+ a@ }+ D# -, 8$ ;, z+ ^ ^ ^ ^ { > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } ^ ^ ^ ^ ^ >, T- ,, ', N; Q+ ), ~# !, O; ~, T# T# T# T# T# T# T# {, ], h; ,= W> W> W> i; i; i; i; i; i; i; i; ,= ,= ,= ,= h; h; i; i; i; Z- Z- Z- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- `- `- `- `- `- `- `- j; j; j; j; j; j; j; j; j; j; -= -= -= -= -= -= -= -= )= )= ~= ~= ~= ~= q> q> q> q> r> r> r> r> {= {= {= {= r> r> r> r> ]= ]= ]= R; R; R; R; R; R; R; /= /= /= /= R; R; R; (= (= {= +; t> @; @; @; $; 3= }= }= }= T; 4= 7= 7= a= 8= ^, 8= v> %; %; w> d= f= W; e= e= `> g= /, i= *; /, *; o= o= =; n= n= p= ;; z> r= Z; r= x= w= v= v= v= s; > > ., (, .> .> _, +> B> :, <, <, [, C> C> C> C> C> C> }, }, |, 1, 1, 1, }, }, }, B> B> 5> 5> D> D> D> A> A> v; @, @, ~; !; A= A= y= y= 2, 3, A= 3, 4, 5, 6, 7, K= K= L= M= M= M= N= N= N= N= O= O= O= P= P= P= Q= Q= R= R= S= S= T= T= T= T= U= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 9, 0, 6# [$ [$ 1# 1# 2# 2# 2# 2# 2# 2# a, n# k@ a+ b, 2. c, b$ ^ ^ ^ ^ / - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' ^ ^ ^ ^ ^ d, 8$ @% <% e, f, g, h, U$ T# T# T# T# T# T# T# T# C% i, j, j, j, h; ,= W> W> W> i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= h; h; i; i; Z- Z- Z- `- `- `- ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- `- `- `- `- `- `- j; j; j; j; j; j; j; -= -= -= -= -= -= j; j; j; j; j; ~= ~= ~= ~= q> q> q> q> r> r> r> r> {= {= {= {= r> r> r> r> ]= ]= ]= ]= R; R; R; R; R; R; R; /= /= /= R; k, k, k, /= {= s> +; @; @; 1= $; 3= $; }= $; 4= 7= Z> 7= 5= 8= a= 8= %; %; d= l, f= f= m, e= g= 2> /, /, *; /, *; *; l= =; X; X; p= ;; ;; r= Z; t= s= w= w= > s; s; t; ., .> .> .> .> B> B> B> B> :, C> C> [, 1, 1, 1, <, <, <, <, n, 1, 1, o, o, o, p, p, }, q, q, q, C> C> A> D> D> D> A> w; @, @, !; !; A= y= A= A= x; x; A= r, r, s, t, u, v, L= M= M= N= N= N= N= :; O= O= P= P= P= Q= Q= Q= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= Y= Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> H> H> H> I> I> &, 8, 8, 8, w, x, '@ 2# 1# 1# 2# 2# 2# 2# 2# 2# 2# 8# y, z, 2+ A, !% B, C, ^ ^ ^ ^ ^ , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c ^ ^ ^ ^ a D, 0% U- :+ /> E, F, G, T# T# T# T# T# T# T# T# H, I, J, Q; Q; j, j, j, h; ,= W> W> W> i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= h; h; i; i; i; Z- Z- Z- `- `- `- ,= ,= ,= ,= ,= ,= K, K, K, ,= ,= ,= ,= ,= ,= ,= ,= ,= ,= `- `- `- `- j; j; j; j; j; j; j; j; j; -= -= -= -= -= -= j; j; j; j; j; j; ~= ~= ~= ~= q> q> q> q> ~= ~= ~= ~= {= {= {= {= r> r> r> r> ]= ]= ]= ]= {= {= {= {= {= {= {= L, L, L, L, k, k, k, /= {= s> s> @; @; 1= $; 3= $; 3= $; 4= 7= 7= 7= 6= a= 8= v> %; d= d= M, f= f= m, p; 2> 2> i= *; l= N, *; l= r; X; X; 3> Y; ;; '; Z; t= s= s; w= > > > t; ); 4> v; t; 4> [, [, C> :, :, O, O, <, <, <, 1, n, n, o, o, o, P, n, n, n, Q, Q, o, p, p, p, R, S, T, U, V, V, W, X, Y, Z, `, `, ' .' +' {; A= A= A= u= x; A= 2, r, x; 4, @' #' $' M= M= N= N= N= :; O= O= O= P= P= Q= Q= Q= R= R= S= T= T= T= T= T= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- y- y- y- z- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> 8, 8, 8, 8, w, w, w, %' &' 1# 2# 2# 2# 2# 2# 2# 2# 2# N@ *' ,% '> =' Y$ -' ;' ^ ^ ^ ^ ^ 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R- ! ^ ^ ^ ^ 8 >' ,' N$ '' )' !' ~' T> T# T# T# T# T# T# T# T# {' ]' ^' Q; Q; Q; Q; j, j, j, h; ,= W> W> W> i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= h; h; i; i; i; Z- Z- Z- `- `- `- `- ,= ,= ,= ,= ,= ,= K, K, K, K, K, K, K, K, /' /' /' /' /' j; j; j; j; j; j; j; j; j; -= -= -= -= -= -= -= j; j; j; j; j; ~= ~= ~= ~= ~= q> q> q> q> ~= ~= ~= ~= ~= ]= ]= ]= ]= (' (' (' (' ]= ]= ]= {= {= {= {= {= {= {= {= L, L, L, k, k, k, k, {= _' +; @; t> }= }= $; 3= :' T; 7= 7= 4= 4= <' 0= 8= %; %; d= l, W; W; m, m, `> 2> i= j= l= q; N, N, r; m= Y; 3> Y; Y; '; Z; t= '; s; s; s; > > ); 4> .> .> [' .> C> C> C> [, [, O, O, }' o, o, |' |' o, Q, Q, Q, Q, Q, Q, Q, Q, o, o, o, o, 1' 2' 3' 4' 5' 6' 7' 7' 8' 9' 0' a' b' c' d' e' f' g' h' .' i' A= u= x; #> 2, r, r, j' k' l' m' n' o' N= N= N= O= O= O= P= P= P= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= Y= Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' r' s' 2# 2# 2# 2# 2# 2# 2# 2# 2# a# 2@ i$ e+ t' u' v' w' ^ ^ ^ ^ : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x' 4 ^ ^ ^ ^ y' z' A' B' C' D' E' F' T> T> T# T# T# T# T# T# H, G' H' H' H' ^' Q; Q; Q; j, j, j, j, ,= ,= W> W> h; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= h; h; i; i; i; i; Z- Z- `- `- `- `- `- `- ,= ,= ,= ,= ,= K, K, K, K, K, K, K, K, /' /' /' /' /' j; j; j; j; -= -= -= -= -= -= -= -= j; j; j; j; j; j; ~= ~= ~= ~= ~= q> q> q> q> ~= ~= ~= ~= ~= ]= ]= ]= ]= (' (' (' (' ]= ]= ]= ]= {= {= {= {= {= {= {= L, L, L, L, k, k, k, /= _' +; +; 1= }= }= $; 3= :' 3= Z> 4= 7= 6= 0= 0= v> %; %; d= M, W; W; m, `> g= m, i= k= i= N, N, f& m= Y; X; ;; Y; Z; Y; t= s= s= s; s; > > ., 4> > [' [' I' C> C> <, [, [, <, <, <, <, p, J' J' J' K' K' K' L' L' L' L' K' K' Q, J' J' J' M' N' O' P' Q' R' S' T' T' U' V' W' W' V' V' X' Y' Z' `' ) .) +) @) A= x; #> 2, 2, r, j' k' k' #) $) %) &) *) :; O= O= P= P= P= Q= Q= Q= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- '- )- )- )- )- )- )- !- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) -) ;) 2# 2# 2# 2# 2# 2# 2# 2# 2# 6# j# g@ 9+ >) O- ,) w' ^ ^ ^ ^ b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % a$ ^ ^ ^ ^ N. ') )) !) ~) {) ]) G, T> T> T> T> T# T# T# T# G% ^) H' H' H' H' H' Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> h; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= h; h; i; i; i; i; Z- Z- `- `- `- `- `- `- /) /) ,= ,= K, K, K, K, K, K, K, K, K, /' /' /' /' j; -= -= -= -= -= -= -= -= j; j; j; j; j; j; -= -= ~= ~= ~= ~= q> q> q> q> ~= ~= ~= ~= ~= ]= ]= ]= ]= (' (' (' (' ]= ]= ]= ]= {= {= {= {= {= {= {= L, L, L, L, k, k, k, k, +; +; +; 1= }= }= () 3= @; 2= Z> 4= 7= 5= 0= 0= v> %; d= b= U; W; f= f= `> g= m, j= i= *; *; N, =; X; X; n= ;; Z; Y; z> p= s= s= `; > > > t; A= u= ~; B> [, |' <, <, <, <, <, o, o, J' _) :) K' <) [) }) }) }) }) }) <) <) <) [) [) K' K' K' |) 1) . 2) 3) 3) 3) 3) 3) 3) 3) 3) 3) 3) 4) 5) 6) 7) 8) 9) 0) `' a) b) x; r, 2, 2, c) 3, ]; k' #) l' d) e) f) g) O= O= P= P= Q= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) i) (> 2# 2# 2# 2# 2# 2# 2# 2# j% (@ e@ 5+ j) k) l) 7 ^ ^ ^ ^ ! ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & 1 ^ ^ ^ ^ m) J n) o) p) -@ q) T# T# T# T> T> T> T> T# z% r) H' H' H' H' H' H' H' H' Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> h; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= h; h; i; i; i; i; i; Z- `- `- `- `- `- `- `- /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) j; j; -= -= -= j; j; j; j; j; j; j; -= -= -= -= -= s) s) q> q> q> ~= ~= ~= ~= ~= ]= ]= ]= ]= (' (' (' (' ]= ]= ]= ]= {= {= {= {= {= {= {= {= L, L, L, k, k, k, k, t) +; +; +; @; _' }= @; 2= 3= 2= 7= 5= 8= 0= 0= %; %; d= b= U; W; f= f= e= m, h= u) i= *; l= f& X; X; v) ;; '; n= z> p= Z; w) x) y) z) A) B) C) D) D) D) E) F) G) H) I) E> ~; o, o, Q, <) K' K' <) L' L' L' K' K' K' }) <) <) K' K' K' J) J) J) K) L) M) . N) O) O) O) O) O) O) O) O) O) O) P) Q) R) S) T) U) V) W) X) Y) +' 3, 2, 3, c) r, ]; k' Z) l' `) ! $) .! +! @! P= P= Q= Q= R= R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> 8, 8, 8, 8, w, w, w, q' q' q' =) =) h) h) #! $! 2# 2# 2# 2# 2# 2# 2# 3# N@ i% %! &! s# *! =! 7 ^ ^ ^ ^ ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - { ^ ^ ^ ^ -! ;! >! ,! '! )! `@ T# T# T# T# T# T> T> T> !! ~! h; H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> h; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= h; i; i; i; i; i; i; i; `- `- `- `- `- `- /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /) /' /' j; j; j; j; j; j; -= -= -= -= -= -= s) s) s) s) s) q> q> q> ~= ~= ]= ]= ]= ]= (' (' (' (' ]= ]= ]= ]= {= {= {= {= {= {= {= {= L, L, L, L, k, k, k, {! ]! ^! +; @; _' }= u> 2= 3= #; 7= 5= a= 8= v> %; d= b= U; U; /! W; f= e= m, u) `> i= l= l= (! X; 3> n= '; '; p= 4, _! :! - >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- l- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! m! 5# 2# 2# 2# 2# 3# 3# 3# 3# c# o# I@ q@ s@ n! ^ ^ ^ ^ ^ ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R- 4 ^ ^ ^ ^ o! p! >! q! r! s! ~' T# T# T# T# T# T# T> T> t! u! h; h; h; Q; H' H' H' H' H' H' H' ^' Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> h; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= h; i; i; i; i; i; i; ,= ,= ,= `- `- `- `- /) /) /) /) /) /) /) /) /) /) /) /) W> W> W> W> W> W> W> /' /' j; -= -= -= -= -= -= s) s) s) s) s) s) q> q> q> q> q> != != != != q> q> q> q> r> r> ]= ]= ]= {= {= {= {= r> r> r> ]= ]= ]= ]= r> r> r> v! ]! w! +; t> u> }= u> 2= 3= #; 4= 8= a= 8= %; %; d= b= U; d= /! f= e= x> p; `> `> i= l= l= -; 3> n= n= n= x! y! z! C) C) C) C) F) F) F) F) F) F) D) D) C) C) H) A! J' <) <) <) }) }) L' B! C! C! C! D! D! D! C! C! C! D! D! D! D! D! E! E! E! E! F! G! H! I! . J! K! K! K! K! K! K! K! K! K! K! 8! L! M! N! O! P! Q! R! S! T! U! V! 3, 3, {; r, 3, k' Z) #) W! `) B= ! `) X! Y! Z! `! ~ R= S= S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Z= Z= Z= Z= Z= `= - - - .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ +~ @~ 2# 2# 2# 3# 3# 3# 3# 3# H# #~ $~ h+ p+ %~ ^ ^ ^ ^ ^ b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! ^ ^ ^ ^ &~ *~ =~ ~+ r! -~ ;~ T> T> T# T# T# T# T# T# >~ ,~ ,~ ,~ h; h; H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> W> i; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= ,= i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= ,= W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> j; j; j; j; j; j; -= -= s) s) s) s) s) q> q> q> q> q> != != != != != q> q> q> q> r> r> r> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= r> r> r> {= '~ w! +; t> u> }= u> }= 3= 4= 6= 8= 8= 8= 9= %; d= l, d= W; /! )~ e= x> g= `> i= q; *; (! -; !~ n= n= ~~ z! F) == == C) C) C) F) F) F) F) F) F) F) D) C) m' ~; K' <) <) 2! 2! {~ ]~ {~ C! ^~ ^~ D! D! /~ /~ /~ (~ (~ (~ (~ (~ (~ /~ /~ /~ /~ /~ /~ _~ :~ <~ [~ . J! }~ }~ }~ }~ }~ }~ }~ }~ }~ }~ |~ 1~ 2~ 3~ 4~ 5~ 6~ 7~ 8~ 9~ 0~ a~ x; 3, {; r, 3, 4, 4, s, W! `) B= b~ `) c~ $) d~ e~ f~ g~ S= T= T= T= T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- +- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- y- y- y- y- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ #! i~ 2# 2# 3# 3# 3# 3# 3# j~ k~ l~ $~ h+ p+ %~ ^ ^ ^ ^ ^ ' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c ^ ^ ^ ^ m~ n~ =~ ~+ r! -~ &# T> T> T> T> T# T# T# T> o~ H' ,~ ,~ ,~ h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> W> h; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= ,= ,= W> i; i; i; i; ,= ,= ,= ,= ,= ,= ,= ,= W> W> W> W> W> W> W> W> W> W> W> W> j; j; j; j; j; j; j; j; j; /) /) /) s) s) s) q> q> q> q> q> != != != != != q> q> q> q> r> r> r> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> p~ w! t> +; }= u> }= $; #; 4= 6= 7= 8= ^, 9= d= %; d= d= /! q~ f= x> p; `> `> i= q; l= -; o= ;; ;; r~ G) C) == == == C) C) F) F) F) F) F) F) F) F) F) D) c) s~ <) K' K' {~ {~ {~ D! /~ t~ t~ C! D! /~ u~ u~ u~ v~ v~ v~ v~ v~ v~ u~ w~ w~ w~ x~ x~ /~ y~ z~ A~ B~ . C~ D~ D~ D~ D~ D~ D~ D~ D~ D~ D~ |~ E~ F~ G~ H~ I~ 6~ 7~ J~ K~ L~ M~ N~ 3, {; i' 3, O~ 4, s, l' `) B= b~ `) P~ @' @' Q~ R~ S~ `! T= T= T= T= U= W= W= W= W= W= W= W= X= X= X= X= X= X= Y= Z= Z= Z= Z= Z= `= - - - .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- l- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> 8, 8, 8, 8, w, w, w, q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h) T~ 2# 3# 3# 3# 3# 3# j~ j~ k~ 5% $~ h+ U~ V~ ^ ^ ^ ^ ^ 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R- ^ ^ ^ ^ W~ X~ >! ~+ r! !' &# T> T> T> T> T> T> T# Y~ G' H' H' ,~ ,~ ,~ ,~ h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, ,= ,= W> W> W> h; i; i; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= ,= W> W> W> i; i; ,= ,= ,= ,= ,= ,= ,= ,= W> W> W> W> W> W> j; j; j; j; j; j; j; j; j; j; /) /) /) /) /) /) /) Z~ Z~ Z~ Z~ q> q> != != != != != q> q> q> q> r> r> r> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> v! +; t> +; 1= u> }= $; #; 4= 6= 7= 8= 8= 8= o; %; d= W; q~ /! f= x> p; `> i= q; *; m= m= n= n= `~ B) C) := := == == == F) F) F) F) F) F) F) F) F) F) { p, .{ .{ }) 1! 1! D! D! (~ t~ t~ +{ +{ /~ @{ @{ w~ w~ w~ #{ @{ @{ @{ @{ w~ w~ w~ w~ w~ w~ x~ /~ ${ %{ &{ B~ . C~ *{ *{ *{ *{ *{ *{ *{ *{ *{ *{ |~ ={ -{ ;{ >{ ,{ '{ ){ !{ f! `' ~{ {{ 3, 2, i' i' O~ c) s, l' `) B= `) B= P~ @' ]{ ^{ /{ e~ e~ ({ _{ T= U= V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- @- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ <{ 3# 3# 3# 3# 3# j~ j~ j~ k~ [{ $~ h+ }{ |{ ^ ^ ^ ^ ^ , . . . @ . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . @ . . . , ^ ^ ^ ^ 7 1{ 2{ 3{ 4{ !' &# T> T> T> T> T> T> T> 5{ 6{ h; h; H' H' ,~ ,~ ,~ ,~ h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, h; ,= ,= W> W> W> i; i; i; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= ,= W> W> W> W> W> W> /' /' /' j; j; j; j; j; j; j; j; j; j; j; j; j; j; j; j; j; /) /) /) /) /) /) /) Z~ Z~ Z~ Z~ Z~ Z~ q> ~= ~= ~= ~= != q> q> q> q> r> r> r> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> R; +; t> m; 1= u> }= $; }= 4= <' 4= 8= 8= 8= o; d= d= U; U; /! f= x> g= `> i= q; l= m= =; ;; m= 7{ 8{ := := := == == 9{ 9{ F) 0{ 0{ F) F) F) F) F) F) i' .{ .{ 2! 1! D! D! (~ (~ a{ a{ +{ v~ v~ @{ b{ b{ c{ c{ c{ c{ v~ v~ v~ b{ c{ c{ c{ c{ c{ c{ w~ d{ e{ f{ g{ h{ i{ . j{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ l{ m{ n{ ;{ >{ o{ p{ c! q{ W) r{ s{ t{ r, 2, i' i' 4, c) s, l' `) B= `) B= P~ u{ ]{ ^{ v{ w{ Y! e~ x{ y{ V= W= W= W= W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ <{ 3# 3# 3# 3# j~ j~ j~ j~ B{ #~ 4$ q@ C{ D{ ^ ^ ^ ^ ^ - . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . * ^ ^ ^ ^ ^ E{ n) F{ G{ !' H{ T> T> T> T> T> T> T> I{ J{ K{ K{ h; h; H' H' ,~ ,~ ,~ ,~ h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, j, ,= ,= W> W> W> i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; ,= ,= ,= ,= ,= W> W> W> W> W> W> /' /' /' j; j; j; j; j; j; j; j; j; j; j; j; /) /) /) /) /) /) /) /) j; j; j; j; j; j; j; q> q> q> q> q> p> p> p> p> Z~ r> r> r> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> r> L{ t> m; 1= u> }= $; $; 6= 4= 4= M{ 8= o; 9= d= d= U; N{ f= x> p; `> i= q; l= l= m= n= Y; O{ P{ 8{ := := := := 9{ 9{ 9{ 0{ 0{ 0{ 0{ F) F) F) F) 7{ Q{ .{ 2! J) J) (~ (~ a{ a{ @{ (~ v~ R{ R{ R{ b{ S{ T{ c{ c{ c{ U{ V{ V{ V{ V{ V{ V{ W{ W{ V{ V{ #{ #{ d{ X{ Y{ Z{ `{ . ] .] .] .] .] .] .] .] .] .] .] l{ m{ +] @] G~ o{ #] $] %] &] *] =] -] r, 2, i' r, 4, c) s, l' `) B= B= B= P~ u{ ^{ ^{ ]{ ;] >] ,] Y! Y! '] )] W= W= W= W= W= X= X= X= X= X= X= <; Z= Z= Z= Z= Z= `= - - - .- .- .- +- @- @- @- @- [; #- #- $- $- $- %- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- l- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ :{ z{ A{ A{ !] 3# 3# j~ j~ j~ j~ j~ j~ ~] #~ I@ A, q+ {] ^ ^ ^ ^ ] x' . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . & P. ^ ^ ^ ^ ]] ^] /] (] s! $# T# T> T> T> T> T> T> _] x{ :] :] K{ K{ h; h; H' <] ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, j, ,= ,= W> W> W> W> i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; ,= ,= W> W> W> W> W> W> /' /' /' j; j; j; j; j; /) /) /) /) /) /) /) /) /) /) /) j; j; j; j; j; j; j; q> q> q> q> q> q> p> p> p> p> p> (' (' (' (' (' r> r> r> r> r> r> r> r> ]= ]= ]= ]= ]= r> r> r> ^= t> 1= +; }= $; @; $; [] 4= 4= M{ 8= o; 9= o; W; U; x> f= x> g= `> i= q; l= -; =; Y; Y; }] 8{ 8{ 8{ := := == 9{ 9{ 9{ 9{ 0{ 0{ 0{ F) F) F) F) H) |] 1] J) J) D! (~ a{ a{ (~ (~ 2] 2] R{ T{ T{ T{ T{ W{ W{ S{ S{ S{ V{ V{ V{ S{ S{ S{ S{ 3] 3] V{ V{ V{ 4] 5] f{ 6] 7] 8] . ] 9] 9] 9] 9] 9] 9] 9] 9] 9] 9] 0] a] +] b] F~ c] d] e] f] 6) *] =] g] r, 2, 2, r, 4, c) d) l' `) B= B= B= P~ u{ ^{ v{ ]{ ;] ;] z) Q~ Y! e~ h] i] W= W= W= X= X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> 8, 8, 8, w, w, w, w, q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ j] 3# j~ j~ j~ j~ j~ j~ j~ ~] N+ }+ )% k] l] ^ ^ ^ ^ 4 . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . ~ ^ ^ ^ ^ m] n] o] p] q] ## T# T# T# T> T> T> T> 5{ J{ :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; j, j, j, j, j, h; ,= W> W> W> W> W> i; i; i; i; i; i; i; Q; i; i; i; i; i; i; i; i; i; i; i; i; Q; Q; Q; Q; Q; Q; W> W> W> W> /) /) /) /) /) /) /) /) /) /) /) /) j; j; j; j; j; j; q> q> q> q> q> q> p> p> p> p> p> p> q> q> q> q> q> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> r> t) t> +; t> :' }= $; 3= 4= 4= 7= 8= o; b= o; W; U; x> p; x> g= `> i= q; (! -; n= Y; r] P{ 8{ 8{ 8{ := == == == 9{ 9{ 9{ 0{ 0{ 0{ 0{ F) F) F) s] p, 2! D! D! /~ /~ (~ (~ @{ 2] b{ R{ R{ S{ S{ S{ t] t] t] u] u] u] u] v] v] v] w] u] u] w] w] v] V{ 3] 3] 3] x] y] 6] z] A] . B] C] C] C] C] C] C] C] C] C] C] 0] a] +] D] F~ c] E] Q! 7~ F] G] H] I] r, r, J] r, 4, k' d) l' `) K] B= B= P~ ]{ ^{ v{ ]{ ;] ;] z) w{ L] M] M] M] N] O] X= X= X= X= X= X= <; Y= Z= Z= Z= Z= Z= `= - - - .- .- +- +- @- @- @- @- #- #- #- $- $- $- %- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ P] j~ j~ j~ j~ j~ j~ j~ 4# }$ N+ Q] b, R] S] ^ ^ ^ ^ : . . . # . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . R- ^ ^ ^ ^ Q. T] U] V] =@ .# T> T# T# T# T# T> T> Y~ W] <] :] :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; j, j, j, j, h; ,= ,= W> W> W> W> W> i; i; i; i; i; i; Q; Q; Q; i; i; i; i; i; i; i; i; i; i; i; Q; Q; Q; Q; Q; Q; W> W> W> W> /) /) /) /) /) /) /) /) /) /) /) /) /) /) q> q> q> q> q> q> q> p> p> p> p> p> q> q> q> q> q> r> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= r> r> r> r> X] t> +; t> :' }= $; 4= 4= 4= 7= 9= 9= o; o; U; N{ p; x> e= `> i= q; l= -; o= m= n= x) C) 8{ 8{ 8{ 8{ == == == 9{ 9{ 9{ 9{ 0{ 0{ 8{ F) F) F) Y] K' {~ {~ /~ /~ (~ @{ @{ @{ c{ R{ S{ S{ T{ T{ T{ v] t] t] t] Z] Z] `] w] w] w] w] w] w] w] Z] u] v] 3] 3] 3] 3] ^ .^ 6] +^ @^ . #^ $^ $^ $^ $^ $^ $^ $^ $^ $^ $^ 0] a] %^ D] F~ &^ *^ =^ 7~ -^ G] H] ;^ r, r, >^ r, 4, k' d) l' `) K] B= B= P~ ]{ ^{ v{ ]{ ;] ,^ z) :! '^ g; M] M] e~ )^ !^ X= X= X= X= X= <; Y= Z= Z= Z= Z= `= `= - - .- .- .- +- +- @- @- @- [; #- #- $- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ r! j~ j~ j~ j~ j~ j~ 4# 4# ~^ B$ 8+ n+ {^ ]^ ^ ^ ^ ^ % . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . B@ ^ ^ ^ ^ ^ ^^ /^ (^ %@ _^ T> T> T> T# T# T# T> z% :^ <^ <] <] :] :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; j, j, j, j, j, h; ,= W> W> W> W> W> W> i; i; i; i; i; i; Q; Q; Q; Q; Q; i; i; i; i; i; i; i; i; i; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> /) /) /) /) /) /) /) /) /) q> q> q> q> q> q> q> p> p> p> p> p> p> q> q> q> q> q> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= ]= r> r> r> r> {= +; +; t> :' }= $; 4= 4= M{ 7= 9= 9= o; o; V; f= e= x> g= `> i= q; (! -; n= m= n= [^ := 8{ 8{ 8{ 8{ == == == == 9{ 9{ 9{ 0{ 8{ 8{ 8{ F) F) }^ n, {~ a{ v~ (~ 2] 2] #{ c{ S{ S{ u] u] u] u] v] v] |^ |^ |^ |^ 1^ `] 2^ `] `] w] w] w] w] w] `] w] v] v] v] 3] 3] ^ 3^ 4^ 5^ @^ . #^ 6^ 6^ 6^ 6^ 6^ 6^ 6^ 6^ 6^ 6^ 7^ a] 8^ D] >{ 9^ 0^ a^ b^ -^ G] =] V! r, r, r, r, ]; k' d) l' `) u{ B= B= @' ^{ ^{ ]{ ;] ;] ,^ z) :! '^ c^ Y] d^ e~ M] M] e^ X= X= X= <; Y= Z= Z= Z= Z= `= `= - - - .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- &- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- e- e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> &, 8, 8, 8, w, w, w, q' q' q' =) =) h) h) l! l! .~ .~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ g^ j~ j~ j~ j~ j~ 4# 4# h^ Y+ i^ d+ 7; j^ w' ^ ^ ^ ] x' . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . B@ r% ^ ^ ^ ^ k^ =~ l^ m^ n^ T> T> T> T> T> T# T# T> o^ <^ <^ <^ <] <] :] :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' i; Q; Q; Q; Q; Q; j, j, j, j, h; h; ,= W> W> W> W> W> W> W> i; i; i; i; i; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> /) /) /) -= -= -= -= q> q> q> q> p> p> p> p> p> p> q> q> q> q> q> q> r> r> r> r> r> r> r> r> r> ]= ]= ]= ]= ]= r> r> r> r> ]= p^ +; t> :' $; $; $; T; M{ 7= 8= 8= q^ r^ V; f= e= x> g= `> i= q; q; -; n= m= n= ~~ C) == 8{ 8{ 8{ == == == == 9{ 9{ 9{ 9{ 8{ 8{ 8{ F) F) 0{ s^ a{ v~ v~ 2] 2] R{ T{ S{ u] u] u] u] u] `] w] w] t^ t^ t^ t^ 2^ u^ u^ u^ u^ u^ u^ t^ t^ t^ v^ u^ w] w] w] v] v] `] w^ x^ 6] y^ @^ . z^ A^ A^ A^ A^ A^ A^ A^ A^ A^ A^ 7^ a] 8^ B^ C^ 2~ 0^ a^ b^ -^ D^ =] E^ r, r, r, 3, ]; d) l' `) B= B= B= P~ @' ^{ ^{ ]{ ;] F^ z) w{ :! '^ c^ A) Y] d^ M] M] M] ({ G^ <; Y= Z= Z= Z= Z= Z= `= - - - .- .- .- +- @- @- @- @- [; #- #- $- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- j- k- l- l- m- m- m- m- o- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ H^ j~ j~ j~ j~ 4# 4# 4# 8# I^ J^ N$ }{ K^ ^ ^ ^ ^ 4 . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . 5 ^ ^ ^ ^ L^ n) ~+ M^ N^ O^ T> T> T> T> T> T> T# P^ K{ :] <^ <^ <^ <] <] :] :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; j, j, j, j, j, h; h; W> W> W> W> W> W> W> W> W> i; i; i; Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> j; j; j; -= -= -= -= -= -= /) /) p> p> p> p> p> q> q> q> q> q> (' (' (' (' (' r> r> r> r> r> r> r> r> r> r> Q^ Q^ Q^ Q^ r> r> L{ _' _' () $; }= T; T; 4= 8= %; q^ r^ V; f= x> p; x> i= q; i= l= o= m= ;; w) R^ C) == 8{ 8{ 8{ 8{ == == == == 9{ 9{ 9{ 8{ 8{ 8{ 8{ 0{ 0{ S^ v~ v~ 2] b{ R{ T{ T{ u] u] `] `] `] `] T^ t^ t^ U^ V^ V^ V^ V^ W^ W^ W^ X^ X^ X^ W^ Y^ Y^ Y^ Z^ u^ u^ t^ w] w] w] `] `^ 3^ / y^ @^ . ./ +/ +/ +/ +/ +/ +/ +/ +/ +/ +/ 7^ @/ #/ $/ %/ 2~ 0^ a^ b^ &/ D^ s{ E^ r, r, i' 3, k' d) l' `) u{ B= B= P~ @' ^{ v{ ]{ F^ z) z) w{ :! :! A) */ G) *= d^ M] M] M] =/ -/ Y= Z= Z= Z= Z= `= `= - - .- .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- *- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ ;/ j~ j~ 4# 4# 4# 4# N@ 0# P+ &+ E$ >/ ,/ ^ ^ ^ ^ : . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . } ^ ^ ^ ^ '/ )/ o] '! !' &# T> T> T> T> T> T> T> !/ K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] K{ h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; Q; j, j, j, j, h; h; h; H' W> W> W> W> W> W> W> W> W> W> W> Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> W> W> j; j; j; j; j; j; j; j; j; j; j; /) /) /) /) /) /) /) /) q> q> q> q> q> q> (' (' (' (' (' (' (' (' (' (' (' (' (' (' (' ~/ ~/ ~/ ~/ r> r> /= _' u> () $; }= 2= 4= 4= 8= b= q^ V; q~ f= x> p; x> i= q; i= l= ;; {/ ;; w) x! C) 8{ 8{ 8{ 8{ 8{ == == == == 9{ 9{ 9{ 9{ 8{ 8{ 8{ 0{ 0{ ]/ v~ 2] b{ R{ T{ Z] Z] Z] `] `] `] u^ u^ U^ V^ V^ ^/ W^ W^ W^ W^ // // // // (/ (/ (/ W^ W^ V^ _/ _/ U^ U^ U^ t^ t^ u^ `] x] :/ / y^ @^ . - >- >- >- >- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 3- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ 7/ j~ 4# 4# 4# N@ N@ N@ }$ 8/ I+ m+ 9/ 0/ ^ ^ ^ ^ > . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . a/ ^ ^ ^ ^ ^ b/ c/ V] =@ .# T> T> T> T> T> T> T> d/ e/ :] K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] h; h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' ^' Q; Q; Q; Q; Q; Q; j, j, j, h; h; h; H' H' W> W> W> W> W> W> W> W> W> W> W> W> W> /) /) /) /) /) /) /) j; j; j; j; j; j; j; j; j; j; j; j; j; j; j; j; W> W> W> W> W> W> W> /) q> q> q> q> q> q> q> q> q> q> q> q> (' (' (' (' (' (' (' (' (' (' ~/ ~/ ~/ ~/ r> r> r> .; }= () $; }= 2= 4= 8= a= b= q^ V; q~ f= x> g= x> g= f/ f/ g/ -; {/ ;; h/ x! C) 8{ 8{ 8{ 8{ 8{ 8{ == == == 9{ 9{ 9{ 9{ 8{ 8{ 8{ 8{ 0{ C) D! b{ R{ b{ T{ Z] Z] Z] `] `] 2^ t^ V^ V^ i/ i/ W^ j/ // // k/ k/ k/ k/ k/ l/ l/ l/ l/ k/ m/ m/ n/ _/ _/ i/ V^ U^ u^ u^ `] o/ x^ / p/ @^ . - >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- k- k- l- l- m- m- m- m- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> I> 8, 8, 8, w, w, w, w, q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ y/ z/ 4# 4# 4# N@ N@ N@ N@ |$ L+ b+ 6$ A/ ^ ^ ^ ^ 1 . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . 5 ^ ^ ^ ^ B/ C/ l^ m^ _^ T> T> T> T> T> T> T> D/ E/ F/ :] :] K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] h; h; h; h; H' <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' ^' Q; Q; Q; Q; Q; Q; j, j, j, h; h; h; H' H' H' H' W> W> W> W> W> W> W> W> W> W> W> /) /) /) /) /) /) /) j; j; j; j; j; j; j; j; j; j; W> W> W> W> W> W> W> W> W> Z~ Z~ Z~ Z~ Z~ Z~ Z~ q> q> q> q> q> q> q> q> q> q> q> q> (' (' (' (' ~/ ~/ ~/ ~/ ~/ r> r> r> {= @; G/ $; }= 2= 4= 8= a= b= q^ V; /! f= H/ `> H/ `> /, g/ l= {/ ;; w) Z; Z; G) 8{ 8{ 8{ 8{ 8{ 8{ == == == == 9{ 9{ I/ 8{ 8{ 8{ 8{ 0{ 0{ J/ U{ b{ T{ T{ Z] 1^ 1^ K/ 2^ L/ L/ i/ i/ k/ k/ // // k/ k/ k/ k/ M/ M/ M/ M/ N/ N/ O/ P/ Q/ R/ S/ T/ n/ n/ i/ i/ ^/ U^ u^ u^ U/ V/ W/ y^ X/ . Y/ Z/ Z/ Z/ Z/ Z/ Z/ Z/ Z/ Z/ Z/ `/ @/ r/ ( .( +( @( v/ ){ J~ D^ ~{ N~ i' i' i' ]; w/ d) l' B= u{ B= B= @' ^{ ^{ x) z) z) z) w{ :! '^ A) z! G) */ z! *= G) Y] e~ d^ d^ d^ R~ #( $( `= - - .- .- .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- z- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( *( @~ 4# 4# N@ N@ N@ N@ 6# f, =( q@ -( ;( ^ ^ ^ ^ A+ . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . & ^ ^ ^ ^ >( ,( /] '( )( !( T> T> T> T> T> T> T> ~( {( F/ F/ :] :] K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] h; h; h; h; H' <] <] ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' ^' Q; Q; Q; Q; Q; Q; Q; Q; j, j, h; h; H' H' H' H' H' H' H' H' W> W> W> W> W> W> W> W> /) /) /) /) /) /) /) /) j; j; W> W> W> W> W> W> W> W> W> W> W> W> p> p> p> p> p> p> Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ q> q> q> (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ r> r> r> r> ]( G/ $; 2= T; 4= a= ^( c= l, /( (( /! H/ H/ `> `> /, g/ l= {/ ;; w) Z; Z; ^{ 8{ 8{ k, 8{ I/ I/ == == == == 9{ I/ I/ I/ 8{ 8{ 8{ 0{ _( :( @{ T{ T{ v] w] 1^ K/ u^ L/ <( <( [( k/ k/ }( k/ k/ |( 1( 1( 1( M/ M/ M/ M/ 2( 3( 4( 5( 6( 7( 8( 9( 7( 0( a( // // i/ U^ U^ u^ b( V/ c( 5^ d( . Y/ e( e( e( e( e( e( e( e( e( e( `/ @/ r/ f( .( g( h( i( j( J~ D^ ~{ b) >^ i' i' ]; w/ d) k( u{ B= B= P~ @' ^{ v{ v{ z) z) z) :! '^ :! l( z! A) */ z! *= m( B) D) n( d^ d^ R~ M] o( p( - - .- .- +- +- @- @- @- @- [; #- #- $- $- $- $- &- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( q( r( h^ N@ N@ N@ N@ N@ N@ 4% n# }+ b, 1. s( ^ ^ ^ ^ B+ . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . } ( ^ ^ ^ ^ t( u( v( q] ;~ T> T> T> T> T> T> T> w( :] {( {( F/ F/ :] :] K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] h; h; h; h; H' <] <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' ^' ^' Q; Q; Q; Q; Q; Q; Q; Q; h; h; h; H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> W> /) p> p> p> p> p> p> p> Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ r> r> r> r> (' () $; }= x( T; a= ^( c= l, /( y( (( f= H/ `> `> /, g/ m= {/ ;; h/ Z; Z; z( A( k, B( I/ I/ I/ I/ == == 8{ I/ I/ I/ I/ 8{ 8{ 8{ I/ _( I/ C( T{ v] w] w] K/ u^ t^ W^ <( [( }( }( }( }( D( 1( E( E( F( F( 2( 2( 2( 2( 2( G( H( I( J( K( L( M( N( O( 7( P( Q( // // R( U^ U^ b( S( T( U( V( . W( X( X( X( X( X( X( X( X( X( X( `/ @/ Y( Z( .( g( `( _ ._ +_ T! a) b) >^ i' 3, w/ d) l' k( u{ B= B= P~ ]{ ^{ v{ v{ z) '^ z) :! '^ c^ l( G) */ z! *= z! 7{ B) C) 0{ d^ d^ R~ M] @_ #_ $_ .- .- .- +- @- @- @- @- [; #- #- $- $- $- $- %- &- &- *- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> 8, 8, 8, 8, w, w, w, q' q' q' =) =) h) h) l! l! .~ .~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( %_ N@ N@ N@ N@ N@ N@ N@ d# B$ 8+ I* A/ ^ ^ ^ ^ 5 . . . @ . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . R- ^ ^ ^ ^ &_ >! *_ {) _^ T> T> T> T> T> T> T> d/ =_ :] {( {( F/ F/ :] :] :] K{ K{ :] :] <^ <^ <] <] <] :] :] :] :] :] K{ h; h; h; h; <] <] ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' ^' ^' ^' Q; Q; Q; Q; Q; Q; Q; Q; Q; h; h; H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; Q; Q; Q; Q; W> W> /) /) /) /) /) /) /) /) /) p> Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ r> r> r> (' (' /= u> }= -_ T; a= ;_ v> l, /( >_ (( f= H/ `> `> /, g/ -; {/ ;; w) ;; p= ,_ F^ B( B( I/ I/ I/ I/ 8{ 8{ 8{ 8{ I/ I/ I/ I/ I/ I/ I/ I/ I/ D) '_ w] w] t^ u^ t^ W^ // [( l/ N/ N/ D( )_ !_ E( ~_ {_ {_ 2( {_ {_ ]_ ]_ ]_ ^_ /_ (_ . __ :_ <_ [_ }_ |_ 1_ 2_ 3_ i/ i/ i/ R( U^ 4_ 5_ 6_ 7_ 8_ . 9_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ a_ @/ b_ Z( .( g( c_ d_ e_ f_ g_ h_ i_ i' i' 3, w/ d) `) B= u{ B= B= P~ ^{ j_ v{ z) z) z) w{ :! /{ l( z! G) */ z! *= }^ B) D) C) C) k_ d^ M] M] @_ l_ m_ n_ .- +- +- @- @- @- [; #- #- #- $- $- $- %- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( o_ N@ N@ N@ N@ N@ N@ 6# f, L> D# q+ p_ ^ ^ ^ ^ > . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . q_ ^ ^ ^ ^ ^ r_ s_ g^ N^ !( T> T> T> T> T> T> D/ t_ :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] K{ h; h; h; h; H' <] ,~ ,~ ,~ ,~ h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' H' ^' ^' ^' Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' H' Q; Q; Q; Q; /) /) /) /) /) /) /) /) /) /) /) /) Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ (' (' (' (' (' (' (' u_ }= -_ T; a= v_ v> w_ /( >_ (( /! H/ `> `> /, g/ g/ -; m= ;; ;; Z; x_ w) k, B( B( I/ y_ y_ 8{ 8{ 8{ 8{ I/ I/ I/ I/ I/ I/ I/ I/ I/ I/ z_ w] t^ T^ Y^ W^ // k/ N/ N/ )_ l/ !_ !_ ]_ ]_ ]_ ]_ ]_ {_ A_ A_ A_ A_ A_ B_ C_ D_ 4) E_ F_ G_ H_ I_ J_ K_ L_ M_ N_ Q( k/ i/ R( U^ O_ P_ 6_ Q_ +( . 9_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ a_ @/ S_ Z( .( T_ c_ _ U_ V_ W_ X_ Y_ i' i' ]; w/ d) `) B= u{ B= P~ @' ^{ z) v{ z) z) z) :! '^ A) l( z! A) */ *= Y] 7{ B) C) C) 0{ C) Z_ M] @_ @_ l_ `_ : .: +- @- @- @- @- [; #- #- $- $- $- $- %- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- k- k- l- l- m- m- m- m- o- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( +: M@ N@ N@ N@ N@ N@ N@ 4% O+ I@ m+ @: #: ^ ^ ^ ( ) . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . 5 ^ ^ ^ ^ $: c/ %: &: ## T> T> T> T> T> T> T> *: :] :] :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] :] h; h; h; h; H' <] ,~ ,~ ,~ ,~ h; h; h; h; h; H' H' H' H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> /) /) /) /) /) /) /) /) /) /) Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ q> (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ (' (' (' (' (' (' (' (' () -_ T; a= v_ v> w_ /( >_ (( /! H/ `> `> /, l= g/ -; {/ ;; ;; Z; x_ =: -: B( B( y_ y_ y_ y_ 8{ 8{ 8{ I/ I/ I/ B( I/ I/ I/ I/ I/ I/ 7{ w] T^ Y^ W^ // k/ M/ M/ )_ N/ N/ ]_ ]_ ;: ;: ]_ >: >: >: ,: ': ': ': ': ): !: ~: {: ]: ^: /: (: _: :: <: [: }: |: 1: 2: M/ Q( ^/ U^ O_ 3: 4: 5: +( . 6: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: a_ @/ S_ Z( .( T_ c_ _ U_ 8: W_ 9: 0: a: 3, b: w/ d) $> u{ B= B= P~ ]{ ^{ v{ v{ z) '^ w{ :! H) A) l( G) */ z! *= }^ 7{ D) C) C) 0{ F) F) @_ @_ l_ `_ `_ `_ c: d: #- @- @- [; #- #- $- $- $- $- %- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- >- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 8- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- v- w- x- x- y- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: f: N@ N@ N@ N@ N@ N@ N@ c# B$ b+ g: h: ^ ^ ^ ^ ' . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B@ ^ ^ ^ ^ i: j: k: @@ _^ T> T> T> T> T> T> T> l: :] :] :] :] :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] :] h; h; h; h; H' <] <] ,~ ,~ ,~ ,~ h; h; h; h; H' Q; H' H' H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' ^' ^' Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> W> W> W> W> /) /) /) Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ q> q> q> q> q> q> Z~ Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' (' (' (' {= }= T; a= a= a= v> c= V; (( /! H/ `> m, /, l= g/ -; w) ;; ;; Z; x_ s; W! B( B( y_ y_ y_ y_ 8{ 8{ 8{ 8{ B( B( B( B( I/ I/ I/ I/ I/ I/ m: Y^ W^ // k/ M/ M/ 1( N/ !_ !_ ]_ ;: n: A_ o: p: q: q: r: s: s: s: q: t: u: v: w: x: y: ^: z: A: A: B: C: D: E: F: G: H: M/ I: ^/ U^ J: U! K: 5: +( . 6: y: y: y: y: y: y: y: y: y: y: L: @/ M: Z( .( T_ c_ _ N: 8: O: 9: P: Q: R: d) d) B= B= u{ B= B= P~ ^{ y) v{ z) z) z) w{ '^ S: l( z! G) */ z! Y] 7{ B) D) C) C) 0{ T: 0{ _( U: `_ `_ `_ c: c: l_ V: W: [; #- #- #- $- $- $- %- &- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- {- {- ]- ]- ]- ]- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- a- a- b- b- b- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: Y: N@ N@ N@ N@ N@ N@ N@ :@ J^ )% <. Z: ^ ^ ^ ^ - . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . `: ^ ^ ^ ^ < U] '! .< !( T> T> T> T> T> T> T> +< :] :] :] :] :] :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] :] h; h; h; h; h; H' <] ,~ ,~ ,~ ,~ h; h; h; h; H' H' Q; H' H' H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' ^' ^' ^' W> W> Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; Q; W> W> W> W> /' /' /' @< @< @< Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ q> q> q> q> q> q> Z~ Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ S; T; a= a= a= v> /( V; (( /! `> `> m, /, l= g/ -; w) Y; Y; #< s= $< t; z! B( y_ y_ y_ y_ 8{ 8{ k, k, B( B( B( B( I/ y_ y_ y_ I/ I/ == `] // // k/ M/ 1( 1( %< !_ ]_ ]_ n: A_ &< ': *< *< *< s: s: s: r: =< -< ;< >< ,< '< )< )< ^: !< ~< {< ]< B: ^< D: /< (< X_ _< :< X, << [< }< K: |< 1< . 2< )< )< )< )< )< )< )< )< )< )< L: @/ Y( 3< .( T_ c_ _ N: 8: O: 4< P: Q: Q: Y! 5< B= B= u{ B= P~ @' ;] z) v{ z) z) z) :! H) A) l( G) 7{ z! Y] E) 7{ B) C) C) 0{ F) F) 0{ _( 6< `_ `_ 7< c: l_ l_ l_ 8< 9< #- #- $- $- $- $- %- &- &- *- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: 0< M@ N@ N@ N@ N@ N@ N@ 0# O+ Q] a< b< ^ ^ ^ ^ : . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . a/ ^ ^ ^ ^ c< d< *_ e< .# T> T> T> T> T> T> T> f< {( F/ :] :] :] :] :] :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] :] K{ h; h; h; h; H' <] ,~ ,~ ,~ ,~ ,~ h; h; h; h; H' Q; Q; H' H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' ^' ^' ^' ^' W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> /' /' /' /' /' /' /' /' @< @< @< Z~ Z~ Z~ Z~ Z~ Z~ Z~ Z~ g< g< g< g< g< g< g< p> Z~ Z~ Z~ Z~ Z~ (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ ~/ u> T; a= a= v> /( V; (( h< m, m, i< j< r; , m= w) Y; Z; x_ s= $< t; u; 8{ y_ y_ y_ y_ k, k, k, k, B( B( B( B( y_ y_ y_ y_ I/ I/ I/ k< // // k/ 1( 1( %< %< ]_ A_ A_ o: ': q: q: *< s: s: s: l< s: s: m< n< o< a] p< q< r< r< r< s< t< u< v< w< x< y< z< A< B< C< D< E< E< E< F< }< K: 5: G< . H< r< r< r< r< r< r< r< r< r< r< I< @/ Y( 3< .( T_ c_ _ N: J< O: 4< P: Q: Q: Q: Q: e) u{ B= _! P~ K< ;] v{ z) z) '^ w{ '^ H) l( z! G) */ s] L< P{ B) D) C) C) _( T: 0{ _( _( 6< M< 7< 7< l_ l_ l_ l_ `_ N< 9< $- $- $- $- %- &- &- &- *- *- =- =- =- -- -- ;- >- >- >- >- >- ,- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< P< N@ N@ N@ N@ N@ N@ N@ i# i^ D# Q< R< ^ ^ ^ ^ S< . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . A@ ^ ^ ^ ^ T< U< V< W< T> T> T> T> T> T> T> X< n( {( {( F/ :] :] :] :] :] :] :] :] {( {( F/ F/ :] :] :] K{ :] :] :] <^ <^ <] <] <] <] :] :] :] :] :] K{ h; h; h; h; H' H' <] ,~ ,~ ,~ ,~ ,~ h; h; h; H' H' Q; Q; H' H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' ^' ^' ^' ^' ^' W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> /' /' /' /' /' /' /' /' /' @< @< @< Z~ g< g< g< g< g< g< g< g< p> p> p> p> p> p> (' (' (' (' (' (' ~/ ~/ ~/ ~/ ~/ ~/ ~/ Y< a= a= v> /( V; y( /! m, m, i< j< m= , m= ;; Y; Z; x_ s; $< > D> s, B( Z< Z< Z< Z< k, k, k, k, B( B( B( y_ y_ y_ y_ I/ I/ I/ I/ U, k/ 1( !_ %< 2( ~_ A_ ,: o: `< q: q: [ [ .[ .[ .[ +[ +[ +[ [ @[ #[ $[ %[ &[ *[ *[ *[ *[ s< =[ -[ ;[ >[ c_ ,[ '[ )[ ![ ~[ {[ ][ E< E< ^[ /[ K: 5: G< . H< *[ *[ *[ *[ *[ *[ *[ *[ *[ *[ I< @/ Y( ( .( T_ ~< ([ _[ J< O: :[ <[ Q: Q: Q: Q: e~ e) _! P~ [[ ;] y) v{ z) z) z) '^ H) z! l( z! G) z! Y] }[ 7{ B) C) C) _( F) _( 0{ _( _( 6< E< |[ l_ l_ l_ l_ `_ `_ `_ 1[ 2[ $- $- %- &- &- &- *- *- *- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 2- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 0- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- k- k- l- l- m- m- m- m- o- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< O< 3[ N@ N@ N@ N@ N@ N@ 9# P+ I+ 4[ 5[ ^ ^ ^ ^ : . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . 6[ ^ ^ ^ ^ 7[ 8[ 9[ ;@ @# T> T> T> T> T> T> T> 0[ {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ :] :] :] K{ K{ :] :] <^ <^ <] <] <] <] :] :] :] :] :] :] K{ h; h; h; H' H' <] ,~ ,~ ,~ ,~ ,~ ,~ h; h; h; H' Q; Q; Q; Q; H' H' H' H' H' H' H' H' ^' ^' ^' ^' ^' ^' ^' ^' ^' ^' W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> W> /' /' /' /' /' /' /' p> p> p> p> p> p> p> g< p> p> p> p> p> p> (' (' (' (' (' p> a[ a[ ~/ ~/ ~/ ~/ ~/ ~/ k, a= a= v> /( V; >_ /! m, m, m, j< m= , {/ ;; Y; Z; x_ s; $< > u; +> H) Z< Z< Z< Z< k, k, k, k, B( B( B( B( y_ y_ y_ I/ I/ I/ I/ I/ b[ !_ c[ 2( ~_ n: d[ o: `< `< [ [ e[ e[ +[ +[ f[ f[ g[ h[ i[ j[ k[ l[ m[ n[ o[ o[ o[ o[ o[ s< p[ q[ r[ >[ {< s[ C: t[ J< K: u[ v[ w[ E< ^[ /[ K: x[ G< . y[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ I< @/ Y( ( .( T_ ~< ([ _[ 8: z[ A[ B[ Q: Q: Q: Q: e~ Z_ Q~ [[ [[ ;] '^ C[ S: Y] H) '^ H) A) z! G) 7{ s] L< F) B) D) C) F) _( _( 0{ _( I/ _( 6< D[ y_ `_ l_ l_ `_ `_ `_ `_ E[ F[ 2[ $- %- &- &- *- *- *- =- =- =- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- E- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ H[ N@ N@ N@ N@ N@ N@ N@ I[ z, h+ *! J[ ^ ^ ^ ^ 3 . . . . . . . . . . . . . ", +". . . . . . . . . . . . @ . . . ~ ^ ^ ^ ^ K[ o) L[ M[ T> T> T> T> T> T> T> d/ :] :] {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ :] :] :] K{ K{ :] :] <^ <^ <^ <] <] <] :] :] :] :] :] :] K{ h; h; h; h; H' H' ,~ ,~ ,~ ,~ ,~ ,~ ,~ h; h; h; H' Q; Q; j, N[ O[ P[ P[ P[ Q[ N[ H' H' ^' ^' ^' ^' ^' ^' ^' ^' ^' ^' W> W> <] Q[ P[ R[ S[ T[ U[ V[ W[ X[ S[ S[ R[ Q[ h; W> W> W> W> W> p> p> p> p> p> p> p> p> p> a[ a[ a[ a[ a[ a[ a[ a[ Y[ Z[ `[ } X[ .} +} +} @} @} #} $} %} `[ &} *} =} v> /( V; >_ /! m, m, m, j< m= m= {/ ;; Y; Z; x_ s; x_ > +> +> D> 8{ Z< Z< Z< k, k, k, k, B( B( B( -} y_ y_ y_ y_ I/ I/ I/ I/ s] E( !_ ~_ n: ,: r: `< `< q: *< e[ g[ g[ f[ g[ g[ g[ ;} >} ,} '} )} !} ~} {} ]} ]} ]} ]} ]} ]} s< ^} r[ r[ >[ {< A: /} (} _} :} <} [} }} ^[ |} /[ K: x[ 1< . 1} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} 2} @/ 3} ( .( T_ ~< ([ 4} 8: 5} 6} 7} <[ Q: Q: e~ |[ 8} 9} 0} a} a} b} c} c} d} e} f} U: g} E) G) s] L< E) 7{ B) C) C) _( 0{ _( 0{ I/ _( 6< D[ D[ ]' h} l_ l_ `_ `_ `_ E[ E[ E[ F[ i} &- &- *- *- *- =- =- =- -- -- ;- >- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- }- }- }- |- |- 1- 2- 2- 2- 2- 2- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- g- h- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- p- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- z- A- A- B- B- C- C- v* D- D- D- D- E- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> I> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: O< O< G[ G[ j} N@ N@ N@ N@ N@ N@ k} n# I@ n+ l} ^ ^ ^ ^ $ . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . a/ ^ ^ ^ ^ m} n} v( ;@ ;~ T> T> T> T> T> T> T> o} :] :] :] {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ :] :] :] K{ K{ :] :] :] <^ <^ <] <] <] :] :] :] :] :] :] K{ K{ h; h; h; H' H' H' ,~ ,~ ,~ ,~ ,~ ,~ ,~ ,~ p} S[ q} r} s} t} t} t} t} s} u} v} X[ w} Q[ ^' ^' ^' ^' ^' ^' ^' ,~ x} T[ V[ y} z} A} A} B} C} D} D} D} E} F} G} H} u} I} P[ :] p> p> p> p> p> p> p> p> p> a[ a[ a[ a[ a[ a[ a[ a[ F/ J} .} u} K} L} -[ M} N} O} P} Q} R} S} T} U} V} W} X} Y} Z} `} | .| +| @| x) #| ~~ $| %| K] &| *| N~ E^ =| -| u; +> ;| Z< Z< Z< k, k, k, k, -} -} -} -} y_ y_ y_ Z< I/ I/ I/ I/ I/ >| ,| ,| A_ r: s: `< q: *< *< g[ g[ '| f[ )| !| i[ ~| {| ]| ^| /| (| _| :| <| <| <| <| <| <| <| [| ^} r[ }| .( || 1| 2| 3| E: 4| 5| 6| [} [} 7| /[ (< x[ 1< . 8| <| <| <| <| <| <| <| <| <| <| 2} @/ 9| ( .( T_ ~< 0| _[ V_ 5} a| b| c| d| e| 7} f| g| h| i| j| k| l| m| n| o| p| q| r| s| t| u| v| 0{ F) B) D) C) F) _( _( F) _( I/ _( E< D[ ]' E< D[ w| `_ `_ `_ `_ E[ E[ E[ l_ x| y| &- *- *- =- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- (- (- _- _- _- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- |; e- e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- B; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ z| 6# N@ N@ N@ N@ A| A| B| L+ =' C| D| ^ ^ ^ / $ . . . . . . . . . . . . ", +". . . . . . . . . . . + . . . 5 ^ ^ ^ ^ E| F| H^ n^ T> T> T> T> T> T> T> G| F/ :] :] :] :] {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ :] :] :] K{ K{ :] :] :] <^ <^ <] <] <] <] :] :] :] :] :] :] K{ K{ h; h; h; H' H' H' ,~ ,~ ,~ H| I| J| K| L| M| L} L} N| O| L} P| P| Q| R| S| F} s} T| R[ U| ^' ^' U| V| W| X| Y| Z| `| . . . . `| 1 .1 +1 @1 #1 $1 %1 &1 *1 t} =1 -1 K{ p> p> p> p> a[ a[ a[ a[ a[ a[ a[ a[ Z~ Q[ $} ;1 >1 ,1 '1 . . . . . . . . )1 !1 ~1 {1 ]1 U} ^1 /1 (1 _1 :1 <1 [1 }1 |1 11 21 31 41 51 61 61 71 81 91 91 01 a1 b1 Z< Z< k, B( B( B( -} -} -} -} y_ Z< Z< Z< I/ I/ I/ I/ I/ I/ c1 ]_ ': s: s: d1 e1 f1 g1 h1 @[ i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 v1 v1 v1 v1 v1 v1 v1 [| w1 x1 }| .( y1 1| A: C: )[ x[ 5} <} z1 A1 /[ 6| B1 C1 +( . 8| v1 v1 v1 v1 v1 v1 v1 v1 v1 v1 D1 @/ E1 ( .( T_ ~< 0| _[ V_ :} a| F1 G1 H1 I1 J1 . . . . . . K1 L1 M1 N1 O1 P1 Q1 R1 S1 9: T1 U1 V1 _( C) F) _( 0{ _( 0{ I/ _( _( D[ D[ ]' D[ D[ ]' U: `_ `_ E[ E[ E[ W1 `_ `_ X1 Y1 *- *- =- =- -- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ]- ^- /- /- /- (- (- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- |- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- y- z- z- z- A- A- B- B- C- C- v* v* D- D- D- D- F- G- G- G- G- G- G- H- H- H- H- H- 2; B; C; C; C; C; *> => => b> b> H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ G[ Z1 (] N@ N@ N@ N@ A| A| `1 2 I@ .2 +2 ^ ^ ^ ^ R- . . . . . . . . . . . . ", +". . . . . . . . . . . . . . 6[ ^ ^ ^ ^ @2 #2 $2 ;@ &# T> T> T> T> T> T> T> +! F/ :] :] :] :] :] {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ :] :] :] K{ K{ :] :] :] <^ <^ <^ <] <] <] :] :] :] :] :] :] K{ K{ h; h; h; H' H' H' H' <] %2 . . . . . . . . . . . . . &2 *2 =2 %1 -2 F} s} ;2 >2 ,2 '2 )2 . !2 ~2 {2 ]2 ^2 /2 (2 _2 :2 <2 [2 . }2 |2 12 22 32 $1 &1 42 52 62 H' a[ a[ a[ a[ a[ a[ a[ a[ p> Q; ;2 ]< 72 + . 82 92 02 3 ,3 '3 )3 B1 !3 ~3 t| {3 ]' _( _( F) I/ I/ _( D[ D[ ]' ]3 D[ ]' ]' ^3 `_ E[ E[ E[ E[ W1 `_ `_ E[ /3 (3 =- =- =- -- -- ;- >- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- ]- ]- ]- ]- ^- ^- /- /- (- (- _- _- :- :- :- :- <- <- <- [- [- [- }- }- |- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 8- 9- 9- 9- 9- 0- 0- a- b- b- b- c- c- d- d- d- d- e- e- e- f- f- f- g- h- h- i- i- i- j- j- k- k- l- m- m- m- m- n- o- p- p- p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- A- A- A- B- C- C- C- v* D- D- D- D- E- F- G- G- G- G- G- H- H- H- H- H- H- 2; B; C; C; C; *> *> => => b> b> H> H> I> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 _3 8# N@ N@ N@ A| A| A| B| B$ h+ :3 <3 ^ ^ ^ / ) . . @ . . . . . . . . ", +". . . . . . . . . . . . . . : ^ ^ ^ ^ [3 }3 g^ |3 T> T> T> T> T> T> T> 13 F/ F/ F/ :] :] :] :] :] {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ F/ :] :] :] K{ K{ :] :] <^ <^ <^ <] <] <] :] :] :] :] :] :] :] K{ K{ h; h; h; H' <] W[ 23 . a_ (2 (2 (2 (2 (2 (2 (2 (2 (2 ]2 . 33 43 53 63 73 83 93 03 a3 . b3 2} c3 d3 e3 e3 e3 e3 e3 e3 e3 e3 e3 f3 p> :] @1 m3 . n3 |~ o3 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 p3 z^ ~2 . '1 q3 r3 s3 . . . . . . . . . . . . . . t3 u3 v3 w3 x3 5| V} %} *} B( -} -} -} -} -} Z< Z< Z< Z< I/ x2 x2 x2 x2 x2 y3 s: d1 z3 q: A3 B3 . . . . . . . . . . . . . . C3 p3 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 [| . . . . . . . . . . . . . . . . . . . . (2 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 D1 @/ #3 ( .( T_ ~< ([ D3 E3 . b3 92 F3 G3 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 H3 I3 J3 . K3 L3 M3 N3 O3 P3 Q3 R3 {[ |} _( == I/ _( [< D[ D[ ]3 D[ D[ ]' ]' F< w| E[ E[ E[ W1 `_ P: P: S3 T3 U3 V3 >- ,- -- ;- ;- >- >- >- >- ,- '- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- }; {- {- ]- ]- ]- ^- ^- /- /- /- (- _- _- _- :- :- :- <- <- <- <- [- [- }- }- }- |- 1- 1- 2- 2- 2- 2- 3- 4- 5- 5- 5- 5- 5- 5- 6- 6- 6- 6- 6- 6- 7- 9- 9- 9- 9- 9- 0- a- a- b- b- c- c- c- d- d- d- |; e- e- f- f- f- f- h- h- h- i- i- j- j- j- k- l- l- m- m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- A- A- B- B- C- C- F- F- *, *, *, G- W3 F- G- G- G- G- G- H- H- H- H- C; H- B; C; C; C; C; *> *> => b> b> b> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 L[ N@ N@ A| A| A| A| k} X3 }+ I* Y3 ^ ^ ^ ^ > . . . . . . . . . . . ", +". . . . . . . . . . . . . B+ / ^ ^ ^ Z3 `3 (^ =@ @# T> T> T> T> T> T> T> 4 F/ F/ F/ F/ :] :] :] :] N[ {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( F/ F/ :] :] :] K{ K{ :] :] :] <^ <^ <^ <] <] <] :] :] :] :] :] :] K{ K{ K{ K{ h; .4 42 ,2 . 6! +4 +4 +4 +4 +4 +4 +4 +4 +4 @4 . #4 %2 $4 %4 &4 *4 '2 . =4 (2 -4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 ;4 a2 92 . }2 >4 43 R| ,4 '4 )4 V[ X[ w} :] Q; Q; {( C} !4 . t1 y[ ~4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 {4 ]4 . ^4 /4 . ] (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 _4 . :4 <4 [4 }4 |4 S} V} 14 ~/ -} -} 24 24 Z< Z< Z< Z< x2 x2 x2 x2 x2 x2 x2 34 d1 z3 s: 44 54 . j{ (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 M2 64 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 G3 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 74 . 84 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 94 @/ 04 3< .( T_ a4 b4 . c4 ] d4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 (4 2< e4 . f4 g4 h4 i4 j4 k4 ~[ /[ l4 24 I/ [< [< ^[ V1 m4 n4 o4 p4 q4 r4 r4 4< s4 t4 4< u4 v4 w4 x4 x4 y4 z4 A4 B4 C4 D4 E4 E4 E4 C4 F4 G4 C4 C4 C4 C4 C4 C4 H4 I4 I4 I4 I4 J4 J4 K4 K4 L4 L4 L4 M4 L4 N4 N4 N4 O4 O4 P4 P4 P4 Q4 Q4 Q4 R4 Q4 Q4 S4 S4 S4 S4 S4 T4 T4 U4 V4 W4 W4 W4 W4 X4 Y4 Z4 Z4 Z4 Z4 Z4 `4 `4 `4 5 5 5 `4 `4 .5 .5 .5 .5 +5 +5 @5 #5 #5 $5 .5 .5 %5 %5 5 5 .5 &5 &5 y* t* t* *5 =5 =5 -5 -5 ;5 m- m- k- k- l- l- m- m- m- m- o- p- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- z- z- z- A- >5 ,5 '5 )5 !5 ~5 {5 ]5 ]5 ]5 ^5 ]5 ]5 ]5 /5 /5 /5 /5 (5 (5 (5 (5 (5 _5 :5 :5 (5 (5 (5 _5 <5 [5 }5 &, H> H> H> I> I> &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< G[ G[ G[ Z1 Z1 Z1 |5 A| N@ A| A| A| A| A| I[ i^ A, 15 a$ ^ ^ ^ ~ . . . . . . . . . . . ", +". . . . . . . . . . . . . B@ ^ ^ ^ ^ 25 u( 35 N^ T> T> T> T> T> T> T> 45 {( {( F/ F/ F/ F/ :] :] :] :] N[ {( {( {( {( F/ :] :] :] :] :] :] :] :] {( {( {( {( F/ :] :] :] K{ K{ K{ :] :] <^ <^ <^ <] <] <] :] :] :] :] :] :] :] K{ K{ 62 t} 55 65 . J! ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 75 . 85 95 05 a5 b5 c5 . a_ u1 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 d5 e5 f5 g5 h5 J| i5 j5 k5 t} X[ X[ X[ T| O} '1 l5 m5 @4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 n5 1} o5 p5 . q5 d3 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 n[ r5 s5 t5 u5 v5 w5 x5 S} y5 14 24 24 24 Z< Z< Z< Z< x2 x2 x2 x2 x2 x2 x2 x2 z5 A5 +[ B5 C5 D5 E5 F5 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 G5 . H5 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 94 @/ I5 f( J5 K5 !} L5 m5 G3 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 M5 ] [2 J1 N5 O5 P5 Q5 R5 S5 T5 U5 k4 V5 W5 X5 Y5 Z5 `5 `5 `5 6 6 6 6 .6 .6 .6 +6 @6 @6 .6 #6 $6 #6 %6 &6 *6 =6 =6 =6 =6 =6 =6 =6 -6 -6 -6 -6 -6 -6 ;6 >6 >6 >6 >6 >6 ,6 '6 '6 '6 '6 '6 )6 )6 )6 )6 !6 !6 ~6 ~6 ~6 {6 {6 {6 ]6 ]6 ]6 ]6 ^6 ^6 /6 /6 /6 (6 _6 _6 :6 :6 :6 :6 <6 [6 [6 [6 [6 [6 [6 [6 }6 }6 }6 }6 }6 }6 }6 |6 |6 |6 |6 |6 |6 16 |6 26 26 36 36 36 46 46 56 66 66 66 66 66 66 76 86 96 96 06 a6 b6 b6 b6 c6 d6 e6 f6 m- m- m- n- o- p- p- p- p- p- q- r- r- r- r- r- 1; s- s- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- z- z- g6 h6 i6 j6 k6 l6 m6 n6 o6 o6 o6 p6 q6 r6 r6 s6 t6 t6 t6 s6 s6 u6 u6 v6 w6 x6 y6 y6 z6 z6 A6 B6 C6 D6 E6 F6 G6 p' I> I> I> 8, 8, 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 Z1 Z1 H6 ;) N@ A| A| A| A| A| I6 O+ q# J6 K6 ^ ^ ^ ^ S< . . . . . . . . . . ", +". . . . . . . . . . . . . ! ^ ^ ^ ^ L6 l^ {) M6 T> T> T> T> T> T> T> N6 {( {( {( F/ F/ F/ F/ :] :] :] :] N[ {( {( {( {( F/ F/ :] :] :] :] :] :] :] :] {( {( {( F/ F/ :] :] :] K{ K{ :] :] <^ <^ <^ <^ <] <] <] :] :] :] :] :] :] K{ O6 *1 P6 Q6 . C~ d3 d3 d3 d3 d3 d3 d3 d3 d3 f3 . R6 S6 T6 U6 . e4 {4 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 V6 W6 `| X6 Y6 Z6 `6 ;1 7 .7 +7 @7 #7 . $7 %7 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 c3 4) . . &7 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 l{ `| *7 =7 -7 ;7 >7 ,7 '7 U} )7 24 Z< Z< Z< Z< x2 x2 x2 x2 x2 x2 x2 x2 y_ !7 h[ ~7 o1 {7 . H< d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 G5 . H5 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 94 @/ ]7 ^7 /7 . (7 _7 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 :7 %[ <7 [7 z< }7 P5 |7 R5 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <7 27 37 47 47 57 67 77 87 m- m- n- p- p- p- p- p- p- q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- y- z- D- 97 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 07 a7 b7 c7 d7 e7 f7 g7 I> &, 8, 8, 8, w, w, w, p' q' q' q' =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 h7 A| A| A| A| A| A| A| i7 C$ j7 k7 ^ ^ ^ ^ } . . . . . . . . . . ", +". . . . . . . . . . . . a/ ^ ^ ^ ^ l7 m7 n7 s! O^ T> T> T> T> T> T> o7 {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( F/ F/ :] :] :] :] :] :] :] :] {( {( {( F/ F/ :] :] :] K{ K{ K{ :] :] <^ <^ <^ <^ <] <] :] :] :] :] :] :] r} p7 j3 q7 . C~ M5 M5 M5 M5 M5 M5 M5 M5 M5 r7 . s7 t7 u7 . {2 G3 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 v7 w7 . x7 y7 z7 A7 B7 C7 D7 I1 . P) d4 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 %7 E7 . &3 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 F7 . Q' G7 H7 I7 ;7 >7 J7 K7 L7 =_ Z< Z< Z< x2 x2 x2 x2 x2 x2 x2 24 y_ y_ M7 >} '} N7 O7 P7 Q7 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 R7 . S7 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 T7 @/ U7 V7 . W7 X7 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 Y7 Z7 . `7 3| z< `5 8 .8 . +8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 #8 . $8 %8 &8 *8 %8 =8 -8 ;8 p- n- o- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- G- >8 ,8 r5 '8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 02 . )8 !8 ~8 {8 ]8 B6 ^8 /8 (8 _8 &, 8, 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 :8 A| A| A| A| A| A| B{ a@ 9+ *! <8 ^ ^ ^ 1 . . . # . . . . . . ", +". . . . . . . . . . . . [8 ^ ^ ^ ^ }8 |8 ;/ _^ T> T> T> T> T> T> T> 18 {( {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( F/ F/ :] :] :] :] :] :] :] :] {( {( {( F/ F/ F/ :] :] K{ K{ K{ :] :] <^ <^ <^ <^ <^ <] <] :] :] :] :] r} $1 28 38 . j{ F5 F5 F5 F5 F5 F5 F5 F5 F5 48 . 58 68 . 78 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 r7 88 98 08 a8 Y6 Q} b8 c8 s1 C~ F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 d8 4) . G5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 2} s1 e8 f8 g8 h8 i8 j8 k8 l8 m8 Z< Z< x2 x2 x2 x2 x2 24 24 24 y_ y_ y_ n8 o8 p8 q8 . r8 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 &7 . ]2 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 T7 s8 t8 . (2 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 d4 u8 `| v8 w8 x8 ,[ y8 . z8 R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ 7: t1 A8 B8 B8 B8 C8 *8 D8 E8 F8 n- p- p- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- u- u- v- v- w- w- x- x- x- y- y- y- G- G8 H8 I8 }/ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ R_ W( . J8 K8 L8 M8 N8 O8 P8 b7 Q8 R8 q' 8, 8, 8, w, w, w, q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 S8 A| A| A| A| A| A| A| T8 &+ Y$ U8 ^ ^ ^ ^ > . . . . . . . . . ", +". . . . . . . . @ . . . .% ^ ^ ^ ^ V8 W8 =@ &# T> T> T> T> T> T> F' X8 {( {( {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] N[ {( {( {( F/ F/ :] :] :] :] :] :] :] :] :] {( {( {( F/ F/ :] :] :] K{ K{ K{ :] :] <^ <^ <^ <^ <^ <] :] :] :] r} $1 28 Y8 . ] n5 n5 n5 n5 n5 n5 n5 n5 n5 Q7 . . o5 C~ n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 &[ ,< )1 Z8 23 `8 9 L5 F3 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 y[ . .9 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 d8 . s5 +9 @9 g8 I7 #9 ,7 $9 %9 =_ x2 x2 24 24 24 24 24 24 24 y_ y_ y_ &9 *9 =9 -9 ;9 >9 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 /2 . ]2 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 ,9 . . y[ n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 {} w: }2 '9 x< ~< )9 . z8 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: y[ . !9 ~9 {9 ]9 ^9 /9 (9 _9 v- p- p- p- p- p- p- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- C- :9 <9 [9 . V6 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: 7: *[ c4 }9 |9 19 29 39 49 59 z6 s6 69 79 89 8, 8, w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 99 X: 4% A| A| A| A| A| 09 B| e@ H+ a9 P. ^ ^ ^ : . . . . . . . . . ", +". . . . . . . . . . . b9 ^ ^ ^ ^ c9 /^ d9 e9 T> T> T> T> T> T> T> f9 &} &} {( {( {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] N[ {( {( {( {( F/ :] :] :] :] :] :] :] :] :] {( {( {( F/ F/ F/ :] :] x{ g9 h9 i9 j9 k9 <^ <^ <^ <^ <^ <] :] r} $1 28 l9 . B] @4 @4 @4 @4 @4 @4 @4 @4 @4 (4 . -3 m9 @4 @4 @4 @4 @4 @4 @4 @4 @4 75 {} n9 a2 o9 p9 G3 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 ^2 . q9 r9 s9 L5 74 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 75 t9 . u9 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 :2 (| v9 A} x< g8 w9 x9 y9 z9 14 24 24 24 24 24 24 24 24 y_ y_ y_ y_ A9 B9 C9 . D9 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 E9 . W7 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 ,9 . 2< @4 @4 @4 @4 @4 @4 @4 @4 @4 F9 ^2 8| G9 92 T7 _2 S7 ]: @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 @4 9_ . H9 I9 u< J9 . K9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 48 r5 M9 N9 O9 P9 Q9 %8 R9 S9 T9 r- p- p- p- p- q- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- v- w- x- x- x- y- y- y- U9 V9 h6 W9 X9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 L9 R7 . Y9 Z9 `9 0 .0 +0 @0 #0 $0 P8 %0 &0 8, 8, w, w, w, p' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 L[ A| A| A| A| A| 09 I6 #~ E# *0 =0 ^ ^ ^ ] . . . + . . . . . ", +". . . . . . . . . . . } ^ ^ ^ ^ -0 U< ;0 >0 ,0 T> T> T> T> T> T> '0 &} &} &} {( {( {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] N[ {( {( {( {( F/ F/ :] :] :] :] :] :] :] :] :] {( {( F/ F/ F/ Y! )0 N= N= N= N= !0 :] <^ <^ <^ <^ <^ <^ u} $1 28 ~0 . B] 75 75 75 75 75 75 75 75 75 d4 {0 V6 75 75 75 75 75 75 75 d8 I3 e4 [2 . . . . . ]0 ^0 y[ {} 75 75 75 75 75 75 75 75 75 75 75 75 75 /0 . h3 o5 (0 75 75 75 75 75 75 75 75 d4 6! G9 92 _0 =4 :0 <0 [0 }0 o9 75 75 75 75 75 75 75 75 75 75 75 75 75 75 F9 |0 10 75 75 75 75 75 75 75 75 75 75 75 20 . 30 65 40 50 I7 60 70 80 T5 90 24 24 24 24 24 24 y_ y_ y_ y_ 00 a0 b0 c0 l5 d0 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 E9 . W7 75 75 75 75 75 75 75 75 75 75 T7 W( 75 75 75 75 75 75 75 48 74 e0 . . . . f0 s8 . . . {0 8| G3 75 75 75 75 75 75 75 75 75 75 75 75 f3 g0 I8 h0 i0 J5 . K9 )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< 94 l[ j0 k0 p ]9 ^9 l0 m0 n0 o0 p- p- p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- D- G8 p0 q0 . 6! )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< )< 10 r0 s0 t0 u0 v0 w0 x0 y0 z0 A0 B0 C0 D0 8, w, w, w, w, q' q' q' =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 E0 A| A| A| A| A| 09 09 f, '> F0 G0 ^ ^ ^ ^ > . . . . . . . . ", +". . . . . . . . . . . _ ^ ^ ^ ^ H0 I0 J0 ;~ ,0 ,0 T> T> T> T> _] )7 &} &} &} &} {( {( {( {( {( {( {( F/ F/ F/ F/ :] :] :] :] :] N[ {( {( {( {( F/ F/ :] :] :] :] :] :] :] :] :] {( {( {( K0 @! O= O= :; N= N= L0 K{ K{ <^ <^ <^ <^ <^ u} ]1 M0 N0 . #^ f3 f3 f3 f3 f3 f3 f3 f3 f3 48 Y7 f3 f3 f3 f3 f3 f3 F3 &3 . . O0 P0 Q0 R0 S0 T0 U0 V0 !} . W0 ]2 Q7 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 d4 X0 [2 E9 f3 f3 f3 f3 f3 f3 f3 d8 Y0 Z0 . . h3 `0 a .a `0 f0 . . +a 20 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 02 . u9 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 @a )2 #a $a '9 %a &a *a y9 =a -a 24 24 24 24 24 y_ y_ y_ y_ ]' ;a >a ,a s1 D1 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 ^2 . }0 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 x: f3 f3 f3 f3 f3 f3 r7 (2 'a . !} )a !a ~a {a ]a ]a ^a /a (a _a . Z7 :a f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 ^ ^ ^ ^ ' . . . . . . . . ", +". . . . . . . . . . 6[ ^ ^ ^ ^ qa ra '! N^ ,0 ,0 ,0 ,0 T> T> T> sa &} &} &} &} &} &} {( {( {( ta ua va {( F/ F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( {( F/ :] :] :] :] :] :] :] :] :] :] {( wa O= O= O= O= :; P= =_ K{ K{ K{ K{ K{ <^ <^ H} ]1 M0 38 . z^ G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 >9 a_ . xa ya za Aa Ba Ca Da Da Ea Fa Ga Ha Ia 1 . s< u1 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 7 J7 80 L7 90 24 24 24 y_ y_ y_ y_ ^[ ^[ Va Wa Xa . n9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 >9 :2 Ya Ya Ya Ya Ya Ya S7 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 D9 Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya &3 . @8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 n[ Za . `a #4 b .b +b @b #b $b %b %b %b %b #b U6 (| 4) c2 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 /0 . &b *b . m5 o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ v1 =b -b ;b >b p ,b 'b *8 D8 E8 )b p- p- q- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- y- !b p0 ~b . z8 o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ o[ T7 l5 {b ]b ^b /b fa t0 (b 19 _b A0 :b T> 3b {( &} &} &} &} &} 4b 5b 6b Y= X= 7b {( {( F/ F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( {( F/ :] :] :] :] :] :] :] :] :] 8b P= P= P= O= O= O= 9b :] K{ K{ K{ K{ K{ K{ K{ H} ]1 M0 38 . ./ 48 48 48 48 48 48 48 48 48 48 48 48 48 48 c3 3) . 0b ab bb cb db Ba eb fb gb hb hb hb ib ib jb kb . lb p3 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 c2 mb . nb ob pb Ga Ea Ea qb fb pb pb pb pb pb rb sb . `/ d4 48 48 48 48 48 48 48 48 48 48 48 92 . tb 48 48 48 48 48 48 48 48 48 48 48 ^: f0 ub vb ,2 wb i8 xb yb zb -a 24 24 y_ F< F< F< Ab Ab Bb Cb Db Eb w7 48 48 48 48 48 48 48 48 48 48 48 '8 . Fb Gb Gb Gb Gb . 0] 48 48 48 48 48 48 48 48 48 48 Z7 98 f2 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 Hb f5 f0 . 78 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 &7 :0 98 s7 Ib %b Jb Jb Kb Lb Mb r/ Nb Y( Y( Y( Nb Nb Ob Pb Qb c3 48 48 48 48 48 48 48 48 48 48 48 /2 . Rb Sb . Tb ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} Ub . Vb Wb Xb 5a Yb Zb `b c .c r- q- r- r- r- r- r- 1; s- t- t- t- t- u- v- v- v- w- x- x- x- y- y- y- z- >8 +c @c l5 >9 ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} Y7 . #c $c %c &c *c =c -c .0 ;c >c ,c 'c )c (5 w, w, w, p' q' q' q' =) =) h) h) l! l! .~ .~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa !c 8# A| A| 09 09 09 6# T+ :+ ~c {c ^ ^ ^ ^ B+ . . . . . . . ", +". . . . . . . . . . R- ^ ^ ^ ^ ]c W8 *@ ;~ T> ,0 ,0 ,0 ,0 ,0 o7 {( {( {( &} &} &} h] Z= <; X= X= ^c {( {( {( {( F/ F/ F/ F/ F/ :] :] :] :] :] N[ {( {( {( {( {( F/ :] :] :] :] :] :] /c S= P= P= P= P= O= O= (c F/ F/ F/ K{ K{ K{ K{ K{ _c k5 :c 38 . ./ Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 2< l5 Gb 7 |7 '7 gc 90 F< hc hc hc Ab Ab Ab -a ic jc . &7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 M2 kc v: lc mc nc oc pc . 0] Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Z7 qc rc sc tc uc uc uc uc vc ]a wc xc @b yc zc zc Jb .b Ac . 78 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Ub . Bc Cc r/ %b Jb %b r/ U7 Y( Dc S_ Ec Ec Fc Gc Ec Ec S_ Hc Ic Jc Kc Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 Q7 v7 Lc Mc Nc . Tb <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| {} . Oc Pc >b Qc Rc 'b *8 D8 E8 o0 q- r- r- r- r- r- s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- y- 9a Sc m6 (| ,9 <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| <| Y0 . Tc Uc Vc ^b Wc Xc Z9 Yc Zc #0 `c d .d +d w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d #d A| 09 09 09 6# 6# K@ G# $d D. ^ ^ ^ ^ > . . . . . . . ", +". . . . . . . . . . { ^ ^ ^ Z3 C/ %: s! T> T> T> ,0 ,0 ,0 ,0 %d {( {( {( {( &} &d *d Z= Y= <; X= =d {( {( {( {( {( Q[ F/ F/ F/ F/ :] :] :] :] :] :] {( {( {( {( {( F/ :] :] :] :] -d ;d Q= Q= Q= P= P= P= P= D[ F/ F/ F/ F/ :] K{ K{ K{ t} k5 63 N0 . d ,d ab Ba 'd )d bb !d ~d {d ]d ^d /d (d (d _d (d ^d :d ]d T> T> ,0 ,0 ,0 Td Ud {( {( {( Vd Wd Z= Z= Z= Y= Xd {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( {( {( :] :] :] Yd R= R= Q= Q= Q= P= P= Zd :] F/ F/ F/ F/ F/ F/ :] K{ t} k5 63 N0 . Y/ ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 `d . >d e .e 'd +e @e #e $e %e &e *e =e -e ;e ;e >e ;e ;e ,e 'e )e !e . #8 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 ~4 64 ~e . P0 {e ab Ba ]e ^e /e (e ]d ^d _e :e T> T> ,0 F' .f +f Ud {( @f #f Z= Z= Z= Z= Z= $f &} {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ :] :] :] :] :] :] {( {( {( {( {( F/ E/ U= R= R= R= Q= Q= Q= Q= %f :] :] :] F/ F/ F/ F/ F/ F/ &f R} 63 N0 . W( 64 64 64 64 64 64 64 64 64 64 Tb . A8 *f =f db ab -f ;f %e >f ,f 'f )f !f Z8 ~f ~f ~f {f ]f ^f /f (f ;e _f :f 64 64 64 64 64 64 64 64 64 64 64 p3 l{ . P0 [c Ba Ba ab T> T> `f +f +f +f Ud g `= `= Z= Z= Z= .g &} &} &} {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ F/ :] :] :] :] :] {( {( {( {( @f +g S= S= S= R= R= R= Q= Q= &) :] :] :] :] :] F/ F/ F/ F/ @g ]1 63 N0 . 9_ -4 -4 -4 -4 -4 -4 -4 -4 -4 :| . #g $g %g 'd &g *g $e }f =g -g ;g >g ,g 'g )g !g !g ,2 ~g 40 )g {g {f /f ]g . V6 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 o9 . ^g /g Ba Ba @e *g [f (g _g :g 8 Qg Rg w: 48 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 ;4 B] . Sg Tg Pe Ug Vg Wg Xg y0 ka #0 A0 Yg )c 89 w, w, w, p' q' q' q' =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Zg 09 09 6# 6# 6# 6# d# g% H+ `g ^ ^ ^ ^ > . . . . . . ", +". . . . . . . . . 1 ^ ^ ^ h C/ .h +h ,0 ,0 ,0 ,0 ,0 T> T> @h +f +f +f #h $h - `= `= Z= Z= %h &} &} &} &} &} {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ :] :] :] :] :] :] {( {( &h T= T= T= S= S= R= R= R= Q= *h :] :] :] :] :] :] :] <^ Q[ @g ]1 M0 N0 . 9_ p3 p3 p3 p3 p3 p3 p3 p3 p3 Kc . =h -h ;h ab !d >h &e ,h 'h )h !h ~h {h ]h ^h /h (h P| (h /h ^h _h :h {g g 1h ~h 2h 3h 4h 5h 6h 6h 7h 8h 9h 3g {g ^f 0h E7 u1 p3 p3 p3 p3 p3 p3 p3 p3 p3 E9 . ah . /2 p3 p3 p3 p3 p3 p3 p3 p3 p3 p3 u1 mb bh ch 8d Ta dh eh fh gh hh o4 Ab Ab F< v[ l8 ih ,< Y7 p3 p3 p3 p3 p3 p3 p3 p3 p3 p3 6! . jh kh lh mh nh oh ph qh . `/ p3 p3 p3 p3 p3 p3 p3 p3 p3 p3 q5 ng Y( r[ r9 rh yf yf yf yf yf yf yf yf yf yf yf sh sh th . `d p3 p3 p3 p3 p3 p3 p3 p3 p3 p3 ^0 !} uh vc $b U7 vh 08 Z( ;[ wh yg y1 c_ zg Ag 0| xh yh zh zh /} Ah Bh Ch Dh T_ Eh . Cd p3 p3 p3 p3 p3 p3 p3 p3 p3 p3 Fh Gh . Hh M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 ]: . Ih Jh Kh 4a 5a Lh i6 Mh Nh Oh r- 1; s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- ,5 0a Ph . G9 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 M5 X7 Qh l[ Rh Uc %c /b ga Sh Th Yc K8 M8 Uh ma .d h) w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Vh 09 09 6# 6# 6# 6# e> 0@ b+ C| Rd ^ ^ ^ b . . . . . . ", +". . . . . . . . 6[ ^ ^ ^ ^ Wh /^ Xh Yh Zh ,0 ,0 ,0 ,0 ,0 T> +< {( +f Vd `h - - - `= `= i {( &} &} &} &} &} &} {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ F/ :] :] :] :] :] h} .i T= T= T= T= S= S= S= R= R= e~ :] :] :] :] :] :] :] :] +i @i #i M0 r9 . 6: M2 M2 M2 M2 M2 M2 M2 M2 M2 p9 . $i %i )d &i %e >f *i =i -i ;i >i 4h ,i Y6 'i )i )i Q} )i !i 8g P| /h ~i {i . _4 M2 M2 M2 M2 M2 M2 M2 M2 M2 M2 ]i . [h db &g *g }f |f ^i /i (i _i :i 5h c Oi Uf Nd &0 w, w, w, w, q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Pi Qi 09 6# 6# 6# 6# 6# 6# Ri |+ Si Ye ^ ^ ^ 1 . . . . . . ", +". . . . . . . . Ti ^ ^ ^ ^ Ui B' Vi _^ Zh Zh ,0 ,0 ,0 ,0 D/ )7 &} {( Wi .- .- - - - `= g {( &} &} &} &} &} &} &} {( {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ :] :] :] :] y{ T= T= T= T= T= T= T= S= S= Xi K{ :] :] :] :] :] :] :] :] N[ &f #i Yi 38 . 2< v7 v7 v7 v7 v7 v7 v7 v7 v7 {} . Zi `i j >h .j +j /i !h ~h 3h @j #j $j %j &j {1 *j ;1 B7 {1 &j Q} 'i (h =j + 2} v7 v7 v7 v7 v7 v7 v7 v7 v7 v7 ]: . -j ;j !d }f |f >j )h ,j 2h 4h 'j }i )j !j ~j {j ]j ]j ^j /j (j #j 7 |7 S5 L7 .f hc |j y5 1j Qb _7 v7 v7 v7 v7 v7 v7 v7 v7 v7 v7 E9 . 2j 3j 4j 5j 6j 7j ph 8j 9j . a_ v7 v7 v7 v7 v7 v7 v7 v7 v7 v7 q5 mi Y( f( .( g( ~< A: 0j 0j 0j 0j Ag Ag Ag A: Ag Ag Ag aj . Ub v7 v7 v7 v7 v7 v7 v7 v7 v7 v7 :2 f2 bj xc le sf }| pi u< G< cj A: dj ^< ej ti V_ fj gj hj ij jj kj lj mj zh A: nj . r8 v7 v7 v7 v7 v7 v7 v7 v7 v7 v7 94 <7 . #8 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 -4 r5 5e n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 H< . oj pj qj rj sj tj &8 uj vj wj s- s- t- t- t- u- u- v- v- w- w- x- x- y- y- y- z- G- /5 a7 !} [0 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 n5 u8 s1 xj Uc %c yj fa Sh zj Aj Zc M8 Bj Yg 79 We w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Cj 6# 6# 6# 6# 6# 6# Y+ _+ ~c Dj ^ ^ ^ ^ . . . @ . . ", +". . . . . . . . B@ ^ ^ ^ ^ Ej {+ Fj .# Zh Zh Zh ,0 ,0 ,0 Gj +f &} Hj .- .- .- .- - - - @_ {( {( &} &} &} &} &} &} &} {( {( {( {( {( {( {( {( {( F/ F/ F/ F/ F/ F/ :] Ij V= V= U= T= T= T= T= T= T= T= Jj :] :] :] :] :] :] :] :] :] N[ &f R} 63 38 . H< u1 u1 u1 u1 u1 u1 u1 u1 u1 Y7 . Kj Ca Lj (g Mj /i Nj Oj Pj 3i Qj Rj Sj J7 0g ]1 80 80 80 Tj Uj {1 8e Vj /h J1 ~2 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 d8 . Wj j %e |f ^i Xj ,j 2h Yj Zj `j k .k +k @k #k #k #k @k $k .k /j %k 'j &k . z^ u1 u1 u1 u1 u1 u1 u1 u1 u1 Kc . *k =k s8 Qa u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 ne . -k ~f ;k >k ,k 70 ai zb q4 bi 'k )k . |~ u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 w7 L5 !k gi ~k ii kg {k ki ]k ^k . a_ u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 C3 mi 3} f( .( T_ ~< 2| /k /k (k ^< ^< ^< '[ _k _k _k _k yf . Ub u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 :2 f0 wc id #3 }| pi xg y1 h( d_ yh N: E: :k 5: :} P1 9 >9 >9 >9 >9 >9 >9 >9 >9 n[ . P0 .e qk rk sk tk uk vk 3i `j wk xk yk gh zk y5 %9 Cb Cb @g S} Ak *j A7 Y6 t< Z7 >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 2k . [h [c Bk ^i Ck Dk Ek 6h Zj Fk Gk Hk Ik Jk Kk Lk Mk Nk Ok Jk #k Pk ~j |i Qk . ne >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 Rk Sk Tk Uk . ^2 >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 Vk ca t< 5g Wk fc Xk Yk Zk 9e `k bg <} H1 l5 :a >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 l . .l +l @l #l 6j $l %l 8j &l *l . a_ >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 C3 mi 3} Z( .( T_ ~< )k /k 3| ,k 4} }7 $3 lj lj lj lj =l +( . r8 >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 :2 f0 -l vh 08 ;l rh >l h( Ag ^< N: ,l i4 B< f| n| 4< 'l )l !l u4 z1 O: 5: E: ~l {l ]l Qa >9 >9 >9 >9 >9 >9 >9 >9 >9 >9 Ig . . G9 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 v7 . . 0] f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 `/ s1 ^l /l (l _l :l ! al )@ Zh Zh Zh Zh Zh Zh ,0 bl +f cl @- @- +- +- .- .- .- dl +f Ud {( {( {( {( &} &} &} &} &} &} &} {( {( {( {( {( {( {( {( {( F/ F/ F/ el W= W= W= W= V= V= U= T= T= T= T= fl {( {( @f @f @f :] :] :] :] O[ &f R} 63 N0 . 1} Kc Kc Kc Kc Kc Kc Kc Kc Kc &[ . gl [c (g |h hl il jl kl ll ml nl ol pl H} X[ } {( +f +f -1 %9 ql @7 rl sl tl ~} Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc ul . Wj #e vl =i >g |g 3h wl (j xl yl zl Al Bl Cl Dl El Fl Gl Bl Hl Il .k (j Jl . _4 Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc gg Kl Ll Ml r0 Qa Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Tb . Nl ~f Ol Pl eh 70 ai ic Ql _[ s1 Rl Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc ^0 l5 Sl Tl Ul Vl Wl {k ki Xl ^k Yl . L: Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc C3 mi me Z( .( Zl h( )k xh _[ `l 8: N3 m .m .m .m +m J< +( . z8 Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc @m #m U7 od pi O} $m Eg A: 3| N: lj 5: O: %m 9: &m *m W1 P: P: =m e| z1 :} -m 4} xh ;m >m Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc ne . . I3 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 u1 . . [2 p9 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 c3 . ,m 'm 4k )m !m ~m {m =8 -8 ]m t- t- u- u- v- v- w- w- x- x- x- y- y- y- z- U9 V9 ^m . S7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 b2 o5 /m Ed Fd Gd /b =c (m (b 19 _b fk gk 'c _m h) w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi :m 6# 6# 6# 6# 6# 6# 0# 0@ 8+ 9 . 5) . '8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 48 Nm Om Pm Qm Rm Sm Tm Um Vm m0 Wm t- t- u- v- v- v- w- w- x- x- y- y- y- z- C- Xm Ym Zm ]0 >9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 kd . `m Oe Pe Qe n Se Xg Ni ;c >c O8 .n +n &0 w, w, w, w, q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Pi Pi Pi Pi @n 6# 6# 6# 6# 6# 6# 8# Ri 5+ #n $n ^ ^ ^ : . . . . . ", +". . . . . . . S< ^ ^ ^ ^ %n u( d9 E' Zh Zh Zh Zh Zh Zh &n +f *n @- @- @- @- @- +- +- =n +f +f +f +f +f Ud {( {( {( {( &} &} &} &} &} &} {( {( {( {( {( {( {( {( {( el W= W= W= W= W= W= W= W= V= V= U= T= 0e :] :] {( {( {( @f @f @f :] O[ &f $1 63 N0 . 8| {} {} {} {} {} {} {} {} {} F9 . -n *g 4m 5m ;n >n 5h ,n /j 'n )n !n ~n 90 H' H' H' H' H' H' H' 52 ql J7 A7 {n . F9 {} {} {} {} {} {} {} {} {} :a . ]n ;f vl =i ^n em /n Qj ]j (n _n :n I= I= I= I= I= I= I= I= :n hm o . j{ Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 :a r5 ,o kh um #l vm 'o )o !o ~o {o ]o ^o . I< Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 dn mi vh /o .( T_ ~< 0| )[ V_ F1 (o kn w| w| ][ mn rm J< +( . *3 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 [0 p5 Y( nn pi xe ri A: ^< 4} J< O: mn _o `_ `_ P: P: P: P: &d 0: 0: 0: s4 :o C1 )[ ;3 w: Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 (0 . . _2 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 (4 p9 . Zm T> Zh Zh Zh Zh #p $- #- #- #- #- [; @- @- $p +f &} &} &} +f +f +f +f +f +f Ud {( {( {( {( &} &} &} &} &} &} &} {( {( {( %p X= X= X= X= X= W= W= W= W= W= W= W= &p F/ F/ :] :] :] :] :] :] :] :] P[ +7 7 *p =p . 84 &[ &[ &[ &[ &[ &[ &[ &[ &[ F7 . Rn Sn Tn |h -p ;p >p #j ~j nl ,p P= N= W] H' 'p )p /c )p !p !p ~p {p ]p ^p /p . u9 &[ &[ &[ &[ &[ &[ &[ &[ &[ (p . `n ~d vl _p -i :p 6h

T> Zh Zh Cp Dp $- $- $- #- #- #- [; @- x| +f +f +f &} &} {( +f +f +f +f +f Ud {( {( {( {( {( &} &} &} &} &} &} {( cg Ep X= X= X= X= X= X= W= W= W= W= W= W= Fp F/ F/ F/ Gp 00 U: Hp Ip _< _< Jp Kp Lp Mp Np . H5 Vk Vk Vk Vk Vk Vk Vk Vk Vk '< . Rn #e (g |h >g Op Pj Pp Qp Rp Sp :; :; Tp H' Z_ Up Vp Wp Xp Yp Zp `p L_ q .q . tb Vk Vk Vk Vk Vk Vk Vk Vk Vk 20 . `n ;f vl _p -i 2h @j +q 8m #k @q N= K= K= K= K= K= K= K= K= K= Gl gm #q (j to &3 Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk D1 . |p uo $q %q &q s8 Qa Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk }/ . *q yg af a8 =q m[ d0 Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Y0 . -q ;q ie 7n >q ,q 'q )q !q Ho Io ~q {q . D1 Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Qh 1 ]q Z( .( Df ep j2 $3 C1 gp hp Mo |[ |[ ip 6| rm J< +( . Tb Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Ya p5 jp qf kp sh c_ )k ^< ^q :} /q (q &d &d P: P: P: 0: 0: 0: 0: 0: P: c| z1 hj _q ;3 :q Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk ^2 . ^ ^ ^ ^ * . . . . ", +". . . . . . . , ^ ^ ^ ^ n) W8 '@ ;~ ,0 ,0 T> T> Zh Fq Gq $- $- $- $- #- #- #- Hq Vd +f +f +f +f &} &} {( +f +f +f +f +f Ud {( {( {( {( {( &} &} &} &} &} &} Iq X= X= X= X= X= X= X= X= X= W= W= W= W= Jq F/ F/ cg Kq Lq Kq _< Mq Nq Oq Pq Qq Rq e! Sq . S7 F9 F9 F9 F9 F9 F9 F9 F9 F9 _7 . Rn #e (g |h >g :p >p Tq ml Uq Vq O= O= Wq Gp Xq Yq Zq Xp `q Xp r .r +r @r .q . G5 F9 F9 F9 F9 F9 F9 F9 F9 F9 Cd . `n ;f #r _p tk $r 'j `j 8m ol %r N= K= K= K= K= K= K= K= K= K= ro gm #q (j to &3 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 D1 . |p &r *r =r -r 3p . d5 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 6d r5 ;r Q6 40 >r . z8 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 V6 |0 ,r cd ig 'r )r !r ~r {r ]r ^r /r (r _r :r . D1 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 Qh Cp {$ tr $- $- $- $- $- #- #- ur +f +f +f +f +f +f &} &} {( {( +f +f +f +f +f Ud {( {( {( {( {( &} &} &} &} vr <; X= X= X= X= X= X= X= X= X= X= W= W= wr {( Gp xr Lq yr xr zr Nq Ar Br Cr Dr Er Fr Sq . ]2 q< q< q< q< q< q< q< q< q< x: . Rn *g (g |h Gr :p Hr Qj ]j Ir Jr O= O= Yd :] :] Kr `q Xp Yp Lr Mr Nr Or Pr Qr . &7 q< q< q< q< q< q< q< q< q< a2 . Rr o |f Sr tk Tr Ur `j [n Vr Wr L= L= L= L= L= L= L= L= L= L= ro gm xk Xr to +a q< q< q< q< q< q< q< q< q< q< 94 . Yr Zr `r =r s .s !} zq q< q< q< q< q< q< q< q< q< q< q< T7 `| +s @s }a w: ]i q< q< q< q< q< q< q< q< q< q< kd . #s $s ie 7n %s &s *s =s -s ;s >s ,s 's )s . 94 q< q< q< q< q< q< q< q< q< q< Qh s9 !s ~s r9 u< c_ Pl {s x[ ]s ^s /s |[ |[ /s Em O: }r +( . kd q< q< q< q< q< q< q< q< q< q< (s p5 3} 08 kp Df c_ _s 1r 8: O: mn =m P: P: P: P: 0: 0: 0: 0: P: P: P: c| pn ij vi ;3 :q q< q< q< q< q< q< q< q< q< q< om . :s uh 4r ~a [q 2q uh c Cq is +n D0 w, w, w, p' q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn ao xp xp js 6# 6# 6# 6# 6# 6# L@ a@ g$ ks ^ ^ ^ ^ % . . . . ", +". . . . . . . $ ^ ^ ^ ls =~ 9[ ms =# Zh ,0 ,0 ,0 Fq {$ $h &- %- $- $- $- $- #- ns `[ `[ +f +f +f +f +f &} &} &} {( +f +f +f +f +f +f {( {( {( {( {( &} &} M] Z= Y= <; <; X= X= X= X= X= X= X= X= X= W= )^ {( Xq _< Mq zr os Oq h' ps Br qs rs Er ss ts . ]2 d0 d0 d0 d0 d0 d0 d0 d0 d0 o9 . Rn *g (g us >g :p vs

t >t >t ,t ir Mf jr jr jr 't )t )t )t )t Mf Mf !t !t !t ~t ~t q0 q0 q0 q0 q0 as pp 6s 6s 6s {t q0 ir ir jr ]t ^t /t Kc u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 u1 5e Hb (t _t (l :t uq r% ^ ^ ^ > . . . . ", +". . . . . . . c ^ ^ ^ 5t 6t V] 7t O^ Zh Zh ,0 8t {$ {$ $- &- &- %- $- $- $- $- /3 `[ `[ `[ +f +f +f +f +f +f &} &} {( +f +f +f +f +f +f Ud {( {( {( {( {( 9t Z= Z= Z= Y= <; X= X= X= X= X= X= X= X= X= ua {( 0t Mq Mq at bt Ar ps ps ct dt et ft gt ht . W7 F7 F7 F7 F7 F7 F7 F7 F7 F7 V6 . Rn Sn (g us >g :p it %k jt kt lt P= P= mt e/ e/ nt Yp ot Lr pt qt rt st Es tt . /2 F7 F7 F7 F7 F7 F7 F7 F7 F7 ut . ]n ;f |f vt -i Tr kl wt Pk xt ,p M= M= M= M= M= M= M= M= M= M= yt gm zt At to +a F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 T7 . Yr Bt Ct %q Dt Et Ft !} Qa F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 [0 I8 Gt [2 %7 F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 `d . Ht Jb It Jt Kt &s q8 Lt Mt Nt :r _r Ot Pt Qt . T7 F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 Qh s9 Rt St Tt Ut `( Vt }7 C1 K: 6| /s |} |} n4 6| O: 8: +( . 02 F7 F7 F7 F7 F7 F7 F7 F7 F7 F7 u8 p5 Dc Wt kp Df c_ _s +t 8: O: mn kn P: P: P: 0: 0: P: P: P: P: P: P: c| u ,u ,u 'u vd rq )u . #^ :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| 2< . !u ~u 4k {u ]u xd i6 Ym Bn B- x- y- y- y- y- z- z- Ad p0 ^u . {4 :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| :| Gf . /u (u Vc Qe n _u Mi ck dk ek 8l .n d na w, w, w, w, q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp :u 6# 6# 6# 6# 6# 6# a# 0@ b+ v ,v 'v k0 3a Eb 5e Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Vk w: )v !v ~v {v _l ]v 2o ^v /v (v x- y- y- y- z- z- G- [5 _v Gb :v Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc Kc d0 0@ b+ 1v ~ ^ ^ ^ } . . . . ", +". . . . . . . ~ ^ ^ ^ 2v ra 3v 4v Zh Zh Zh Cp ]$ {$ V@ *- *- &- &- &- %- $- 5v 1u 1u 1u `[ `[ `[ +f +f +f +f +f +f &} &} &} {( {( +f +f +f +f +f &} {( =/ Z= Z= Z= Z= Z= Z= Z= Y= <; <; X= X= X= X= X= Vd {( 6v 7v Ar ps ps 4u 8v 4u 9v 0v av bv cv 9u . }0 _7 _7 _7 _7 _7 _7 _7 _7 _7 ]: . -n Sn (g dv Gr Op ev

w 6# 6# 6# 6# 6# 6# e> 0@ b+ ,w ! ^ ^ ^ A+ . . . . ", +". . . . . . . a$ ^ ^ ^ 'w )w d9 4v Zh Zh Zh Fq {$ {$ !# *- *- *- &- &- &- %- !w `[ `[ 1u 1u `[ `[ `[ `[ +f +f +f +f +f +f &} &} {( {( +f +f +f +f +f +f ~w `= `= Z= Z= Z= Z= Z= Z= Y= Y= <; X= X= X= )] {( {( 6v {w ]w ^w `, 3u 4u /w (w _w :w 7] i iu `j Wn ju xs N= N= N= N= N= N= N= N= N= N= ro Xn nv 9w to Z7 x: x: x: x: x: x: x: x: x: x: ,9 . pv qv ou %q 0w aw bw ru cw . j{ x: x: x: x: x: x: x: x: x: x: C~ Ya x: x: x: x: x: x: x: x: x: x: o9 dw h3 {a %b 7c ]d vg ew fw vv gw hw iw jw kw lw mw nw . ,9 x: x: x: x: x: x: x: x: x: x: Fu 8 >5 y- y- z- z- D- Ww Mh ;t 'a Vk Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Y7 Vk m[ Xw Nf Of Pf /b Qf Sh x0 .0 ;c M8 Uh Yw e7 89 w, w, w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp Zw 6# 6# 6# 6# 6# 6# 0# `w b+ x | ^ ^ ^ : . . . . ", +". . . . . . . r% ^ ^ ^ .x /^ d9 )( Zh Zh +x ]$ {$ {$ @x =- *- *- *- &- &- &- Lu `[ `[ `[ 1u 1u `[ `[ `[ `[ +f +f +f +f +f +f &} &} &} {( {( +f +f +f +f #x - `= `= Z= Z= Z= Z= Z= Z= Z= Y= Y= <; X= 6b {( {( $x ]w ^w `, 4u 9v %x %x &x *x =x 7] -x ;x . 78 o9 o9 o9 o9 o9 o9 o9 o9 o9 o3 . -n Sn }f >x >g Oj vs ,x 'x )x 1w R= R= R= !x Z[ ~x iv du {x ]x ^x /x (x _x 7w . om o9 o9 o9 o9 o9 o9 o9 o9 o9 c2 . :x o >f |h -i >i x >g Oj it Qj 'x )x &y S= S= R= *y F/ F/ =y ]x ]x -y ;y /x >y ,y 'y . 74 V6 V6 V6 V6 V6 V6 V6 V6 V6 u9 . )y o >f |h -i >i c Bj Yw )c (5 w, w, w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp xp Qi 6# 6# 6# 6# 6# 6# Py `w 0+ Vx 5 ^ ^ ^ | . . . . ", +". . . . . . . 1 ^ ^ ^ Qy /^ d9 E' Zh Zh Ry {$ {$ {$ Sy =- =- =- *- *- *- Ty &} &} `[ `[ `[ `[ `[ 1u 1u `[ `[ `[ `[ +f +f +f +f +f +f &} &} &} {( {( Uy .- - - - - `= `= Z= Z= Z= Z= Z= Z= Z= Z= n_ &} &} os 4u Vy (w Wy &x Xy .y Yy Zy `y z .z +z . '8 ]i ]i ]i ]i ]i ]i ]i ]i ]i :7 . -n Sn }f >x >g Oj it Qj @z #z ko S= S= S= $z Gp Gp %z -y -y -y &z *z =z -z ;z . F3 ]i ]i ]i ]i ]i ]i ]i ]i ]i u9 . >z qk ,z |h 'z $r )z

b Nz Oz q< Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk ]i n3 Pz !v Qz {v _l Rz Sz ^v 8a or z- z- 9a Tz Uz `| ,9 Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk Vk d5 . Vz Ii Ji Ki Li Wz (m Z9 Yc Zc Oi ]8 3t .d _8 w, w, w, p' q' q' =) =) h) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp Xz 6# 6# 6# 6# 6# 6# k~ N+ 0+ g: Yz ^ ^ ^ : . . . . ", +". . . . . . . 4 ^ ^ ^ Zz )w `z Xx Zh Cp ]$ {$ {$ {$ A -- =- =- =- *- *- .A +f &} &} `[ `[ `[ `[ `[ 1u 1u 1u `[ `[ `[ +f +f +f +f +f +f +f &} &} {( %p .- .- - - - - `= `= `= Z= Z= Z= Z= Z= Z= +A {( &} @A %x (w Wy #A $A %A &A *A y] =A -A ;A %y . `d d8 d8 d8 d8 d8 d8 d8 d8 d8 n9 . 3m Sn }f >x >g Oj it Qj @z #z 1w T= T= T= U= e/ Gp >A -y -y ,A 'A )A !A ~A ;z . N) d8 d8 d8 d8 d8 d8 d8 d8 d8 G5 . {A qk ,z |h 'z $r )z

B &x $A ,B .y &A 'B )B !B ~B {B ;A %y . `d 2k 2k 2k 2k 2k 2k 2k 2k 2k %7 . 3m #e %e ]B ^B /B it Qj @z #z (B T= T= T= T= S~ Gp ]w _B :B :B C 6# 6# 6# 6# 6# `1 %B `w b+ ,C 5 ^ ^ ^ } . . . . ", +". . . . . . . | ^ ^ ^ 'C =~ 3v 4v Zh J# ]$ ]$ ]$ ]$ Ry ;- -- -- =- =- =- =m )C +f +f +f &} &} `[ `[ `[ `[ `[ `[ 1u `[ `[ `[ `[ +f +f +f +f +f +f }m +- +- .- .- .- .- .- - - - - `= `= `= Z= Z= !C {( {( ~C {C Xy Yy .y 'B )B 'B 'B ]C ^C /C (C %y . d2 o3 o3 o3 o3 o3 o3 o3 o3 o3 (p . 3m #e %e -g ^B /B _C :C @z #z (B T= T= T= T= D Pj ,D 'D )D !D U= T= T= T= ~D Gp Gp ]x [C [C {D ]D ^D /D ;z . J! ul ul ul ul ul ul ul ul ul /2 . (D _D &e :D Gr 2h )z ll [n Vr fv Q= Q= Q= Q= Q= Q= Q= Q= Q= Q= 2C 2B [x )j #o C3 ul ul ul ul ul ul ul ul ul ul Rl . p Pp aD bD cD dD eD fD gD hD Db iD ^: ul ul ul ul ul ul ul ul ul ul 92 `| jD D] kD lD mD nD oD pD qD rD uC vC d) 9> sD tD uD vD . Y0 ul ul ul ul ul ul ul ul ul ul @a #m Dc x1 kp yf Dh A: 3| vi .m %m B[ P: P: ][ ][ P: P: P: P: P: P: P: zB a| m ti ;3 W0 ul ul ul ul ul ul ul ul ul ul #^ . wD yC DB zC xD Ta I7 eh qz S5 `k X8 m4 m4 m4 X8 X8 X8 EC EC EC kn _o _o _o yD _o _o x4 zD sn Az AD xx +a '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< E_ HA as Uv HC IC JC Cy 27 Dz BD KC CD a- b- b- b- c- c- d- d- d- d- |; e- e- e- f- f- f- g- h- h- h- i- i- j- MC b6 DD /9 ED FD ~9 `u . L: '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< Hh . GD 3k HD 4a ID l6 JD KD G8 LD Mh Hf p< V6 '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< '< n9 Qb MD Ed Fd Gd /b =c u0 Te }v Ue ND gk b7 79 OD w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp xp xp WC PD 6# 6# 6# 6# `1 `1 QD RD '% SD ( ^ ^ ^ > . . . . ", +". . . . . . . R- ^ ^ ^ TD n) .h UD VD ]$ ]$ ]$ ]$ ]$ ]$ WD ;- ;- ;- -- XD 1u 1u 1u 1u +f +f +f &} &} &} `[ `[ `[ `[ `[ `[ 1u `[ `[ `[ `[ +f +f +f YD @- @- @- +- +- +- .- .- .- .- - - - - `= `= Wd &} &} ZD @D cu `D E E &D .E +E @E #E $E -D %E . Ub :7 :7 :7 :7 :7 :7 :7 :7 :7 Cd . -n #e %e -g ^B >D Pj &E ]j (n *E V= V= U= U= =E Gp Gp -E ;E >E ,E 'E )E !E ;z . C~ :7 :7 :7 :7 :7 :7 :7 :7 :7 E9 . (D ~E &e :D Gr Op )z ll {E ws 1w R= R= R= R= R= R= R= R= Q= Q= Sp Vr [x wt #o C3 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 ^0 . ]E ^E }D }A /E (E 7B _E :E 7 qz S5 `k m4 m4 m4 X8 X8 X8 X8 EC EC ][ T3 _o _o _o _o _o _o qE rE sE tE AD xx Z7 - >- ;- ;- IE 62 1u 1u 1u 1u )C +f +f +f &} &} &} `[ `[ `[ `[ `[ `[ 1u Bb )7 `[ `[ +f JE @- @- @- @- @- +- +- .- .- .- .- .- - - - - KE &} &} ZD cu LE 'B E &D .E ME NE OE PE QE cA %E . r8 n9 n9 n9 n9 n9 n9 n9 n9 n9 6d . Rn #e %e -g ^B RE Pj &E ]j (n *E W= W= W= V= V= SE Gp TE >E >E UE VE ^D !E WE . j{ n9 n9 n9 n9 n9 n9 n9 n9 n9 ^2 . (D yC XE :D Gr YE ZE

F ,F :D Gr 'F >p jo 7m )F lu ~y W= 2[ !F ~F 0E {F ]F Fu n9 n9 n9 n9 n9 n9 n9 n9 n9 n9 r8 . ^F /F (F _F :F 7 qz S5 9F m4 m4 m4 X8 X8 X8 EC EC ][ =m _o _o _o _o _o _o 0F 0F x4 aF zz bF xx Z7 x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: E_ cF as dF eF IC JC Cy 27 wE fF xE g- b- b- c- c- c- d- d- d- |; e- e- e- f- f- f- f- g- h- h- i- i- i- j- j- j- 1; gF hF iF Um Mg *w ar . kd x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: x: ~2 (| ^l B jF kF ~8 ^ ^ ^ ^ tF 9[ uF :$ ]$ ]$ ]$ ]$ ]$ ]$ vF >- >- >- ;- !w `[ `[ 62 1u 1u 1u )C +f +f +f &} &} &} `[ `[ `[ `[ )7 ;a Lu `[ `[ `[ bi $- [; @- @- @- @- @- +- +- +- .- .- .- .- .- - - wF +f &} /w xF 'B yF zF AF BF CF CF DF EF QE FF GF . z8 %7 %7 %7 %7 %7 %7 %7 %7 %7 a2 . -n #e %e -g -p RE Pj &E ]j (n &y W= W= W= W= W= HF Z[ _< IF JF KF ]D LF MF WE . ] %7 %7 %7 %7 %7 %7 %7 %7 %7 (0 . (D CB NF 0u >g OF @j

m %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 6: . $G %G (F &G *G =G -G ;G >G ,G 5< yB 'G )G !G ~G ]p {G . D9 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 e2 #m 3} 08 te sh ]G en _k |k hj <} }} ][ ^G P: P: P: 8} P: P: P: 8} 8} c| aF 5: )[ ;3 8F %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 - >- >- >- eG 1u 1u `[ 62 1u 1u 1u 1u )C +f +f &} &} &} &} `[ )7 ;a Bb n4 `[ 1u `[ fG #- #- [; @- @- @- @- @- @- +- +- +- .- .- .- .- - $_ {( {( /w gG hG iG AF BF BF jG kG lG mG nG oG GF . K9 (p (p (p (p (p (p (p (p (p ut . -n pG qG 9A -p RE Pj &E ]j (n &y W= W= W= W= W= rG Z[ Z[ sG JF tG uG LF vG wG . B] (p (p (p (p (p (p (p (p (p om . (D CB xG 0u >g OF @j %k }w Uq ko W= T= T= T= T= T= T= T= T= T= (B #z }w %k PF dn (p (p (p (p (p (p (p (p (p (p :2 . F yG [A zG SF 1A AG BG CG $F DG EG FG *F GG zq (p (p (p (p (p (p (p (p (p (p (p (p G5 Qb HG IG 'd Lj >F ,F :D ^B 'F JG jo KG {y mv ~y W= X= +- LG MG NG OG PG l5 ut (p (p (p (p (p (p (p (p (p Cd Yo Pb QG RG SG TG =G UG VG WG XG YG 'G ]/ ZG `G H .H +H . D9 (p (p (p (p (p (p (p (p (p (p e2 f0 Y( od te sh c_ en +t _} @H Em 7| ^G P: P: P: 8} P: P: P: P: 8} <[ c| CA i4 )[ ;3 8F (p (p (p (p (p (p (p (p (p (p Y/ . wD /G DB zC $a g8 x8 oy qz #H 9F m4 m4 X8 X8 X8 EC ][ ][ ][ /s _o :G _o _o 0F 0F 0F 0F $H CA %H bF xx Z7 ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i p< HA as [G eF IC JC &H }G *H fF |G g- c- c- c- d- d- d- d- |; e- e- e- f- f- f- g- h- h- h- i- i- i- j- j- k- k- l- s- =H -H *8 Q9 :l zn ;H . y[ ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i 2k Os 0q >H ,H (l :t uq Vo [l 'H . B] ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]i ]: )H r0 Rh Uc Ny /b ea Bq x0 Oy ;c !H ~H :b )c {H w, w, w, p' q' q' =) =) =) h) h) l! l! .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp WC WC WC ]H 6# 6# 6# `1 `1 `1 *' ^H /H (H ^ ^ ^ ^ B@ . . # . ", +". . . . . . . a/ ^ ^ ^ ^ _H :H |@ _# ]$ ]$ ]$ ]$ ]$ ]$ - >- >- >- [H 1u 1u 1u `[ `[ 1u 1u 1u 1u )C )C +f +f &} &} }H |H n4 Lu n4 `[ `[ `[ 1H #- #- #- #- [; @- @- @- @- @- @- +- +- +- .- .- .- 2H {( {( 3H 4H DF CF CF BF jG kG 5H lG 6H 7H oG GF . K9 20 20 20 20 20 20 20 20 20 m9 . -n pG qG 9A 8H 9H 0H &E ]j (n `F W= W= W= W= W= aH bH bH cH dH eH fH LF !E wG . #^ 20 20 20 20 20 20 20 20 20 74 . (D CB 2e gH >g uk @j %k }w Uq ko W= T= T= T= T= T= T= T= T= T= (B #z @z %k PF dn 20 20 20 20 20 20 20 20 20 20 :2 . ]E hH +F 3B SF iH jH kH lH mH :E nH oH pH qH . Y/ 20 20 20 20 20 20 20 20 20 20 20 |~ . rH sH )d &i %e ZF =i Nj tH )z

I ^ ^ ^ ^ x' . . @ . ", +". . . . . . . .I ^ ^ ^ ^ +I @I 1@ [$ ]$ ]$ ]$ ]$ ]$ ]$ #I ,- >- >- D 1u 1u 1u 1u 1u `[ `[ 62 1u 1u 1u 1u )C +f +f }H bi dg Lu $I n4 `[ `[ `[ %I $- #- #- #- #- [; [; @- @- @- @- @- @- +- +- +- .- &I {( {( *I DF =I =I NE H: -I ;I >I ,I 'I )I oG !I . *3 6d 6d 6d 6d 6d 6d 6d 6d 6d c3 . -n pG qG 9A 8H 9H ~I jo {I wH ]I X= W= W= W= W= W= d^ bH ^I /I (I VE LF MF wG . z^ 6d 6d 6d 6d 6d 6d 6d 6d 6d d5 . T0 yC _I :I >g 'F @j %k @z Uq ko W= T= T= T= T= T= T= T= T= T= ko (n @z %k PF dn 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d @m . - PI 1u 1u 1u 1u 1u 1u 1u `[ `[ 1u 1u 1u 1u )C ;a bi dg Lu e} QI dg `[ `[ `[ RI $- $- $- #- #- #- #- [; @- @- @- @- @- @- +- +- +- SI +f +f ]w ME NE TI UI VI -I WI WI ;I XI YI ZI `I . m5 a2 a2 a2 a2 a2 a2 a2 a2 a2 l . J pG qG 9A 8H 9H ~I jo {I wH vH Z= X= W= W= W= W= .J bH +J @J (I #J $J vG %J . ./ a2 a2 a2 a2 a2 a2 a2 a2 a2 N) . T0 yC _e &J ^B /B vs *J @z )x =J )0 T= T= T= T= T= T= T= T= T= ko (n @z %k PF dn a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 @m . -J ;J +F 3B SF >J ,J |I 'J )J !J ~J 7B {J ]J _| ut a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 D9 . ^J /J .e &i %e (J =i -i Op _J :C wk cI vH - X= X= X= Z= :J D Pj :C 'D )D UJ O] V= V= V= V= V= U= U= U= U= =J (n @z *J PF Qh ut ut ut ut ut ut ut ut ut ut [0 . VJ ;J WJ 3B SF >J XJ YJ ZJ `J K $F 2I .K . *3 ut ut ut ut ut ut ut ut ut ut c2 E_ 1~ +K Ca Aa Sn @K #K 8H 1g 7h 0I $K %K &K *K X= X= X= X= X= &y #z =K &E ~I -K w: c2 ut ut ut ut ut ut ut ut ut ut ut ^2 g0 . s1 m3 ;K >K ,K 'K )K bh . . [2 ~2 }0 c3 ut ut ut ut ut ut ut ut ut ut ut ut g0 f0 3c rx !K ~f 9d ~K sI ,7 uw (o LH =m 8} P: P: S3 S3 <[ 8} =m ][ ][ {K K7 qz ]K eJ J3 ut ut ut ut ut ut ut ut ut ut 2< . wD /G DB J9 Wk fc x8 oy sz gp ^K X8 m4 m4 ][ ][ X8 m4 /s :G :G 0F 0F 0F 0F qn qn qn :G )l fJ /K yI (K C3 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 :7 P7 HA as [G _K zI NH Gw OH 06 :K hJ AI d- d- d- d- |; e- e- e- f- f- f- g- h- h- h- i- i- i- j- j- k- k- l- l- m- m- m- m- F8 D Pj Tq ]j (n ]I X= W= W= W= W= W= W= W= W= W= `F (n ]j Tq PF Qh m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 [0 . pv sK tK uK SF vK wK xK yK zK AK BK CK DK =b l m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 Hh . EK 5D FK cB GK HK IK -i Op Pj }J wk wH vH +- X= X= X= <; <; JK `E 'x KK _C LK . *3 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m5 u8 dw n3 . . Lc ~} 10 92 02 &7 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 +8 f0 6c rx !K ~f :h MK NK OK gh hh cg Ab PK PK PK PK 00 00 00 00 Xq Xq p4 K7 qz eh eJ J3 m9 m9 m9 m9 m9 m9 m9 m9 m9 m9 H< . wA pf DB QK Wk B: RK oy SK TK `k m4 m4 ][ X8 X8 X8 n4 :G :G 0F 0F 0F 0F qn qn qn qn UK )l VK OB yI (K C3 :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a P7 cF as [G _K zI NH Gw OH 96 :K hJ WK d- d- d- |; e- e- e- f- f- f- g- h- h- h- i- i- i- j- j- j- k- l- l- m- m- m- m- m- u- Pg 57 Ng PC :l XK gq . #8 :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a 6d J3 HA YK Ee qj ZK l5 E9 :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a :a R7 o5 `K Ed En Gd /b =c u0 ~u }v Ue L gk 'c 79 OD w, w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp xp xp WC WC WC WC .L 6# 6# `1 `1 `1 `1 +L a@ 9+ @L a$ ^ ^ ^ } . . . . . ", +". . . . . . . . 3 ^ ^ ^ ^ n+ G; X+ _$ ^$ ]$ ]$ ]$ ]$ ]$ ^* )- )- #L $L } 1u 1u 1u 1u 1u 1u 1u 1u .f ae Bb n4 e} 8} 7< U3 %L &L )C +f &} l_ &- &- %- $- $- $- $- $- $- #- #- #- #- [; [; @- @- @- @- `_ +f *L H: =L ;I -L dK ;L >L cK ,L 'L eK )L !L . 02 c3 c3 c3 c3 c3 c3 c3 c3 c3 G5 . gl cB dB +j ~L ,j ~I jo 7m hK iK +- X= X= X= X= X= X= {L {( Hp ]L mK ^L /L %J . 9_ c3 c3 c3 c3 c3 c3 c3 c3 c3 C~ . (L /G _I SJ Sv >D Pj Tq _L (n ]I X= W= W= W= W= W= W= W= W= W= `F (n ]j Tq PF Qh c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 Ya . pv :L J }L |L 1L 2L 3L 4L 5L . I3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c2 6L @/ 7L Ca 2E Sn 8L 9L 8H 9H 0L 0I $K aL bL *K X= <; <; <; Y= Y= cL dL aL eL fL gL Gb C3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c2 j{ N) l c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 +8 f0 6c rx }e ~f 40 9i w9 ,7 gh hh ta PK PK PK PK 00 00 00 00 Xq Xq Xq df (G qz eh eJ {: c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 y[ . hL pf DB q7 $a 50 RK oy GB B1 iL m4 m4 X8 X8 dg Lu jL :G :G 0F 0F 0F qn qn qn qn UK UK w4 F1 OB yI (K C3 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 P7 cF as [G kL zI lL Gw OH 96 :K mL WK d- d- |; e- e- e- f- f- f- f- g- h- h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- n- o- nL 8a /9 ED ]9 Lg oL pL gf (p %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 94 . qL rL vd I8 w7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 %7 0] . sL Oe Vc Qe tL _u uL vL Sf _b O8 Dq L Yq NL Or OL PL . 02 l l l l l l l l l R7 . gl QL GK +j 4E RL 9I jo 7m hK SL TL X= X= X= X= X= X= UL Gp Gp VL mK WL oK %J . 9_ l l l l l l l l l j{ . XL YL _I SJ Sa ZL Pj Tq _L (n ]I X= W= W= W= W= W= W= W= W= W= `F (n ]j Tq PF Fu l l l l l l l l l l Ya . `L M .M }A [L +M @M #M $M %M &M *M =M ca R7 l l l l l l l l l l *3 . QJ -M ;M cB GK eB 9D >M Oj Pj Pp {I hK ,M 'M Y= Y= Y= Z= Z= Z= am )M !M ~M {M 4i ]M . W( l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 5e f0 ^M rx }e ~f A} /M ~l OK cf hh ta PK PK 00 00 00 00 00 Xq Xq Xq 00 (M _M qz eh eJ {: l l l l l l l l l l 1} . hL pf DB q7 xD 50 RK oy tz gp iL m4 X8 X8 dg dg kn :G :G 0F 0F 0F qn qn qn qn UK UK UK 4< B< :M . . . . . ", +". . . . . . . . Ti ^ ^ ^ ^ bM ', 5% [$ ^$ ^$ ^$ ^$ ]$ ]$ cM )- )- dM $L $L $L $L } } 1u 1u CL |H n4 DL /s eM QI fM gM &L hM GL 1u )C )C V: *- &- &- &- &- %- %- $- $- $- $- $- $- #- #- #- #- [; [; iM +f fM ,I jM kM lM lM >L >L Yq mM nM oM OL pM . Ig c2 c2 c2 c2 c2 c2 c2 c2 c2 &7 . qM rM GK +j 4E sM tM eI KG {y uM 'M <; X= X= X= X= X= vM cg Gp wM fH nK oK pK . 6: c2 c2 c2 c2 c2 c2 c2 c2 c2 ] . xM yM 2e SJ Sa zM Pj Tq _L (n ]I X= W= W= W= W= W= W= W= W= W= =J (n ]j Tq PF Fu c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 (s . AM Bt BM CM [L >J ,J DM EM FM GM HM . 8! c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 IM s8 JM KM !9 Sn (g 9A 4E 9H 0L 'j dC {E `E &y Y= Z= Z= Z= Z= Z= Z= %- LM MM NM OM PM QM !} Oz F3 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 5e f0 2c RM }e ec A} wb 5p 70 ad SM |H PK 00 00 00 00 00 00 Xq Xq 00 V1 (M _M qz #9 eJ {: c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 8| . hL pf DB q7 TM 50 dh oy GB gp iL X8 X8 dg dg n4 :G :G :G 0F 0F qn qn qn qn qn UK UK UK UM jy |k N ,N oM 'N )N . Ig u9 u9 u9 u9 u9 u9 u9 u9 u9 /2 . qM !N GK +j 4E ~N tM eI NM MM {N ku Y= Y= <; <; <; X= X= $f Gp }} fH ]N ^N pK . 2< u9 u9 u9 u9 u9 u9 u9 u9 u9 B] . xM /N (N EB ~f _N :N Tq _L (n ]I X= W= W= W= W= W= W= W= W= W= &y (n ]j Tq PF Fu u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 (s . J |N 1N 2N 3N 4N 5N J3 om u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 ne . 6N 7N 8N 9N 0N aN 9D Gr Oj JG jo KG bN {N %- Z= Z= Z= Z= Z= Z= Z= .- cN dN {I eN fN 1g gN 98 Qh /2 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 5e f0 vh rf }e ec 03 g8 .8 hN ai y5 ;a 00 00 00 00 00 00 Xq 00 V1 V1 X8 (M iN qz O5 eJ {: u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 (2 . Ra pf DB zC yg zA dh jN GB gp kN X8 dg dg dg _o :G :G 0F 0F qn qn qn qn qn UK UK UK UK lN jy ,l mN (K dn 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d ca HA as jr Jh }M nN Gw |M 76 VM mL WK |; e- e- e- f- f- f- g- h- h- h- i- i- i- j- j- j- k- l- l- m- m- m- m- m- n- o- p- p- p- )b UA oN pN 6G !m {u qN . C~ 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d #8 . rN . Hh 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d 6d ut /t Hb Zo sN Pf 7M tN Sh uN .0 vN 9M ~H 3t )c qF w, w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp WC WC WC WC WC PD 6# `1 `1 `1 `1 `1 k} m# n@ !% R- ^ ^ ^ ] . . . . . . ", +". . . . . . . . , / ^ ^ ^ wN $d F* d# ^$ ^$ ^$ ^$ ^$ ^$ ^$ xN )- LH 1u 1u 1u $L $L $L yN .f n4 $I yJ EL zN AN BN GL gM JL &N 2u `[ `[ 1u CN *- *- *- *- &- &- &- &- &- %- $- $- $- $- $- $- $- #- #- DN EN &} GJ lM Yq mM FN GN HN IN >N JN KN LN )N . #8 G5 G5 G5 G5 G5 G5 G5 G5 G5 ^2 . qM 2E MN +j 4E NN tM eI NM MM {N ON Z= Z= Z= Y= Y= Y= <; e^ }H PN QN RN SN pK . y[ G5 G5 G5 G5 G5 G5 G5 G5 G5 z^ . XL TN UN EB ~f 03 VN Pp {I cI vH Z= X= X= X= X= X= X= X= X= X= UJ cI dI Pp PF Fu G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 u8 . .e WN XN YN ZN `N |N O .O +O @O . I< G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 #O (| $O %O &O [N *O +j =i =O -O {M ;O >O ,O 'O Z= Z= Z= Z= Z= Z= Z= `= `= )O )D @z !O ~O {O 0D ]O . +8 /2 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 Qa f0 me x1 }e ec A} g8 I7 ^O /O U} o4 00 00 00 00 =_ Xq 00 V1 V1 X8 X8 (M gp (O O5 eJ {: G5 G5 G5 G5 G5 G5 G5 G5 G5 G5 84 . #4 pf DB zC yg `( dh jN GB gp _O dg dg dg kn :G :G 0F 0F qn qn qn qn qn qn UK UK UK 0F GC .m Km mN (K Qh ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut ut bJ HA as jr Jh :O nN Gw |M 76 VM mL j- e- e- e- f- f- f- f- h- h- h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- n- o- p- p- p- p- s- 77 Ie [l P ,P 'P )P . G9 &7 &7 &7 &7 &7 &7 &7 &7 &7 om . gl !P GK ~P eO ^B 0L eI NM MM {P ON Z= Z= Z= Z= Z= Z= Z= Z= Nn PN ic ^L ]P pK . 1} &7 &7 &7 &7 &7 &7 &7 &7 &7 ./ . ^P /P (P _P ~f vb ~K :P {I cI uH Z= X= X= X= X= X= X= X= X= X= UJ D hP iP jP kP Qb Y0 E9 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 6! ./ &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 zq #m 6c /G LO 6f 03 50 lP oy 4| l8 -a 00 =_ =_ 0e V1 V1 V1 V1 X8 X8 X8 df B1 qz >7 mP {: &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 S7 . Ra CB MO zC @s ri nP oy SK B1 u[ dg kn :G :G :G qn qn qn qn qn qn qn qn UK UK UK qn oP pP NO ,l +t (K Qh c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 c3 Z0 HA as jr OO :O qP PO |M 76 rP TA ZB e- f- f- f- f- g- h- h- h- i- i- j- j- j- k- k- l- l- m- m- m- m- m- n- p- p- p- p- p- p- p- o0 vj sP &8 N IN IP JP 8O KP LP MP NP OP . 94 78 78 78 78 78 78 78 78 78 `d . gl rM GK ~P PP QP RP OM NM MM SL SP Z= Z= Z= Z= Z= Z= Z= Z= e^ PN TP YI UP oc . Y0 78 78 78 78 78 78 78 78 78 02 . VP WP XP YP yg di wb }7 ZP cI :J X= X= X= X= X= X= X= X= X= X= !D Q ,Q 'Q )Q eI aI bI )M !Q `= `= `= - - - - - - - .- ~Q {Q ]Q ^Q /Q 4i NN JO (Q _Q 2l . =b Gf F3 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 Y/ ~e q5 r5 Ya 78 78 78 78 78 78 78 78 78 78 Qh #m 2c /G LO qm 03 50 lP oy Zk ic p4 =_ 0e 0e V1 V1 V1 V1 X8 X8 X8 X8 HB gp :Q >7 mP e5 78 78 78 78 78 78 78 78 78 78 _4 . hL CB MO zC N IP 8O gQ hQ KP iQ jQ kQ lQ . . . . . . . . . . . . . KJ ;F MN ~P _p mQ 4i GO aI eP {N nQ `= `= `= `= Z= Z= Z= Z= oQ jn T} pQ qQ rQ . . . . . . . . . . . . . VP sQ tQ uQ vQ || g8 w9 wQ cI &y X= X= X= X= X= X= X= X= X= X= !D )D [J :C PF . . . . . . . . . . . . . !P cB eB xQ yQ zQ AQ BQ CQ . e0 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 g0 . DQ EQ FQ GQ HQ IQ JQ KQ LQ MQ NQ dI D hP QQ RQ SQ TQ 1~ . J3 g0 _4 H< ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 N) W( '8 94 W6 . . 3e . . . . . . . . . . . . . f0 6c ]7 LO qm || fc dh oy fh ic UQ 0e 0e V1 V1 V1 V1 X8 X8 X8 X8 X8 VQ =a :Q oy Xt . . . . . . . . . . . . . hL CB MO zC Zl [Q -o WQ i4 =a 7} :G :G :G 1Q qn qn qn qn qn qn qn UK UK UK B[ qn XQ YQ @t Nv _q +t (K Fu u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 Z0 HA as jr OO ZQ qP PO |M /9 3Q TA `Q f- f- f- g- h- h- h- i- i- i- j- j- j- k- k- l- m- m- m- m- m- n- o- p- p- p- p- p- p- q- r- r- R UA Qg i6 ~m wd )m .R . '8 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 G5 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 u9 B] l5 +R Ed En Gd *c =c Rf ~u @R #R N8 qJ C0 79 ;C w, p' q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC wL `1 `1 `1 `1 k} k} I6 ,% 5+ $R 2 ^ ^ ^ 5 . . . . . . . ", +". . . . . . . . . . | ^ ^ ^ Yz f> 2O y, {# ^$ ^$ ^$ ^$ ^$ ^$ %R %} %} wJ u| (q *m *m DP aK aQ 4O &L hM &R qs qs *R =R -R ;R QI 1u 1u 1u >R ;- ;- -- -- -- =- =- =- =- *- *- *- *- *- &- &- &- &- &- %- /3 &} JL ;N 8O pt ,R KP hQ 'R )R !R ~R {R ]R ^R /R (R _R :R S ZQ qP PO ^9 86 3Q TA `Q f- f- g- h- h- h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- t- Pg 57 ,S M ]B (g ES FS [z GS 5D 5D aS -F )d ;F HS IS :D {9 cj JS KS K2 Qa om om om om om om om om om om om (s . LS um FQ GQ MS NS OS PS QS RS SS TS US VS @- - .- .- .- .- .- .- .- .- +- +- +- +- *K WS XS $K YS fN {O >M 4R ZS `S T .T +T GS @T #T $T xq wn Hb <7 %T w1 .a &T *T ox uh tc tc =T xc Da Ea yc -T zc hd =T rb rb tc 0c ib Mb Mb Dc rf LO qm Wk g8 Xk 8e Uj ag UQ V1 V1 V1 V1 X8 X8 X8 X8 cg cg cg $S l8 R5 6 5p B: Qv ;T Uu x1 Y( 0c yc zc zc zc qb >T le CB MO zC 6f $a fc nx :k CA wI :G 1Q 1Q qn qn qn qn qn qn B[ UK UK B[ B[ XQ XQ ,T $H A[ jy _q +t (K gg R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 ,< HA as jr >S ZQ qP Qw ^9 86 3Q SA `Q f- f- g- h- h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- m- o- p- p- p- p- p- p- p- q- r- r- r- r- Oh 'T =8 Jf )T Uw Tw !T . Y/ R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 R7 d5 4) [v ~T En $c /b Hd t0 ia @R {T 9M gk 3t 79 OD w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC PD `1 `1 `1 `1 `1 k} k} (@ C$ )> ]T ^ ^ ^ ^ ^T . . . . . . . ", +". . . . . . . . . . +N ^ ^ ^ ^ /T N$ G# W$ J# J# ^$ ^$ ^$ ^$ V@ (T $L ;a CP *m _T ]S BN 4O hM hM #P $P $P :T - >- ;- ;- ;- -- -- -- =- =- =- =- =- *- *- *- *- *- &- &- 2T +f )7 8O ,R ,R 3T [S KP 4T }S 5T 6T 2S 7T 8T 5S 9T OP 0T 9S aT pb pb pb bT ;M )d .T cT dO 3R dT >M eT fT fP bI gT .- .- .- - - - - - - - dP hT ai x9 iT jT kT lT kS mT uS nT nT nT nT nT oT pT TN qT rT wS sT tT Ag uT ,7 vT wT Z= Z= Z= Z= Z= Z= Z= Z= Z= Z= am dL aL FO fL xT >M QQ (g yT !N -F -F -F -F -F zT .T AT yT IS :D ^B BT CT DT . W7 74 74 74 74 74 74 74 74 74 74 Y/ r5 ET FT GT HT IR IT JT KT LT MT NT OT PT QT RT ST .- .- .- .- .- .- +- +- +- +- +- @- @- @- TT UT VT eL GO WT DO CO dT 3E XT dO YT !N +T ZT `T 0S U .U +U @U ]a wc +b zc zc zc zc #U %b fb md ib ib Mb Mb &b Mb .b Kb Mb kz 7c &b Nb ]d rf LO qm ,2 wb 8g $U %U &U m8 V1 V1 V1 V1 X8 X8 X8 cg cg cg cg 14 U} ai hN _k *U Qv ;T Uu x1 vh id id Lb Lb id Mb Y( Dc yC MO zC =U Bw 3z ~l V_ CA wI 1Q 1Q qn qn qn qn qn B[ B[ UK UK B[ B[ XQ XQ ,T ,T $H A[ F1 _q mN (K gg &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 &7 ,< HA -U jr >S ZQ %w ;U ^9 86 >U SA `Q f- g- h- h- h- i- i- j- j- j- k- k- l- l- m- m- m- m- m- n- o- p- p- p- p- p- p- q- r- r- r- r- r- v- n0 sP Wo - >- >- >- ;- ;- ;- -- -- -- =- =- =- =- =- *- *- *- *- *- |U +f +f WI JP KP )R }S }S 1U 2U 3U 4U 5U 6U 7U 8U 9U 0U aU bU 8^ kz 7c 7c cU !N 2R dU AT dO eU =i 9H fU GO fP bN ~Q .- .- .- .- .- .- .- - - - @- gU ad 70 hU iU jU kU kS lU lU mU TN pT nU oU TN mU lU pU rT qU rU kT sU )i ,7 tU uU Z= Z= Z= Z= Z= Z= Z= Z= Z= Z= ON )M !M ~M vU WT wU QQ (g yT HS pG xU !N !P QL pG HS yT yT yU dT zU /B AU <7 _0 d5 d5 d5 d5 d5 d5 d5 d5 d5 d5 d5 ^0 . BU wO CU DU MS EU OS FU GU HU IU dA av JU KU .! LU .- +- +- +- +- +- @- @- @- @- @- @- @- cL &K !M MU NU ~O OU /B CO dT PU IS QU AT 2R RU +T FK Ns SU 5D 5D TU UU %b Lb Mb Mb |d 7c 7c 7c vh ]d 3d rx 3d /G /G yC vh vh me vh ]d my rf rf LO ~f VU WU XU YU uz l8 -a V1 V1 V1 X8 X8 cg cg cg cg cg cg ;a ZU ad `U sI V A} ;T Uu x1 x1 /G me Y( &b Y( Dc Dc me ]7 MO zC AC `( .V mj V_ vT D< 1Q qn qn qn qn qn B[ B[ B[ UK B[ B[ XQ XQ ,T ,T ,T e| A[ F1 OB +t (K gg /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 ,< HA -U jr >S ,v $w ;U ^9 86 >U SA `Q g- h- h- h- i- i- i- j- j- k- k- l- l- m- m- m- m- m- n- o- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; ;8 +V 3o @V GI _l sq #V ]0 d5 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 /2 (0 kc Ic $V sN Pf 7M `o Sh uN %V vN 9M gk 3t &V qF w, p' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp xp xp WC WC WC WC WC WC *V 4% `1 `1 `1 `1 k} k} xL B$ H@ =V ! ^ ^ ^ C@ . . . . . . . . ", +". . . . . . . . . . . [ ^ ^ ^ 1 -V ;V Q+ 4# J# J# J# J# ^$ >V *# .P ,V zN AN 4O 4O &L cQ 'V #P )V =R :T !V ;R _S ~V {V +y /s $L } ae >- >- >- >- >- >- >- ;- ;- ;- -- -- -- =- =- =- =- =- *- *- *- ]V )C +f #D ^V KP 4T }S UE 2U /V (V _V :V U SA W h- h- h- i- i- i- j- j- j- k- l- l- m- m- m- m- m- n- o- p- p- p- p- p- p- p- r- r- r- r- r- r- 1; s- R Bn Ym 6a .W Iy CI +W . Gf ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 ^2 #8 . @W YM #W $W Li ha Id Z9 j %W `M .n C0 .d =) p' q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC {U &W `1 `1 `1 `1 k} k} k} *W J^ l+ =W ^ ^ ^ ^ > . . . . . . . . ", +". . . . . . . . . . . b9 ^ ^ ^ ^ -W N$ c; b# J# J# J# J# J# !# Zh ;W CP AN 4O 4O BN &R 'V >W - >- >- >- >- >- >- >- ;- ;- ;- -- -- -- =- =- =- =- =- *- *- ^G +f fQ KP 4T {D !W ~W !W {W ]W ^W /W !E (W _W :W 9U U LA YB h- h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- 1; s- s- t- Wm }t WW XW uq :t YW wn gf om (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 (0 ZW !} `W VO Ny yj X Bq -c .X +X !H @X Md %0 {H w, q' q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn xp xp xp xp xp xp WC WC WC WC WC WC {U #X `1 `1 `1 `1 k} k} I6 o# 5+ p+ [ ^ ^ ^ ^ S< . . . . . . . . ", +". . . . . . . . . . . > P. ^ ^ ^ $X j7 %X &X _# /$ J# J# J# >V Zh *X yD =X BN -X &R 'V >W )V ;X :T :T ,W X ,X [U )W )W 7| 1u 1u {S '- '- ,- >- >- >- >- >- >- >- >- ;- ;- ;- -- -- -- =- =- =- =- =- -B +f c: }S 1U 2U }S 'X !W {W )X !X ~X {X ]X ^X /X (X (X (X _X :X NW 5f 6f O 1X $- @- @- @- @- +- +- +- +- +- +- +- }U N4 R5 rl nx 2X 3X 4X 4X 4X 5X kU kU jS kU sT sT 6X 3X 7X 8X 9X 0X aX bX cX zb bi bi dX - - - - - `= `= `= `= `F D ^B -p -p fX =i IK 9D 9D 9D 9D IK gX -i 1g 4i tM hX . Hh J! J! J! J! J! J! J! J! J! J! z^ |0 Le iX jX -J kX lX mX sV nX oX pX vV qX rX sX tX uX yV xW vX Z_ V: $- @- @- [; [; [; #- #- #- #- #- #- =- gT wX xX yX ;O zX tM AX 7V 6V 4E JO BX ZS eU CX DV DX @K EX EX 4m @K FX DV ,F GX HX ve Q6 ec ~f Zl @s ~f ~f ec ec u< qi ~f ~f IX vb vb Wk JX KX &a 6 LX Q3 df V1 X8 cg cg cg cg cg cg cg 00 V1 X8 X8 uA gp J7 >7 ux Ta || nz di di Zl Q6 6f qm qm 6f =U yf Af Eg VV yi xh e_ MX gj b| qn qn qn qn B[ B[ B[ B[ B[ B[ B[ ,T ,T ,T ,T ,T d| d| d| NX F1 OB +t (K WM 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 2) HA -U jr ;b ZV #w Jw `V 86 Fz c6 YB h- i- i- i- j- j- j- k- k- l- l- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- 1; s- s- t- t- tp Nh OX Zb B8 Lg Di 2a . r8 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 `d . PX uP oJ Ki |O pJ (m Z9 Aj %W Ld .n C0 QX Ux p' q' q' =) =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC {U RX `1 `1 `1 `1 k} k} k} B| L+ N$ SX .% ^ ^ ^ 5 . . . . . . . . . ", +". . . . . . . . . . . . R- ^ ^ ^ / TX ;V |b 7# /$ /$ J# J# >V Zh Zh UX BN VX #P #P >W )V WX ,W ,W XX X {V [U YX ZX ZX u| 1u 1u 1u 1T )- '- ,- ,- >- >- >- >- >- >- >- >- ;- ;- ;- -- -- -- =- =- =- `X `[ )7 Y 4T !W 'X {W {W .Y +Y 'E @Y #Y $Y %Y &Y *Y =Y -Y /X ;Y >Y ,Y >Y 'Y 6V wU )Y DO !Y ~Y ;6 BW {Y nR ~Q @- @- @- @- @- @- @- @- @- +- +- +- am &K ]Y x9 XU ^Y /Y (Y kT _Y :Y 3X O !O _C aY 4i /B sM >M 0D 0D CO CO 0D -i =O >D {O 0L >p bY Ai mb j{ C~ C~ C~ C~ C~ C~ C~ C~ C~ C~ }/ . cY dY CU lW eY fY gY hY iY jY kY lY mY nY oY pY tX qY rY sY @) )G tY uY #- #- #- #- #- #- #- #- $- $- $- >- gT wX aL MU vY OM gB wY eT xY 6V yY zY 4R xP TY ^ ^ ^ ^ % . . . . . . . . . ", +". . . . . . . . . . . . .I ^ ^ ^ ^ UY D# [% ^@ U@ /$ /$ /$ Ry Zh Zh vr -X VY dQ WY XY YY ,W ,W XX - >- >- >- >- >- >- >- ;- ;- ;- -- -- -- -- 6O `[ `[ +Z !W !W {W {W @Z #Z $Z %Z &Z *Z =Z vG -Z ;Z >Z ,Z 'Z )Z _h _h _h !Z eT CW tM ~Z fL 0I KK ZP {Z ]Z >- [; @- @- @- @- @- @- @- @- @- @- @- $- ^Z /Z ,7 >7 D: (Z _Z :Z gV |+ 1@ [$ /$ /$ /$ V@ Zh Zh YZ #P dQ WY ;X ZZ ,W }T XX - >- >- >- >- >- >- >- ;- ;- ;- -- -- @` `[ `[ #` $` $` .Y @Z #Z $Z $Z %` &` *` =` -` ;` PJ >` ,` '` )` I7 I7 !` ~` {` TR fT OM ]` $K ^` /` (` zW #- #- #- [; [; [; @- @- @- @- @- @- @- @- ~Q {Q _` :` QV <` [` }` |` 1` 2` 2Z 2Z 2Z 2Z 3` 4` 5` 6` 6Y 7` 8` 9` 0` a` b` EC }H }H Vd c` .- .- .- .- .- .- .- $- G d` e` NM FO vY f` eN gP ;6 fL /Q /Q TR TR vU GO gP eN g` #g np z^ B] B] B] B] B] B] B] B] B] B] 8! . h` dY i` j` k` fY l` m` n` o` p` q` r` s` t` pY u` v` w` x` y` KU z` &| A` B` C` $- $- $- $- $- $- $- $- $- %- %- -- D` E` F` aL G` H` BW -6 TR fN !Y I` eT /B >D )Y )Y )Y J` K` DO DO L` eT AX M` N` wY O` fN P` Q` R` KH KH S` XU XU XU XU eh WQ eh T` J7 U` 5| ci )7 cg cg cg cg cg cg ta ta X8 X8 cg cg bi bi .f Cb V` U` C1 /< hN W` eh bf Lm LZ si si si si yh MY X` N: ry MX J< B< /$ /$ /$ V@ Zh Zh * .ST >W )V XY = .- .; ._w >X ~V > .`Z ZX , .' .) .! .BN } } } ~ .)- )- )- )- )- )- )- '- ,- ,- >- >- >- >- >- >- >- >- ;- ;- ;- ;- <[ `[ { .$` .Y ] .^ .^ ./ .( ._ .: .< .#J [ .} .| .1 .2 .3 .oK 4 .WQ WQ ]K 5 .6 .7 .yX VT aL MG {Q WS AS #- #- #- #- #- #- #- #- [; [; [; @- @- @- WD 8 .9 .l8 0 .uw } .a .b .7` c .d .e .e .f .g .d .h .i .j .k .l .m .n .o .o .p .}H }H }H m_ Hq .- .- .- .- .- .- .- =- D` D4 nR PQ ]Q q .fP xZ xZ fP fP xZ fP fP r .r .s .NM t .. 0] #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ z^ X >X )W `Z ZX , .' .) .! .&..bQ %} %} } *..)- )- )- )- )- )- )- )- )- '- ,- ,- >- >- >- >- >- >- >- >- ;- ;- =..1u -..] .;..;..^ ./ .#Z >..,..'..)..!..~..{..]..[ .^../..(.._..:..*2 *2 <..>O aL [..0Y E4 TT }..|..*- $- $- $- #- #- #- #- #- #- #- #- #- [; [; [; [; =- 1..%9 zb 2..3..4..5..6..7..8..9..0..a..9..7..b..c..d..e..f..g..g..g..g..h..}H }H Bb 1H +- +- +- +- +- +- +- +- +- am cN &K 0Y )D (` i..i..MM MM bI bI bI {Z {E [J SR j..YV W( z^ z^ z^ z^ z^ z^ z^ z^ z^ z^ _4 . k..l..m..n..o..p..gY q..r..s..t..u..v..w..x..rZ u` v` x` J .y..z..A..B..C..D..E..;] ,] F..-- %- %- &- &- &- &- &- &- *- *- *- *- AV G..O .F` {Z H..fP ~M I..U .S .yZ J..YS gP YS K..BW S .Q .U .L..H` yX M..N..O..P..Q..R..e` S..S..T..U..V..O: O: @H uw =a SM W..Z[ cg cg cg cg cg ta ta ta X8 cg cg cg bi bi Bb dg dg DL kn e| x4 Em X..vI B< jy jy NO m pE pE jj Nv gj +m F1 vI 8 Mh Sz Vw !m Di Z... |~ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ j{ 94 . `..7o #W 8o Vg Wg uL (b +._b A0 la !U 4K p' q' q' =) =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC {U .+.`1 `1 `1 `1 k} k} k} *' L+ H@ ++.| ^ ^ ^ ( . . . . . . . . . . . ", +". . . . . . . . . . . . . . ~ ^ ^ ^ { @+.9+ #+.a# /$ /$ /$ Zh Zh * .$+.%+.:T = .0v X +y > .&+.&+.`Z Z ! .! .&..*+.=+.$L $L $L -+.)- )- )- )- )- )- )- )- )- )- )- '- ,- ,- >- >- >- >- >- >- >- >- ;+.1u 1u >+.^ ./ .#Z >..,..'..dH ,+.'+.'+.)+.!+.~+.{+.]+.^+./+.(+.zk eS eS _+.B4 LM cP 'O vZ $- $- $- $- $- $- $- $- $- $- $- #- #- #- #- #- #- #- #- #- #- :+.<+.m8 $S [+.}+.|+.d..0` 1+.c..2+.3+.4+.5+.6+.7+.8+.9+.9+.9+.9+.9+.0+.a+.X8 |H |H |H b+.@- @- @- @- @- @- @- @- @- @- @- =- AS 8 .c+.^Z 1X 1X &K dL O .v Q+.Ow YA iF Y.. C *5 j- j- k- k- l- l- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- v- w- Ad R+.Wo Vo .B zn S+.1~ yq B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] B] .@@.&+.`Z ) .#@.#@.DF *+.=I ;X $L $L $L $@.!- !- )- )- )- )- )- )- )- )- )- )- )- '- ,- ,- >- >- >- >- >- >- %@. } } &@.>..^ ./ .*@./ .=@.dH '+.'+.-@.;@.>@.>@.,@.'@.)@.!@.)@.KB -1 ~@.CL {@.&- &- &- &- %- %- %- $- $- $- $- $- $- $- $- $- $- $- $- #- #- #- #- #- #- #- =N )7 )7 ]@.^@./@.(@._@.:@.<@.<@.[@.}@./@.o .o .o .|@.1@.|@.|@.|@.|@.|@.2@.|H |H |H ][ JE @- @- @- @- @- @- @- @- @- @- @- @- @- @- @- WD OQ AS uH TT TT O .d+.-K ZR 1} Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ I3 . 3@.4@.m..n..o..5@.6@.7@.r..8@.9@.0@.a@.b@.c@.pY d@.I .x` J .e@.y..A..f@.f@.g@.h@.i@.]/ j@.k@.L] n( l@.*- *- *- *- *- *- *- =- =- =- =- =- =- =- ,- }; m@.C4 H4 n@.o@.F` F` F` F` F` F` G+.p@.{Q K4 H4 q@.C4 L+.r@.s@.s@.t@.{- )- )- )- )- )- !- ~- u@.v@./s /s /s kn kn kn (q (q (q (q (q kn kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q (q qn XQ 2Q w@.LB !l u4 7} Hm c| c| e| B[ B[ B[ B[ B[ B[ B[ B[ B[ ,T ,T ky ky ky ky ,T ,T ,T ,T &m &m &m &m d| d| d| d| rE MB :M ` .PZ ZW #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ =4 x@.{t ..;b y@.Q+.Ow z@.iF Y..b6 *5 j- k- k- l- l- m- m- m- m- m- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- v- w- w- (v /v ^v 7k )T Sm {v A@.. kd #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ #^ 8! . 7G YM #W B@.Li Wg Id Z9 j )U Oi ]8 !U N h) q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC {U C@.`1 `1 `1 `1 k} k} k} B| B$ e+ D@.$ ^ ^ ^ ^ & . . . . . . . . . . . ", +". . . . . . . . . . . . . . S< 1 ^ ^ ^ ^ C{ E@.F@.0# /$ /$ `+.Zh @.Yx Yx G@._w >X +y > .)W )W !B ) .#@.#@.DF *+.*+.H@.;R $L $L $L I@.~- ~- !- )- )- )- )- )- )- )- )- )- )- )- )- '- '- ,- >- >- >- >- BP 7| } J@.*@.*@./ .dH dH K@.K@.L@.L@.M@.N@.O@.P@.Q@.R@.Q@.R@.R@.@D +f +f +f S@.&- &- &- &- &- &- &- &- %- %- %- $- $- $- $- $- $- $- $- $- $- $- $- $- $- #- -/ Lu )7 )7 T@.o .o .U@.U@.U@.U@.1@.1@.1@.0+.0+.0+.0+.0+.0+.0+.0+.1@.1@.|@.V@.bi bi bi W@.#- @- @- @- @- @- @- @- @- @- @- @- @- @- @- @- @- @- @- AS TT ^Z :D . :2 W( W( W( W( W( W( W( W( W( W( W( WM I8 X@.Y@.bU Z@.j+.`@. #..#.+#.@#.##.$#.%#.s+.d@.x` &#.I .J .*#.=#.-#.;#.>#.,#.y` '#.)#.wW E^ '^ S: *= |[ !#.~#.*- *- =- =- =- =- =- =- =- -- -- -- -- ;- ;- ;- '- !- t@.D` {#.{#.{#.D` t@.t@.}; }; ]#.~- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ^#./#./s kn kn (q (q (q (q (q (q (q kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q (q qn XQ XQ XQ B[ B[ B[ B[ (q (q (q qn B[ B[ ky B[ B[ B[ B[ B[ ,T ,T ,T ky ky ky ky ,T ,T ,T ,T d| &m &m &m &m d| d| d| (#.rE MB :M ` .PZ 82 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ E7 PZ {t ..;b y@.Q+.2M z@.iF Gz b6 *5 k- k- l- l- m- m- m- m- m- n- o- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- w- w- x- z- Bn Ym lF Z` ID )m 07 I8 &3 ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ /t h3 My VO Pf ]b tN 7l Mi _#.vN !H :#.3t %0 (5 q' q' q' =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC {U @..pa `1 `1 `1 k} k} k} k} l# '> b, <#./ ^ ^ ^ ! . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . = ^ ^ ^ ^ [#.8% }#.:@ (# /$ |#.Zh |#.1#.1#.2#.3#.+y > .)W )W .` ) .4#.#@.5#.6#.7#.8#.8#.ZY 1u 1u $L 9#.~- ~- ~- ~- !- )- )- )- )- )- )- )- )- )- )- )- )- '- '- ,- ,- >- >- =..`[ DL >../ .=@.dH K@.K@.0#.,@.;@.>@.P@.P@.P@.a#.O@.R@.b#.c#.d#.yN +f +f e#.*- *- *- *- &- &- &- &- &- &- &- &- %- %- %- $- $- $- $- $- $- $- $- $- $- $- $- f#..f .f `_ g#.0+.0+.0+.1@.1@.1@.0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.h#.1@.1@.i#.dg }H }H }H 8Z [; [; [; [; [; [; [; [; [; [; [; [; [; [; [; [; [; #- #- vH E` j#.[2 S7 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 02 . k#.l#.m#.n#.o#.p#.q#.7@.r..r#.s#.0@.a@.t#.u#.pZ I .v#.J .w#.x#.v+.y#.v+.,#.z#.'#.A#.B#.C#.D#.E#.z! 7{ B) E) F#.G#.=- =- =- =- =- -- -- -- -- ;- ;- ;- ;- >- >- >- >- >- >- >- >- >- >- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- ~- ~- {- H#.=m (q (q (q (q (q (q (q kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q (q XQ XQ XQ XQ B[ B[ B[ B[ (q (q qn qn B[ B[ ky ky B[ B[ B[ B[ ,T ,T d| ky ky ky ky ,T ,T ,T ,T d| &m &m &m &m d| d| d| d| (#.UM I#.:M ` .PZ 82 r% ^ ^ ^ Rd R#.E@./> (> /$ * .Zh S#.Yx T#.Yx Y1 > .`Z !B .` ) .4#.#@.5#.U#.U#.7#.7#.V#.&+. } 1u 1u W#.~- ~- ~- ~- ~- ~- !- )- )- )- )- )- )- )- )- )- )- )- )- '- '- ,- ,- I@.`[ `[ X#.,..0#.0#.,@.,@.;@.>@.P@.>@.N@.a#.O@.R@.b#.c#.Y#.Z#.Z#.c: yN yN S3 vZ *- *- *- *- *- *- &- &- &- &- &- &- &- &- &- &- %- %- %- $- $- $- $- $- $- $- zJ `#..f .f $.h#.h#.h#.h#.h#.h#.0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.h#.h#.h#..$.}H }H }H }H +$.#- #- #- #- #- #- #- #- #- #- #- #- #- #- #- #- #- #- cN RL . ~2 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< q5 `| @$.#$.$$.1/ %$.&$. #.*$.+#.=$.##.-$.%#.!@.oZ d@.v` J .w#.*#.;#.y#.f@.g@.,#.z#.;$.>$.qY ,$.'$.)$.!$.e) :( s] D) &d .A ,- -- -- -- -- ;- ;- ;- ;- ;- >- >- >- >- >- >- >- >- >- ,- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; ~$.{$.(q (q (q (q (q kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q (q XQ XQ XQ XQ B[ B[ B[ B[ (q (q qn qn B[ B[ ky ky B[ B[ B[ B[ ,T ,T d| d| ky ky ky ky ,T ,T d| d| &m &m &m &m d| d| d| d| (#.(#.UM hj :M ` .PZ 82 Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ E7 ]$.^$. ..;b Kh CI 2M Ax 26 Gz /$.=5 l- l- m- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- y- tp LD Mh Sz Vw ($._$.`A . Ya Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Y/ Qh I8 :$.OY Vc Qe X <$.Mi 0 +0 3K Cq [$.YO :5 q' q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp WC WC WC WC WC WC {U }$.Cj `1 `1 `1 k} k} k} k} l# |$.1$.K$ ] ^ ^ ^ 5 . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . > ^ ^ ^ ^ 2$.D# C$ :@ R@ `C Zh `+.1#.1#.3$.4$.5$.`Z Z 6$.*D ! .5#.U#.U#.CJ H@.7$.8$.' .$L } 1u 9$.~- ~- ~- ~- ~- ~- ~- ~- !- !- )- )- )- )- )- )- )- )- )- )- )- )- '- 0$.)C `[ Yy 0#.0#.0#.,@.,@.a$.b$.;@.c$.c$.N@.R@.b#.R@.b#.Y#.d$.f..zF yN yN yN e$.=- =- *- *- *- *- *- *- *- *- &- &- &- &- &- &- &- &- &- &- %- %- %- %- $- $- $- f$..f .f bi g$.h#.h$.h$.h$.h$.i$.i$.i$.i$.i$.i$.i$.j$.j$.j$.j$.j$.0+.0+.0+.k$.)7 )7 )7 P: y| #- #- #- #- #- #- #- #- #- #- #- #- #- #- #- #- =- E4 ya r5 '8 H< H< H< H< H< H< H< H< H< H< *3 . l$.6I m$.n$.o$.p$.Ut q$.r$.s$.t$.u$.v$.w$.x$.y$.v` J .z$.*#.;#.v+.A$.B$.w+.C$.;$.D$.qY qY E$.)$.F$.G$.H$.I$.:( C) == D[ J$.K$.-- ;- ;- ;- ;- >- >- >- >- >- >- >- >- >- >- ,- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; {- {- {- L$.M$.(q (q (q kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q qn XQ XQ XQ XQ B[ B[ B[ B[ (q qn qn qn B[ ky ky ky B[ B[ B[ ,T ,T ,T d| d| ky ky ky ky ,T ,T d| d| d| &m &m &m d| d| d| d| (#.(#.(#.rE jy :M ` .PZ Yo 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ w: ]$.N$. ..;b Kh CI Mw Ax 26 37 /$.q- l- m- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- Wm <9 Ke Vo O$.zn P$.)v ZR 1} 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ 9_ z8 . nJ Dn En &c /b Q$.u0 R$.UZ %W Ld gk C0 S$.We q' q' =) =) h) h) h) l! l! .~ h~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC {U PD `1 `1 `1 `1 k} k} k} B| a@ e+ !% T$.^ ^ ^ ^ * . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . 6[ ] ^ ^ ^ U$.-, 6+ #+.a# V$.Zh `+.1#.3$.3$.3$.)] Z W$.) .! .&..X$.X$.H@.H@.7$.Y$.Z$.`$.m8 $L $L %.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- )- )- )- )- )- )- )- )- )- )- )- )- .%. } %L 0#.,@.,@.a$.b$.;@.;@.O@.b$.R@.b#.+%.+%.+%.b#.+%.d$.@%.#%.1u 1u yN $%.=- =- =- =- =- =- *- *- *- *- *- *- *- *- *- &- &- &- &- &- &- &- &- &- &- &- %- %- F[ )7 )7 fG 9+.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h$.h#.i$.i$.i$.%%.uZ )7 )7 )7 &%.p( $- $- $- $- $- $- $- $- $- $- $- $- $- $- $- N .*%.. Qa y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ s< . =%.SU -F -%.;%.>%.,%.eE 3x '%.)%.!%.~%.{%.x` v` J .]%.w#.y..;#.z..A$.,#.,#.z#.A#.B#.C#.,$.^%./%.(%.F$._%.:%.<%.[%.F) 8{ x2 Mo #L ,- >- >- >- >- >- >- >- >- >- >- ,- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- }%.|%.(q kn kn kn kn qn qn qn qn qn qn qn qn (q (q (q qn XQ XQ XQ XQ B[ B[ B[ B[ (q qn qn qn B[ ky ky ky B[ B[ B[ ,T ,T d| d| d| ky ky ky ky ,T ,T d| d| d| &m &m &m &m d| d| d| (#.(#.(#.(#.rE 1%.2%.` .PZ Yo 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: w: ]$.3%.4%.;b Kh +w Mw Ax 5%.37 gF q- m- m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- 3; ^5 ^v 6%.7%.Uw Tw 8%.. `/ 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: 6: Qa . 2K (u Vc 8o + .9%.w0 vL +0 _b A0 # .- >- >- >- >- >- >- ,- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- ]- ]- ]- ]- I%.RT kn kn qn qn qn jn qn qn qn qn (q (q qn qn qn XQ XQ oP oP B[ B[ B[ B[ qn qn qn B[ ky ky ky KB B[ B[ ,T ,T d| d| d| ky ky ky ky ,T d| d| d| d| &m &m &m &m d| d| d| d| (#.(#.(#.(#.lN 1%.2%.J%.PZ Yo H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< w: ]$.r/ K%.;b Wb +w Mw PC 5%.L%.gF M%.m- m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- :9 p0 Jy Z` N%.Hy |o E~ /t H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< H< 78 r5 O%.Dn Of Gd /b P%.Q%.Te y0 39 R%.W+.S%.e7 OD q' =) =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC WC {U rF `1 `1 `1 `1 k} k} k} T%.L+ H@ U%.V%.^ ^ ^ ^ B@ . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . .I / ^ ^ ^ <3 !% 6+ g% W%.O^ Zh Yx 3$.3$.X%.Y%.Z%.4#.6#.*+.*+.7#.H@.Z$.Z$.8$.`%.jM &.(q m8 m8 ;a {- {- {- }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- )- )- )- )- )- )- )- )- .&. } } +&.;@.;@.;@.O@.@&.O@.c$.R@.b#.Y#.b#.b#.d$.@%.#&.k%.k%.k%.$&.+f +f +f %&.-- -- -- -- =- =- =- =- =- =- =- =- =- *- *- *- *- *- *- *- *- *- *- *- &- &- &- &- &&.)7 )7 {3 *&.0+.0+.0+.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.-&.0+.0+.0+.i$.0+.;&.[H [H [H [H >&.$- $- $- $- $- $- $- $- $- $- $- $- %- G ,&.`| &3 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| +8 . '&.0S )&.xU T CX NH AU i( !&.~&.{&.]&.^&./&.]%.]%.y%.(&.u+.e@.u+.u+.C$._&.,#.z%.>$.,$.E$.G$.'$.F$.F$._%.:&.<&.:%.[&.}&.|&.I/ B( Z< 'p ][ 1&.dS >- >- ,- ,- '- '- )- )- )- )- )- )- )- )- )- )- )- )- )- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- 2&.3&.qn qn jn jn qn qn qn qn qn qn qn qn qn XQ XQ oP oP B[ B[ B[ ,T qn qn qn B[ ky ky ky KB B[ ,T ,T ,T d| d| d| d| ky ky ky d| d| d| d| d| &m &m &m &m d| d| d| d| (#.(#.(#.(#.(#.4&.1%.5&.J%.PZ Yo y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ :q ]$.r/ 6&.;b Wb +w Iy PC Ng L%.77 M%.m- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- w- w- x- x- x- y- y- y- y- z- z- ,5 0a 7&.8&.GI _l {v 9&.. I3 y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ y[ Ya . 0&.Tg Pe 8o Vg Wg Id (b Sf _b A0 .n $.C%.)$.'$.F$.I&.E%.<&.J&.<&.F%.K&.L&.=y M&.N&.Z< 24 24 Ab Mo j%.l%.'- )- )- )- )- )- )- )- )- )- )- )- )- )- )- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- O&.P&.jn jn qn qn qn qn qn qn qn qn qn XQ oP oP oP B[ B[ ,T ,T qn qn B[ B[ ky ky KB KB B[ ,T ,T d| d| d| d| d| ky ky ky d| d| d| d| d| d| &m &m &m e| d| d| d| (#.(#.(#.(#.(#.(#.6} Oo 2%.J%.PZ {0 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| :q ]$.r/ Q&.Xg Wb +w Iy Q9 Ng L%.77 q- m- m- n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- x- x- x- y- y- y- y- z- z- z- C- LD Mh R&.TH !m 4G S&.I8 Z7 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| 8| ]2 ZR 9q ~T Uc %c yj T&.Q%.+..y0 ;c pF :#.b7 U&.V&.q' =) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC WC }$.pa `1 `1 `1 `1 k} k} k} (@ i$ D# W&.X&.^ ^ ^ ^ * . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . @ . . 6[ r% ^ ^ ^ ^ 2. e+ Y&.UD =# $+.X%.X%.X%.Y%.Y%.Z&.8$.h&.7$.8$.,I Y$.`%.Y$.`&.lM lM )V $L $L m8 *.]- ]- {- {- {- {- }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- )- )- )- )- W#.1u yN dH >@.O@.c$.R@.b#.Y#.b#.b#.+%.d$.d$.p&.p&.q&.8+..*..*..*.4b +*.+*.+*.@*.;- ;- ;- ;- ;- -- -- -- -- -- -- =- =- =- =- =- =- =- =- =- =- =- *- *- *- *- *- *- V3 .f ae ae #*.h#.h#.h#.h#.h#.0+.0+.0+.=&.j$.j$.j$.j$.j$.h#.h$.h$.h#.h#.h$.$*.%*.bi bi bi - 0Y fT kP gg H5 H5 H5 H5 H5 H5 H5 H5 H5 H5 H5 @a . &*. U **.RU =*.FW BX hP )Y -*.;*.]p >*.HH i@.,*.]%.*#.;#.;#.G&.=#.>#.,#.z%.'*.>$.;$.B%.C%.'$.)$.(%.E%.E%.J&.<&.)*.K&.L&.!*.L&.~*.{*.]*._( ^*.*} -d -d /*.(*.)- )- )- )- )- )- )- )- )- )- )- )- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- _*.(q qn qn qn qn qn qn qn qn XQ oP oP oP B[ B[ ,T ,T qn qn B[ B[ ky ky KB KB ,T ,T ,T d| d| d| d| d| ky ky d| d| d| d| d| d| d| &m &m &m e| d| d| d| d| (#.(#.(#.(#.(#.e| - >- >- ;- ;- ;- ;- ;- ;- -- -- -- -- -- -- -- =- =- =- =- =- =- =- =- =- =- =- =- =- l*.ae ae P: m*.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.=&.j$.j$.j$.h#.h#.h#.h#.n*.5/ bi bi bi X1 {@.&- &- &- *- *- *- *- *- G..nR #.>#.q*.A%._&.'*.'*.r*.B%.G$.s*.)$.t*.u*.J&.:&.v*.F%.K&.L&.w*.x*.}&.{*.{*.-E y*.|} p> a[ =_ X8 z*.A*.)- )- )- )- )- )- )- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; {- {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- B*.i%.qn qn qn qn qn qn oP oP oP oP B[ ,T ,T ,T qn B[ B[ B[ ky KB KB KB ,T ,T d| d| d| d| d| d| ky ky d| d| d| d| d| d| d| &m &m &m e| d| d| d| d| (#.(#.(#.(#.(#.e| e| c :#.H*.%0 I*.q' =) =) h) h) h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: e: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC WC J*.8# `1 `1 `1 k} k} k} I6 m# '> K*.L*.`: ^ ^ ^ ^ B@ . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . + . . . ~ ^ ^ ^ ^ M*.p% I0 Bp N*.X%.X%.Y%.0*.a*.a*.a*.O*.Z$.Y$.`%.j&.`%.`&.e*.VL P*.5#.Q*.$L $L R*.]- ]- ]- ]- ]- ]- ]- {- {- {- }; }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- S*.n4 1u { .R@.b#.Y#.Y#.Y#.Y#.Y#.Y#.+%.+%.o&.o&.T*.q&.U*.U*.i*..*.k%.Bb +*.+*.S3 >- >- >- >- >- >- >- ;- ;- ;- ;- ;- ;- ;- -- -- -- -- -- -- -- =- =- =- =- =- =- =- =- >- V*..f .f W*.o%.o%.o%.j$.j$.j$.j$.j$.=&.=&.=&.=&.i$.0+.0+.0+.i$.i$.h#.h#.h#.X*.W1 [H [H |H =..*- *- *- *- *- *- *- !- O .Y*.r0 {0 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 Ya . Z*.x&.`*.!P AT ,F BY hP )Y !Y 0I ~M =..=.=m +=.+=.W, ,#.G&.@=.#=.$=.A%._&._&.%=.>$.&=.*=.G$.==.G$.E%.u*.-=.v*.;=.K&.>=.!*.,=.=y X#.{*.'=.-E )=.!=.~=.=_ =_ =_ =_ Vd =..A*.)- )- )- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; {- {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- :- {=.]=.qn qn qn }} oP oP oP oP B[ ,T ,T ,T qn B[ B[ B[ ky KB KB ln ,T ,T d| d| d| d| d| d| ky ky d| d| d| d| d| d| d| &m &m e| e| d| d| d| d| (#.(#.(#.(#.(#.e| e| e| pP ^=.2%.` .Dw f+.S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 S7 |0 ]$.r/ S_ /=.(=.+w wd Q9 iF (9 _=.n- o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- A- A- A- B- vj R+.Wo :=.N%.kJ <=.HA - >- >- >- >- >- >- >- >- >- >- ;- ;- ;- ;- ;- ;- ;- -- -- -- -- -- -- -- -- -- =- =- e=.Lu .f .f f=.h$.h$.h$.h$.h$.h$.h#.h#.j$.j$.j$.j$.i$.i$.i$.0+.0+.i$.i$.h#.h#.g=.Lu |H |H |H .A *- *- *- *- *- *- L+.RR h=.. l{ }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 `d {: 9! i=.%i )&.j=.EV eU 4R 6V k=./6 S .B+.l=.s@.m=.0: Y] n=.D../%.@=.o=.,#.'#.>$.z%.z%.&=.p=./%.==.)$.q=.u*.<&.<&.v*.F%.K&.!*.r=.MJ ot s=.s=.t=.'=.Kr u=.v=.w=.,] =_ 90 =_ 0e n4 x=.y=.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- {- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- z=.3&.}} }} oP oP oP oP ,T ,T ,T ,T B[ B[ B[ B[ }} KB KB ln ln d| d| d| d| d| d| d| ln d| d| d| d| d| d| d| d| d| &m ln ln d| d| d| d| (#.(#.(#.(#.(#.e| e| e| qE pP ^=.Bz MY Dw f+.W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W0 ]$.r/ S_ /=.A=.+w 2M Q9 86 (9 QZ o- p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- B- B- H- Sc +c 8&.n6 RZ {v B=.. D1 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 W7 :f <7 Aq (u 5l ^b 6l 7l Mi vL WO !H :#.is U&.I*.=) =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ &( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC {U &W `1 `1 `1 `1 k} k} k} xL ,% 5+ )> C=.] ^ ^ ^ D=.E=.. . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . R- ^ ^ ^ ^ F=.G=.F{ H=.I=.7=.0*.a*.0*.a*.a*.J=.K=.`%.j&.L=.M=.N=.a=.3w O=.P=..P $L $L i%./- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- }; ~- ~- ~- ~- ~- ~- ~- ~- ~- Q=.1u 1u iG c#.+%.d$.R=.R=.R=.S=.o&.c=..*.i*.i*.8+.T=.U*.j*.j*.^@.U=.1u 1u 1u V=.>- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- ;- ;- ;- ;- ;- ;- ;- ;- -- -- -- -- -- -- W=..f .f 6v X=.=&.=&.=&.=&.=&.i$.i$.h#.h#.h#.j$.j$.j$.i$.i$.=&.h#.h#.i$.i$.h#.Y=.n4 ;a ;a ;a Z=.=- =- =- =- ~Q BV FO `=.m[ 78 @8 @8 @8 @8 @8 @8 @8 @8 @8 @8 Rl . ,8 -.5D HV .-.+-.@-.DW }X #-.$-.%-.S..H4 ~- ;- &-.`_ *-.}^ e) =-.A%.w+._&._&.>$.%=.C%.--./%.)$.G$.;E _%.<&.:%.;-.{x w*.L&.MJ >-.As s=.t=.'=.,-.'-.v=.)-.!-.!-.Wy ^[ Gp cg Z[ cg |H 9$.-+.~- ~- ~- ~- ~- ~- ~- }; }; {- {- {- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- ~-.{-.oP oP oP oP ,T ,T ,T ,T d| B[ B[ B[ }} KB ln ln ln d| d| d| d| d| d| ln ln d| d| d| d| d| d| d| d| d| ,T ]-.;a ;a ]-.d| d| d| (#.(#.(#.e| e| e| e| qE qE 6F yz ^-.MY Dw f+.}0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 W0 ]$.r/ S_ /=./-.+w (-.Q9 86 _-.T9 p- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- :-.Ym R&.Vw <-._$.ds m{ xn }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 }0 /0 . tP Dn oJ [-.}-.Q$.O#.|-.1-.%W Oi u6 2-.a&.l! =) =) h) h) h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC WC 3-.I6 `1 `1 `1 `1 k} k} 4-.1$ '> K*.5-.6-.^ ^ ^ ^ % . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . & D=.^ ^ ^ ^ 7-.8-.sr 9-.0-.a*.0*.a*.a*.J=.J=.J=.a-.c*.M=.b-.VL a=.^x P=.^x ]S $L $L Q*.c-./- /- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- }; }; ~- ~- ~- ~- ~- ~- {- d-.1u /*.e-.e-.R=.R=.S=.f-.g-..*..*.T*..*.i*.h-.h-.q&.^@.U*.^@.^@.F#.1u 1u CL i-.,- ,- ,- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- ;- ;- ;- ;- ;- ;- ;- ;- ;- ;- j-..f .f k-.h#.h#.h#.h#.h#.h#.h#.=&.=&.i$.h#.i$.j$.j$.j$.=&.=&.h#.h#.i$.i$.9+.2@.|H |H |H DL l-.=- =- =- {P RR m-.. I< 78 78 78 78 78 78 78 78 78 78 `d 2) m{ n-. U o-.p-.XE q-.CY 6V DO R .J..A+.[..r@.>- >- >- r-.%L [< P{ Y] s-.t-._&.'*.>$.&=.--./%.(%.G$.I&.u*.u-.wW v-.{x [&.L&.L&.Lr Xp w-.{*.t=.x-.,-.u=.y-.-I VI !-.jG zF ;B |} Z[ Z[ Gp bi Bb /#.z-.{- ~- ~- }; {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- <- <- <- A-.B-.oP oP oP ,T ,T d| d| B[ B[ }} }} KB ln ln ln d| d| d| d| d| d| ln C-.d| d| d| d| d| d| d| d| d| }} ;a ;a ;a .P .P jn d| (#.(#.(#.e| e| e| e| e| qE (#.6F tE ^-.` .Dw mb 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 W0 ]$.r/ S_ /=.D-.+w 2M Q9 E-.57 gF r- p- p- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- U9 -w F-.k6 o6 tq (l G-.. ~e 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 q5 98 H-.Oe Vc 8o Wc 9%.@ .vL Sf 3K O8 I-.J-.V&.=) =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn Hn xp xp xp xp xp xp WC WC WC WC WC WC K-.L-.`1 `1 `1 `1 k} k} k} (@ F* H@ g: V. ^ ^ ^ ^ 5 . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . B@ ^ ^ ^ ^ M-.N-.}3 O-.P-.Q-.a*.a*.J=.a*.J=.R-.R-.S-.b-.VL a=.^x T-.U-.U-.- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- ;- ;- ;- +;.@;..f .f #;.j$.i$.i$.i$.i$.j$.i$.i$.i$.$;.$;.%;.i$.i$.j$.j$.=&.=&.h#.h#.h#.9+.&;.|H |H |H P: PI -- *;.=;.-;.}9 E_ `d '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 T7 . ;;. -.0S >;.JW ,;.@-.fX GZ N` ,6 ';.e` I+.}; >- >- >- >- D );.!;.:( :( i_ ~;.>$.p=.&=.C%.)$.(%.{;.{;.v*.v*.;=.;-.{x K&.x*.!*.Lr w-.}&.t=.t=.,-.u=.];.EJ ^;./;.(;._;.AF zF zF `, d^ Gp Gp Gp cg [H V*.:;.}%.{- {- {- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- <- <- <- <- <- <- <;.[;.oP ,T d| d| d| B[ }} }} }} ln ln ln ln d| d| d| d| d| ln ln C-.d| d| d| d| d| d| d| d| oP .P ;a ;a ;a .P .P .P .P d| (#.(#.e| e| e| e| e| qE (#.(#.@t tE @6 ` .Dw mb '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 W0 ]$.r/ S_ };.|;.1;.P9 - >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- .&.9K .f Bb j;.i$.j$.j$.j$.j$.i$.i$.j$.i$.i$.k;.k;.$;.-&.-&.-&.-&.l;.m;.m;.m;.n;.o;.#N #N |H W1 ]V L+.G+.p;.. _A ne ne ne ne ne ne ne ne ne ne `d -t Hb q;.%i r;.zT T s;.- >- >- >- >- >- >- q%.^[ T: 9{ D) n8 t;.u;./%.;E :B v;.,A <&.w;.F%.x;.y;.w*.!*.Lr Yp w-.w-.t=.Zq -E h*.y-.-I z;.jG jG A;.AF zF .E yF B;.Vy C;.cg cg Vd Vd bi kn D;.E;.]- ]- ]- ]- ]- ]- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- <- <- <- <- <- <- [- [- [- [- F;.,T d| d| B[ }} }} }} ln ln ln ln d| d| d| d| d| ln C-.C-.d| d| d| d| d| d| d| ,T IB ;a ;a ;a ;a .P .P .P .P IB ln e| e| e| e| e| e| (#.(#.(#.(#.6F Nv Km J%.Dw mb `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d 8F ]$.r/ S_ };.|;.G;.5a BI Ng 57 77 s- p- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* H;.R+.Wo Vo Uz <*.<=.I;.l5 Hh `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d `d 5e . J;.U+.K;.Ug Vg Wg uL L;.M;.49 O8 B0 N;.I*.=) =) h) h) h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC WC hk `1 `1 `1 `1 `1 k} k} +L h% 4$ )% 7$ <3 ^ ^ ^ ^ A+ . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . +N r% ^ ^ ^ ^ O;.P;.Q;.R;.S;.J=.J=.R-.R-.R-.R-.T;.U;.V;.T-.b;.W;.X;.Y;.*+.m8 m8 m8 Z;.(- (- (- /- /- /- /- /- ^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- }; }; `;. } |H b#.f;.g;.8+.8+.T=.U*.T*.j*.T*.i*.j*.^@.Z-.Z-.h;.Z-.h;.o . >.yN yN yN .>.)- )- )- )- )- )- )- )- '- '- '- '- ,- ,- ,- ,- >- >- >- >- >- >- >- >- >- >- >- >- >- >- >- 8K ae ae ip +>.-&.-&.-&.i$.j$.j$.i$.i$.$;.=&.=&.@>.@>.-&.-&.-&.-&.l;.m;.m;.m;.%%.t&.|H |H |H #>.c- $>.%>.. Fu C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 dw . #T .U 5D +T j=.@K iP y&.sM N` '6 L..xX I+.t@.>- >- >- ,- ,- ,- '- '- Q=.w| I/ I/ B( &>._B *=.*>.:B {;.=>._B ;=.F%.{x w*.w*.=P =y w-.=y t=.t=.->.-E -L ;>.-I VI jG jG NE AF zF .E yF B;.'B LE >B JL cg Vd bH bH ta ;a >>.,>.k&.^- ^- ^- ^- /- /- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- <- <- <- <- <- <- [- [- [- [- [- }- }- '>.)>.}} }} }} oP ln ln ln ln d| d| d| d| ln ln C-.C-.d| d| d| d| d| d| d| jn .P .P ;a ;a ;a ;a .P .P .P IB IB IB e| e| e| e| e| (#.(#.(#.(#.!>..sj ~m Ng Ie Pg s- p- p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- ,5 ^5 1l 6%.q6 #0 {>.]>.. e2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 m5 [2 ^>.Rh />.Vc yj (>.Q%.+...0 39 N8 Fn 9l 1=..~ =) =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC WC WC _>.`1 `1 `1 `1 `1 `1 k} I6 7Q C$ D# -( :>.^ ^ ^ ^ .% $ . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . 6[ ^ ^ ^ ^ % <>.:% [>.}>.|>.J=.R-.R-.1>.2>.T;.T;.3>.X;.W;.4>.5>.6>.P=.m8 m8 m8 7>._- _- (- (- (- /- /- /- /- /- /- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- 8>.$L 9>.0>.f;.8+.8+.d=.U*.T*.T*.i*.j*.a>.b>.b>.b>.`-.`-.c>.d>.c>.e>.%N o4 o4 #N f>.)- )- )- )- )- )- )- )- )- )- )- )- '- '- '- '- ,- ,- ,- ,- ,- >- >- >- >- >- >- >- >- >- >- g>.ae ae &%.u&.-&.h>.i$.i$.i$.k;.$;.$;.$;.$;.=&.=&.@>.i>.-&.h$.0+.9+.9+.9+.9+.j>.V@.|H |H Va k>.l>.<7 <7 <7 kP I8 I8 I8 I8 s1 s1 s1 s1 s1 s1 r0 m>.0S n>.!N IW o>..DO fN K..fP q>.r>.,- ,- '- '- '- '- )- )- )- )- i;.H%.Ab Z< x2 E) s>.:B {;.:B _B _B v-.F%.x;.w*.pt =y >-.=y w-.Zq Zq -E ];.-L -L -I DJ jG AF NE t>.zF ME gG &A *A LE Yy u>.>B v>.X8 bH bH bH cg n4 (q w>.,>.x>./- /- /- /- (- (- (- _- _- _- _- _- :- :- :- :- :- :- :- <- <- <- <- <- <- [- [- [- [- }- }- }- }- |- y>.z>.oP oP ln ln ln ln d| d| d| d| ln C-.C-.C-.C-.d| d| d| d| ,T jn ;a .P .P ;a ;a ;a ;a .P .P IB IB IB IB IB ]-.e| e| e| c| (#.(#.(#.$H $H ..W *8 Ie Pg 87 p- p- q- r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- )5 p0 Wo t6 B>.Zc }v |s .Nf Oe D>.Li Wg Id `9 'U K8 E>.qJ F>.G>.=) =) h) h) l! l! .~ .~ h~ h~ h~ h~ h~ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC WC >C 8# `1 `1 `1 `1 `1 k} k} _@ g@ H@ f> H>.^ ^ ^ ^ / * . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . @ . . . 3 ^ ^ ^ ^ I>. x J>.K>.P-.L>.R-.1>.2>.T;.2>.T;.2>.M>.X;.N>.6>.O>.O>.RT m8 m8 |j x>._- _- _- (- (- (- (- /- /- /- /- /- ^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- {- ]- P>.$L Q>.f../@.i*.U*.Y-.i*.j*.a>.b>.b>.b>.`-.Y-.%%.c>.%%.d>.h#.|@. ;.o4 o4 o4 R>.)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- '- '- '- '- '- ,- ,- ,- ,- ,- >- >- >- S>.eM #N #N T>.U>.U>.i$.i$.j$.i$.i$.k;.$;.$;.$;.=&.=&.=&.=&.h#.0+.0+.9+.9+.9+.9+.j>.Hj |H V>.W>.X>.Y>.fN eT Z>.4R FW `>.!N r;.%i ,. ,. -..U %i 0S ZT zT YT .,.ZS JO DZ +,.@,.T .P..o@.#,.)- )- )- )- )- )- )- )- )- )- )- S>.$,.X8 ]' 24 hc %,.;=.&,._B ;=.x;.F%.{x *,.=,.=y ot -,.'=.>L Zq ML y-.-L -L kG DJ jG NE jG ;,..E hG >,.*A *A .y &x u>.u>.(w Vy h! 2u X8 ta ta bi |H jn qn ,,.',.),.(- (- _- _- _- _- _- :- :- :- :- :- :- :- <- <- <- <- <- <- [- [- [- [- }- }- }- }- }- |- |- |- !,.~,.ln ln ln ln d| d| d| ln ln C-.C-.C-.C-.d| d| d| oP }} ;a .P .P .P ;a ;a ;a ;a .P .P IB ]-.IB IB IB IB .P ln c| c| (#.(#.(#.e| $H $H ./,.. _A z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 z8 *3 -3 K1 (,.~T sN yj ga <$.+..%V ;c N8 Ve Dq _,.@n =) h) h) h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn Hn ao xp xp xp xp xp WC WC WC WC WC Xz :,.`1 `1 `1 `1 `1 k} k} i# B$ 9+ .2 <,.[,.^ ^ ^ ^ % . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . , ~ ^ ^ ^ ^ },.F0 #+ |,.1,.2,.2>.T;.2>.T;.2>.2>.2>.3,.4,.X;.6>.5,.= .m8 m8 m8 6,._- _- _- _- _- (- (- (- (- /- /- /- /- /- /- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- 7,.$L $L 8,.i*.U*.Y-.q&.T*.T*.U*.j*.Z-.b>.Z-.Z-.%%.c>.9+.c>.c>.9,.%%.gM o4 o4 =m S>.)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- '- '- '- '- '- '- ,- 0,.Bb CL CL a,.b,.$;.U>.U>.i$.j$.k;.k;.@>.i>.$;.i>.=&.=&.=&.h#.0+.0+.9+.c>.c>.h#.c,.&L d,./O 6 e,.f,.J` hP @-.g,.2R IV `T h,.i,. U U 0S `T n>.GV JW `>.j,.BY JO GZ -*.=6 k,.e` E4 )- )- )- )- )- )- )- )- )- )- )- )- )- )- l,./s hc *} hc m,.,-._B n,.{x K&.!*.Lr =,.>-.w-.-N FN >L ->.];.u=.-L WI kG DJ jG A;.t>.;,.ME iG 'B cu cu $A Yy &x u>.Vy /w +D 3u ;B %N .T;.2>.2>.2>.N,.N,.O,.P,.5,.P,.6#.m8 m8 m8 Q,.:- :- _- _- _- _- _- _- (- (- (- /- /- /- /- /- /- ^- ^- ^- ^- ]- ]- ]- ]- ]- y=.$L $L R,.Y-.d=.q&.U*.U*.j*.Z-.b>.b>.Z-.%%.c>.c>.c>.c>.9,.h#.m;.m;. ;.9>.9>.S,.9#.!- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- j%.CL CL .P T,.@>.@>.k;.i>.i>.k;.@>.k;.U,.$;.V,.$;.u&.=&.i$.h#.h#.h#.9,.c>.9+.%%.W,.X,.Y,.=l (} A&.HZ Z,.`,.`>.-%. '.r;.>t `T `T >t **.)&.p-.2R YT l>..'.+'.DW J` ^6 J..xZ F+.s@.)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- @'.dD X8 Ab *} *} #'.{x [&.iv *,.*,.=y -,.w-.-N >L $'.y-.;L )-.WI -I kG %'._;.jG t>.;,.&D yF *A cu .y &'.u>.{C >B /w 8v +D fQ J@.*'.Oq v>.F#.P: Vd }H )7 )7 )7 |H 7| qn ='.-'.6,.;'.:- :- <- <- <- <- <- <- [- [- [- [- [- }- }- }- }- |- |- |- 1- 1- 1- 2- 2- 2- 4- >'.ln d| ln C-.C-.C-.C-.C-.ln }} IB .P .P ;a .P .P .P .P ;a ;a ;a ;a .P IB ]-.]-.IB IB IB IB .P .P IB IB ]-.(#.(#.e| $H $H LB LB 4&.Jm Km mN PZ /t m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 {: ]$.sg S_ ,'.t,.''.VV 6k Jf oN E8 o0 r- r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- E- F- )'.!'.F-.k6 o6 RZ Kd ~'.. 7^ m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 m5 {'.!} ]'.~T sN Ki 6l <$.@ ..X +X pF Ve Dq ^'.!c =) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC WC WC H,.wL 6# `1 `1 `1 `1 `1 k} B{ o# &! $d /'.('.^ ^ ^ ^ .% $ . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . 6[ ^ ^ ^ ^ z+ _'.:'.<'.['.}'.|'.T;.2>.2>.N,.N,.N,.1'.2'.P,.P,.^x 14 14 m8 {-.:- :- :- :- :- _- _- _- _- _- (- (- (- (- /- /- /- /- /- /- ^- ^- ^- ^- ]- ]- ]- 3'. } o4 4'.5'.^@.Y-.j*.^@.b>.Z-.^@.Z-.c>.c>.c>.9,.h#.m;.m;.l;.h#.l;.%L 9>.9>.kn 6'.~- ~- !- !- !- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- 7'.ae ae 7< 8'.-&.-&.-&.=&.j$.=&.=&.=&.=&.j$.i$.j$.h#.=&.i$.h#.h#.9,.9,.c>.9,.9'.0'.a'.{s ~l 0j b'.c'.l>.YT RU d'.HV +T +T >;.HV RU e'.2R 2R `>.FW @-.f'.[X M` =6 U .MU I+.{- )- )- )- )- )- )- )- )- )- )- )- )- !- !- !- !- S>.g'.uI 0e h'.=_ i'.'=.*,.j'.MJ w-.w-.Zq X#.Zq ML ;L dK WI >I -I kG DJ t>.BF AF &D &D $D *A cu k'.Xy HP HP >B -R -R 3u fQ 8E %P { .v>.l'.%N F#.2u Lu ta ta bi bi bi [H DL }} P>.m'.n'.o'.p'.q'.<- [- [- [- [- [- }- }- }- }- |- |- |- 1- 1- 1- 2- 2- 2- 2- 2- 2- 2- >'.ln C-.C-.ln oP }} ]-..P .P .P .P ;a .P .P .P .P ;a ;a ;a ;a .P IB ]-.{S IB IB IB IB .P IB IB IB v[ v[ r'.e| $H $H LB LB $H 4&..m ,l s'.PZ 6L Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig Ig {: ]$.r/ b_ ,'.t,.''.t'.u'.ED R9 +C u* r- r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- E- F- G- G- /5 x,.v'.s6 <-.3;.w'.K2 Qh Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb Tb `/ . Hi U+.(u XH *c Q$.u0 |-.j x'.Tx `c y'.vP z'.h) h) h) l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC H,.wL 6# 6# `1 `1 `1 `1 `1 k~ h% '> j+ ,w A'.^ ^ ^ ^ / * . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . + . . . ' ^ ^ ^ ^ S. B'.C'.[>.D'.E'.J=.2>.N,.N,.N,.1'.1'.1'.F'.G'.H'._o UQ UQ IB I'.:- :- :- :- :- :- _- _- _- _- _- (- (- (- (- /- /- /- /- /- /- ^- ^- ^- ^- ^- l,. } } J'.Y-.Y-.`-.b>.Z-.`-.`-.c>.c>.c>.c>.o .m;.m;.l;.h#.i$.i$.=&.K'.9>.9>.9>.R>.~- ~- ~- ~- ~- ~- !- !- !- !- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- 1T L'.ae ae V@.u&.-&.-&.-&.-&.$;.i$.i$.i$.i$.-&.i$.j$.h#.=&.h#.h#.m;.9,.c>.o .}@.M'.N'.O'.P'.Ta || Q'.R'.XE XE XE XE XE XE XE XE XE XE XE XE S'.T'.f'.DZ K` R .YS H` e` C4 )- )- )- )- )- )- )- )- !- !- !- !- ~- ~- ~- ~- ~- ~- ~- U'.V*.ta bm a[ Ab V'.MJ >-.ot w-.-N t=.W'.cK cK dK WI %z -I DJ jG AF NE ME &D yF $D cu cu k'.Xy HP HP >B -R -R 3u V@.X'.{ .{ .&N %N %N F#.fM +P xJ -..bi m4 bi |H ae ae ae Bb |H Bb ;a .P P>.Y'.Z'.`'. )..).+).@).#).$).%).&).*).=).-).;).>).,).').)).!).~).qn oP oP IB .P |H |H |H .P .P .P .P .P .P .P .P .P ;a ;a ;a ;a wJ ]-.]-.{S {S IB IB IB IB IB IB IB IB v[ v[ v[ {).LB LB LB LB $H 4&.hj 2%.yI PZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !< r/ b_ ,'.]).1< t'.^).`V 7a Nh u* r- r- r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- H;./).().k6 z6 ek Yc _).l5 _4 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 dw + NY Oe oJ &c + .:).@ .vL Sf !H Ve # .<).4K h) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC WC H,.wL 6# 6# `1 `1 `1 `1 `1 k~ [).C$ D# g: }).^ ^ ^ ^ ^ * . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . , 5 ^ ^ ^ ^ |).1).2).[>.3).S;.4).N,.N,.1'.1'.1'.1'.5).6).: .= .UQ UQ UQ 7).<- :- :- :- :- :- :- :- _- _- _- _- _- _- (- (- (- (- /- /- /- /- /- /- ^- ^- 8).i%. } 7| @%.b>.Z-.Z-.Y-.Y-.%%.%%.c>.o .c>.c>.9,.c>.h#.9+.l;.=&.=&.9).0).yN yN DL d;.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- !- !- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- a).l&.ae ae b).=&.=&.=&.=&.=&.$;.$;.i$.i$.i$.j$.i$.j$.=&.l;.m;.m;.m;.9,.c>.c).d).0..e).f).zA xD rh g).h).i)..'..'..'..'..'..'..'.q-..'.i)..J` !Y *6 j).O..F+.s@.)- )- !- !- !- !- !- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- k).l).[H Gp bm e/ 4/ CF m).n).GN FN ;L cK dK EJ WI %z kG DJ t>.t>.AF ME &D yF o).cu &'.k'.Xy u>.HP p).-R ^w ~C X'.@A h! :U zr %N %N F#.U3 7< xJ -..dg Lu ae ae ae ae Bb Bb Bb |H |H bi bi bi ;a |H 7| 7| 7| ;a }} 7| jn jn oP oP KB KB }} }} }} 7| IB .P .P .P .P |H |H |H |H .P .P .P o4 .P .P .P .P .P .P ;a ;a ;a wJ ]-.{S {S {S IB IB IB IB IB IB IB IB v[ v[ v[ v[ v[ c| LB LB $H $H zD B< _q .9,.c>.h#.9+.m;.l;.P).=&.j$.=&.Q).yN yN yN R).~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- !- !- !- )- )- )- )- )- )- )- )- )- )- )- S)./s ae ae T).=&.=&.=&.=&.=&.$;.$;.i$.=&.=&.i$.i$.=&.=&.=&.m;.m;.9,.c>.8+.4+.U).V).W)./} 50 zA Qv AU X).JO 4R 4R CY CY +'.L ;L dK dK WI WI -I kG &@.Z).AF AF ME hG yF *A &'.`).k'.u>.u>.>B p).-R ~C 8E @A :U h! v>.zr %N %N 6v c: 7< 8} -..dg Bb ae ae ae Bb Bb |H |H |H bi bi Bb Bb ;a ;a ;a ae ae |H |H |H |H |H |H |H |H #N #N #N CL CL .P .P .P .P |H |H |H |H .P .P .P o4 .P .P .P .P .P .P ;a ;a wJ IB ]-.{S {S {S IB IB IB t| IB IB IB IB v[ v[ v[ v[ v[ v[ v[ !.$H $H $H P+..!.kj sy +!.Ch @!.ze #!.Nb $b ]a $!.%!.7q 7q 7q $!.bj &!.&!.*!.&!.bj &!.&!.*!.rc *!.bj bj =!.8q ]a Jb -!.r/ b_ ,'.t,.;!.VV >!.j6 =8 Nh R r- r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- H;.R+.,!.:=.z6 ek }v '!.Dd )!.[v !!.9q '1 ~!.T+.T+.T+.c5 c5 c5 c5 c5 T+.~!.'1 '1 {!.]!.oJ Vc Ug Re ^!.uL (b +./!.@X la (!.vP h~ h) l! l! .~ .~ h~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC WC H,.wL 6# 6# 6# `1 `1 `1 `1 Py [).i$ N$ 7; _!.y' ^ ^ ^ ^ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6[ 1 ^ ^ ^ ^ :!.e% 9+ .Y-.Y-.3!.c>.c>.9,.c>.h#.9+.m;.4!.l;.l;.=&.=&.=&.=&.u&.^S o4 o4 S,.U'.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- !- !- !- !- !- !- )- )- )- Q=.|H ae 7| g=.=&.=&.$;.$;.$;.k;.i>.=&.=&.=&.i$.i$.=&.l;.m;.o .o .c>.U*.5!.6!.7!.8!.9!.._ 3n V fc 0!.a!.DZ DZ CZ CZ DZ 6V 6V [X AZ )Y b!.fN @,.J..c!.d!.H+.e!.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; }; {- {- ]- f!.DL }H F/ bH }H Oq VI P( y-.EJ WI WI -I TI (;.BF NE +&.yF hG $D *A &'.g!.Yy u>.HP >B 8v h!.;B 8E @A @A v>.i!.%N %N &L 6v U3 7< 8} ip Bb Bb ae ae Bb |H |H |H bi bi Bb Bb Bb ;a ;a ae ae ae |H |H |H |H |H |H |H |H #N #N CL CL CL .P .P .P .P |H |H |H |H .P .P o4 o4 o4 .P .P .P .P .P ;a ;a wJ IB {S {S {S {S IB IB IB t| IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ C-.$H $H $H j!.5} V_ mj Vt Cw AB ze #!.Nb $b k!.Jb Kb $b $b $b $b .b k!.l!.m!.m!.n!.]a ]a vc vc ]a ]a wc n!.k!.$b sg sg r/ b_ };.|;.G< o!.p!.Yw Mh UA u* r- 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- H- :5 Q8 q!.w6 #0 E*.,H (m r!.s!.t!.oJ uP Nf C,.Rh u!.v!.v!.v!.w!.u!.x!.Nf Ed (u sN XH Ny &c ^b P%.Q%.ia %V y!.`M z!.A).A!.na h) h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp WC WC $B B!.6# 6# 6# `1 `1 `1 `1 I6 [).C$ H@ f> w. C!.^ ^ ^ ^ 5 [ . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ti r% ^ ^ ^ ^ d, x v% D!.H).[!.E!.5).5).5).J).J).J).J).F!.G!.|!.|j H!.<- <- <- <- <- <- <- :- :- :- :- :- :- :- :- _- _- _- _- _- _- (- (- (- (- /- /- I!.$L $L J!.Y-.3!.c>.c>.9,.c>.h#.9+.m;.h#.h#.h#.=&.4!.4!.4!.u&.u&.u&.K!.o4 o4 o4 {-.}; }; }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- !- L!.wJ wJ kn M!.i$.i$.k;.k;.k;.$;.=&.-&.=&.m;.9,.m;.c>.9,.c>.o .c>.Z-.n .N!.O!.a .e .P!.Q!.~l dh 3n R!.|M DO J` J` J` J` L` S!.-*.T!.U!.V!.j).N..W!.F+.X!.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; }; {- {- {- {- {- {- ]- ]- Y!.`;.|H }H }H Gp cg ]w -I EJ WI bK UI TI (;.AF A;..E yF yF $D &'..y .y Yy u>.HP 6' 8v fQ ;B @A EP Oq v>.zr %N bQ &L c: U3 xJ ip dg Bb ae ae |H |H |H |H bi Bb Bb Bb Bb ;a ae ae ae |H |H |H |H |H |H |H |H |H #N #N CL CL CL .P .P .P .P |H |H |H |H .P .P o4 o4 o4 .P .P .P .P .P ;a wJ IB IB {S {S {S {S IB IB t| t| IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.LB $H $H t4 z[ -m 4} Ju Cw Z!.`!.#!.Nb sg r/ r/ r/ r/ r/ r/ r/ r/ r/ sg ~.-!..~.+~.$b Kb Kb Kb Kb $b @~. ~.sg sg sg r/ b_ };.D-.G< o!.#~.$~.Qg %~.1M 1; s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- Xm &~.,!.:=.z6 <*.3G -c 9%.Wc ^b Vc Of VO Oe Tg Ed Ed Ed Dn Dn YM (u VO K;.XH Vc &c &c 8o Vg Wg Id Z9 'U *~.=~.# .(!.U&.qF h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ &( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC -~.e> 6# 6# 6# 6# `1 `1 `1 I6 7Q C$ H@ sJ 2. ;~.^ ^ ^ ^ .% E=.. . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b9 / ^ ^ ^ ^ >~.-( v% ,~.S+ '~.E!.5).5).J).J).J).)~..@.O^ !~.|!.~~.[- [- <- <- <- <- <- <- <- <- :- :- :- :- :- :- :- _- _- _- _- _- _- _- (- (- (- {~.jn -a dD c>.c>.9+.9,.c>.9+.m;.h#.h#.h#.=&.4!.4!.4!.u&.u&.u&.U,.$;.V,.]~.o4 o4 o4 ^~.{- {- {- }; }; }; }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- $,.w2 w2 /s X*.i$.i$.k;.k;.k;.=&.m;.m;.m;.m;.9,.c>.9,.c>.|@.%%.%%.T=./~.(~._~.:~.<~.[~.}~.]K &a bf mj E-.^6 R .|~.|~.^6 1~.2~.3~.4~.5~.R..6~.7~.8~.~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- }; }; }; }; {- {- {- {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ]- 9~.0~.Bb bH Z[ Z[ dg -R UI UI TI TI BF A;.+&..E hG yF a~..y Xy .y u>.u>.b~.6' h!.fQ 8E EP @A Oq i!.zr c~.&L 6v c: 7< P: ip dg Bb |H |H |H |H |H Bb Bb Bb Bb Bb ae ae ae yN |H |H |H |H |H |H |H |H |H #N CL CL CL yN .P .P .P .P |H |H |H |H .P o4 o4 o4 o4 .P .P .P .P .P ;a wJ IB o4 {S {S {S {S IB IB t| t| IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.]-.d~.LB LB 4< e~.i4 }7 f~.Cw ''.`!.g~.S_ S_ S_ S_ S_ S_ S_ S_ S_ S_ S_ S_ S_ S_ b_ b_ b_ b_ b_ b_ b_ b_ b_ b_ b_ b_ b_ b_ nd h~.xf G< t'.i~.j~.sP vj 1M s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- => :5 /8 q!.n6 #0 Kd ~u k~.l~./b t!.$c Gd $c Pf 5l 5l m~.XH Pe Vc Vc %c [-.&c &c Ki Qe /b ga <$.n~.%V vN Oi z!.y'. d [b h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp xp WC 5*.`1 6# 6# 6# 6# `1 `1 `1 Py 7Q C$ H@ sJ x. o~.^ ^ ^ ^ 1 % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . # . . . 6[ ^ ^ ^ ^ ^ w# e% v% p~.q~.J).J).J).r~.J).a*.Zh Zh s~.t~.[- [- [- [- [- <- <- <- <- <- <- <- :- :- :- :- :- :- :- :- _- _- _- _- _- _- _- (- 7,.%} %} u~.v~.9,.9+.9+.9,.m;.9,.=&.9,.9,.9,.9+.u&.U,.U,.$;.V,.w~.x~.y~.7| } } eM f>.{- {- {- {- {- {- {- {- }; }; }; }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- S>.>>.w2 w2 EL z~.k;.k;.k;.k;.k;.-&.m;.m;.9,.9,.m;.c>.9+.c>.m;.9,.c>.Y-.A~.B~.C~.7..D~.E~.F~.70 70 70 :k G~.H~.I~.J~.J~.5~.N..O..d!.K~.F+.pl /- ~- ~- ~- ~- ~- ~- ~- }; }; }; }; {- {- {- {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- }%.W-.L~.[H }H }H }H -..6' TI jG _;..E iG yF hG M~.#` .y Xy Yy u>.b~.b~.-R ;R BJ EP EP @A v>.&N 5O gM GL 6v +P 2u P: ip Bb Lu |H |H |H |H Bb Bb Bb )7 )7 ae ae yN yN |H |H |H |H |H |H |H |H |H CL CL CL yN yN .P .P .P .P |H |H |H |H o4 o4 o4 o4 o4 .P .P .P .P .P wJ IB IB o4 {S {S {S {S IB t| t| t| IB IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.]-.N~.LB LB O+.EA pE .6 vx Cw O~.P~.ze sd ,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.,'.se se se ,'.se t,.Wu ;!.Q~.R~.S~.a&.'5 s- s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- +: T~.,!.l6 lJ Zc Jd @ .Se Vg N#.N#.N#.N#.N#.N#./b /b 7M ]b ^b Qe Qe 8o ^b yj /b /b *c U~.Id vL V~.ZM W~.# .!U %0 qF l! l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Pi Hn ao xp xp xp xp xp xp X~.Y~.6# 6# 6# 6# 6# `1 `1 `1 %B m# i$ N$ 7; Z~.`~.^ ^ ^ ^ r% % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = ^ ^ ^ ^ ^ {..{.+{.@{.6@ #{.${.J).J).J).)~.J).`+.Zh Zh %{.&{.[- [- [- [- [- [- <- <- <- <- <- <- <- <- :- :- :- :- :- :- :- :- _- _- _- _- _- *{.|j %} c~.9,.9+.9,.9,.9,.u&.l;.l;.l;.9+.9+.u&.u&.u&.k;.k;.={.={.w~.-{.;{.o4 o4 o4 >{.]- ]- ]- ]- ]- {- {- {- {- {- {- {- {- {- }; }; }; }; }; ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- ~- f>.}!.o4 o4 ,{.8'.k;.k;.k;.k;.l;.m;.'{.=&.h#.9+.c>.9,.c>.m;.9,.c>.9+.Y-.){.!{.~{.(~.{{.]{.^{.ai ai ai /{.({._{.W!.6~.:{.F+.F+.7~.r>.m@.~- }; }; }; }; }; }; {- {- {- {- {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- ^- ^- ^- /- <{.[{.jn [H }H }H }H |} >B t>..E iG hG hG ' .#` .y Xy Yy u>.b~.p).-R fQ BJ EP EP h! }{.JL 5O &L GL fM zN P: ip dg Bb |H |H |H |H Bb Bb )7 )7 )7 ae yN yN yN |H |H |H |H |H |H |H |H .f CL CL yN yN yN .P .P .P .P |H |H |H ae o4 o4 o4 o4 o4 .P .P .P .P IB wJ IB o4 o4 {S {S {S {S IB t| t| v[ v[ IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.]-.v[ {).LB LB LB s,.vA +6 xh zg G< we Wu Wu Wu P~.RW RW RW RW RW t,.t,.t,.t,.t,.t,.t,.ue |{.MH RW |;.|;.|;.t,.t,.]).aj 1{.|;.wh lp sh 2{.3{.s'.^-.4{.;8 s- t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- => !'.F-.5{.{8 6{.Sf 7{.k~.8{.ha F,.bk bk pJ ^l ^l ^l r!.r!.r!.=c =c =c =c =c Hd Hd F,.Sh 9{.0{.a{.Oi B0 69 d 4*.h) l! l! .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp b{.B!.6# 6# 6# 6# 6# 6# `1 `1 QD c{.d{.D# g: e{.f{.^ ^ ^ ^ / & . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B@ ^ ^ ^ ^ ^ g{.k) h{.Q* i{.j{.k{.)~.)~.)~.)~.$+.Zh Zh Zh =B l{.}- }- [- [- [- [- [- <- <- <- <- <- <- <- <- :- :- :- :- :- :- :- :- :- _- _- _- m{.m8 %} #*.9,.9,.=&.4!.4!.l;.9+.9+.u&.u&.u&.k;.n{.n{.i>.$;.o{.o{.o{.p{.0).o4 o4 jn q{.]- ]- ]- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- {- {- {- {- {- {- }; }; }; }; }; }; }; ~- ~- ~- ~- ~- ~- ~- r{.=m o4 o4 gM s{.k;.k;.=&.=&.i$.=&.=&.9,.9+.c>.9,.c>.m;.9,.c>.c>.Y-.Y-.Y-.t{.u{.A~.A~.v{.w{.x{.x{.d,.eg y{.K+.E4 B4 r@.{#.^- }; {- {- {- {- {- {- {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- z{.A{.yN nk }H }H )7 fM %x ME hG $D )B k'.a~.&'.Yy HP b~.p).-R fQ EP @A h! h! &N JL gM &L %L U3 7< S3 ip n4 Lu |H |H |H Bb )7 )7 )7 yN yN yN yN yN |H |H |H |H |H |H |H .f .f CL yN yN yN yN .P .P .P .P |H |H |H ae o4 o4 o4 o4 o4 .P .P .P .P IB IB o4 o4 o4 {S {S {S {S {S t| t| v[ v[ IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.v[ v[ {).{).LB LB LB zD F1 _q mN si MZ ]G Eg ;!.;!.G< Sv ''.''.B{.@!.@!.C{.D{.E{.E{.sh sh yf yf F{.E{.E{.E{.D{.E{.Fg zf u,.1< G< ;!.Eg G{.H{.J%.I{.J{.K{.L{.t- t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- B- C- C- C- v* v* D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- M{.wq v'.s6 fk Ue .0 ck zj 7{.-c w0 uL Id (m 1t Rf Rf Rf N{.(m Id Id w0 O{.@ .@ .+..vL @R vN P{.W~.[$.ma 79 qF l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp xp xp rr e> 6# 6# 6# 6# 6# 6# `1 `1 *' N+ I@ k+ 1b s+ |).^ ^ ^ ^ ] 6[ . . . # . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6[ / ^ ^ ^ ^ Q{.R{.NI S{.T{.U{.V{.)~.)~.W{.a*.Zh Zh Zh V$.($ P X{.}- }- [- [- [- [- [- [- <- <- <- <- <- <- <- <- :- :- :- :- :- :- :- :- :- Y{.|j m8 aK %%.l;.l;.l;.4!.4!.u&.=&.u&.k;.n{.n{.@>.Z{.Z{.Z{.Z{.w~.w~.o{.`{.-a -a -a D;.]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- {- {- {- {- {- {- {- {- {- {- }; }; }; }; *.DL o4 yN ^S ].u&.=&.=&.=&.=&.=&.=&.h#.9+.c>.m;.m;.o .c>.Z-.Z-.b>.U*.T=.Y-.j*.U*.U*..].+].@].@].@]..P _*.{- {- {- {- {- {- {- {- {- {- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- /- /- (- (- (- (- #].}!.;a .f )7 )7 )7 EC EP k'.#` a~.`).&'.u>.HP |T p).-R BJ EP EP $P }{.&N &L gM $N %L zN P: <[ $I Bb |H |H Bb )7 )7 )7 .f yN yN yN yN yN |H |H |H |H |H |H .f .f .f yN yN yN yN yN .P .P .P .P |H |H ae ae o4 o4 o4 o4 o4 .P .P .P IB IB IB o4 o4 o4 {S {S {S {S {S t| v[ v[ v[ IB IB IB IB v[ v[ v[ v[ v[ v[ v[ v[ ]-.]-.v[ v[ {).{K LB LB LB LB t4 z[ $].GA yI LZ Ah %].yi zg &].&].Ch Ch &].*].*].1k TW TW =].-].]G c_ TW TW G{.G{.G{.]G TW TW VV VV o!.;].&].MZ >].,].GA :M ^=.'].)].t- t- t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; H;.!].~].B6 y6 ek {].]].<=.<=.}v .0 Oy 0 Th Z9 zj ~u ia ia ia ia ia ia Te Z9 vL .0 'U 39 ^]./].(].(!.%0 R8 l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Pi Hn Hn xp xp xp xp !c _].6# 6# 6# 6# 6# 6# 6# `1 `1 :].RD Q] )% C{ t% <].^ ^ ^ ^ ( 6[ . . . # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I P. ^ ^ ^ ^ 9; [].}].2+ |].1].2].3].W{.J).`+.4].Zh S#.)# )# T@ 5].}- }- }- }- [- [- [- [- [- [- <- <- <- <- <- <- <- <- :- :- :- :- :- :- :- 6].|!.m8 7].l;.4!.4!.4!.4!.9+.=&.k;.k;.$;.w~.w~.w~.n{.n{.n{.n{.n{.n{.-{.j-.|j |j {S ~$.^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- {- {- {- {- {- {- {- {- {- {- 8].7| yN yN 9].0].4!.=&.=&.i$.=&.9,.v~.9,.e>.m;.m;.o .c>.Z-.Z-.b>.Y-.b>.Y-.U*.T=.U*.q&.d=.a].jn IB IB IB b].k&.]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- /- /- /- (- (- (- (- (- _- _- _- _- _- c].}!.;a }H )7 )7 )7 bi Ip 8v `).Yy >B |T |T -R fQ BJ EP EP h! &N d].5O c~.$N U3 QI xJ $I n4 Lu .f )7 )7 )7 .f .f yN yN yN yN yN |H |H |H |H |H .f .f .f ae yN yN yN yN yN .P .P .P .P |H ae ae ae o4 o4 o4 o4 o4 .P .P IB IB IB o4 o4 o4 o4 {S {S {S {S {S t| v[ v[ |j IB IB IB IB v[ v[ v[ d~.v[ v[ v[ v[ ]-.]-.v[ v[ {).e].LB LB LB LB LB hp f].7F 2%..6 g].yI MY h].Ah {l }Q }Q p!.%].%].i].i].i].j].k].0| dj l].vx si si l].h].Ah m].m].n].+!.+!.+!.o].#~.p].q].2%.r].f].s].t].u].t- u- u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- 2; B; C; <5 D6 v'.u6 z6 59 L8 Tf @0 %W 39 v].{].Kd 19 Yc Yc V~.%V _#.%V %V @R j j w].39 ZM XO !H x].69 d 4*.:{ l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: X: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp xp y].e> 6# 6# 6# 6# 6# 6# 6# 6# I6 z].^H 8+ )> /'.A].B].^ ^ ^ ^ { q_ . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I ( ^ ^ ^ ^ -! C].9% 6+ c; D].E].F].W{.$+.4].4].4].!# )# )# )# P G].}- }- }- }- [- [- [- [- [- [- <- <- <- <- <- <- <- <- <- :- :- :- :- 2&.@].|!.eM j>.4!.4!.9+.=&.k;.$;.$;.w~.w~.w~.n{.n{.n{.H].H].-{.x~.x~.x~.I].jn |j |j J].(- ^- ^- ^- ^- ^- ^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- B*.IB yN yN K].u&.=&.=&.4!.9,.9,.v~.9,.e>.m;.m;.o .c>.U*.Y-.Y-.Y-.^@.Y-.U*.T=.U*.q&.8+.p&.L].DL IB IB IB 7>.M].]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ^- ^- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- /- /- /- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- :- :- c].N].|H }H .f .f .f .f ip os |T |T p).-R fQ BJ EP $P { .^S d].c~.bQ aK _T 2u 8} $I Bb bi )7 )7 .f .f .f yN yN yN yN yN |H |H |H |H .f .f .f ae ae yN yN yN yN .P .P .P .P .P ae ae ae ae o4 o4 o4 o4 o4 .P .P IB IB o4 o4 o4 o4 o4 o4 {S {S {S {S v[ v[ v[ |j IB IB IB IB v[ v[ v[ d~.v[ v[ v[ v[ ]-.v[ v[ {).$H LB LB LB LB LB LB Hm Hm P+.sE sn tE O].OB Km @6 P].Q].c 6{.ek _b K8 %W Ue #R #R 39 39 5;.z0 49 !H Z].`M `].Bj A).+n 4*.89 l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ &( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn Hn ao xp xp ^.2=.6# 6# 6# 6# 6# 6# 6# 6# 6# QD 5% i$ '% a< >/ .^.+^.^ ^ ^ ^ 4 & . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I a$ ^ ^ ^ ^ Q. @^.I; v% ^.>^.>^.>^.,^.|j |j |j '^./- /- /- /- /- /- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- )^..P yN yN !^.u&.=&.=&.=&.m;.9,.9,.9,.n;.9+.Z-.Y-.U*.Y-.Y-.Y-.^@.U*.U*.Y-.q&.q&.8+.p&.f..8,.zN IB ;a ;a T3 $@.]- ]- ]- ]- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- /- /- /- /- /- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- I'.~^.N]..P ae .f .f )7 )7 ta fM @A =R EP EP EP $P &N dD FL bQ aQ +P +P xJ 8} n4 Bb .f .f .f .f .f yN yN yN yN |H |H |H |H .f .f .f ae ae ae yN yN yN yN .P .P .P .P o4 ae ae ae ae o4 o4 o4 o4 o4 .P IB IB IB o4 o4 o4 o4 o4 o4 {S {S {S {S v[ v[ |j |j IB IB IB IB v[ v[ d~.d~.v[ v[ v[ |j |j v[ N~.N~.w@.LB LB LB LB LB LB Hm Hm !. !.{^.P+.aF dJ ]^.ij Z .C1 O].-m ^^./^./^.OB OB OB OB _q OB _q OB /^.:k $].$].gJ gJ (^.:k :k :k :k :k /^./^._^.:^.<^.'].[^.}^.W].W].|^.u- v- v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; p' /).1l C6 c7 1^..n 2^.q6 y6 A6 z6 3^.A0 Oi Ld Ld `M A0 A0 8l Cq 4^.Uh x].qJ B0 # .[$.+n 4*.OD l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi Pi Hn Hn xp X~.p) 8# 6# 6# 6# 6# 6# 6# 6# 6# 8# |$ N+ F# q@ g: w. I. 9 ^ ^ ^ ^ 5 S< . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b9 4 ^ ^ ^ ^ 7 5^.6^.7^.8^.|].9^.0^.a^.4].4].S#.U@ )# )# )# )# )# T@ 3O s@.}- }- }- }- }- }- [- [- [- [- [- [- <- <- <- <- <- <- <- <- b^.qn $L (q c^.-^.u&.k;.k;.w~.d^.w~.k;.k;.n{.n{.n{.H].H].n{.H].>^.e^.e^.f^.yD $L $L S,.{=./- /- /- /- /- /- /- /- /- /- /- /- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- ]- g^.IB yN yN h^.u&.=&.=&.9,.9,.9+.i^.n;.9,.c>.Z-.U*.Y-.Y-.Y-.Y-.T=.Y-.Y-.q&.q&.8+.p&.f..8+.j^.=+.;a ;a ;a 7| 9#.^- ^- ^- ^- ^- ^- ^- /- /- /- /- /- /- /- /- /- /- /- /- /- (- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- <- <- }- k^.m'..P ;a )7 )7 .f .f )7 <[ d].EP EP { .^S hM FL bQ GL 7< 2u xJ $I Lu |H .f .f .f yN yN yN yN yN |H |H |H .f CL .f ae ae ae ae yN yN yN yN .P .P .P o4 o4 ae ae ae ae o4 o4 o4 o4 o4 IB IB IB o4 o4 o4 o4 o4 o4 o4 {S {S {S {S v[ v[ |j |j IB IB IB IB v[ v[ d~.d~.v[ v[ v[ |j |j {).N~.$H w@.LB LB LB LB LB Hm Hm Hm !. !. !. !. !. !.s4 P+.6} l^.m^..!.V].]^.B< B< B< n^.n^.n^.n^.jy hj B< ]^.o^.p^.p^.VK MB sn z[ .!..!..!.q^.r^.K{.r^.s^.[^.}^.}^.W].s4 s4 t^.u^.v- v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; v^.:5 KD e7 Q8 d7 ^8 v'.b7 H*.RY w^..n ]8 ]8 .n .n # .RY Md x^.b7 y'.'c y^.!U A!.79 [b h~ l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Wf Pi Pi Pi Hn Hn X~.y].a%.6# 6# 6# 6# 6# 6# 6# 6# 6# e> 7Q L+ 5+ b, /'.t% z^.^ ^ ^ ^ ^ 2 . . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # . . . a/ | ^ ^ ^ ^ ^ A^.f. )> ;V B^.S+ C^.D^.Zh 4].E^.U@ U@ )# )# )# )# )# F^.G^.e!.}- }- }- }- }- }- [- [- [- [- [- [- [- <- <- <- <- <- <- H^.m8 m8 I^.k;.k;.w~.d^.w~.k;.k;.n{.n{.n{.J^.H].H].H].x~.>^.={.={.K^.K^.L^.$L $L $L M^.k&.(- (- (- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- ^- c].{S o4 {S N^.l;.9,.c>.c>.c>.$*.%%.9,.c>.Z-.Y-.%%.O^.O^.Y-.T=.U*.U*..*..*.S=.8+.8+.8+.S=.P^.b~.;a ;a ]-.]-.Q^.:- /- /- /- /- /- /- /- /- /- /- /- /- (- (- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- R^.S^.XQ .P |H )7 )7 )7 )7 |H +P hM dD hM &L aK fM QI 7< <[ ip |H |H .f .f yN yN yN yN yN |H .f .f CL CL ae ae ae ae yN yN yN yN yN .P .P o4 o4 o4 ae ae ae ae o4 o4 o4 o4 -a IB IB o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S v[ |j |j |j IB IB IB IB v[ d~.d~.d~.d~.v[ |j |j |j {).$H $H w@.LB LB LB LB LB Hm Hm Hm !. !. !. !. !. !. !. !.in in in T^.U^.V^.s].4&.4&.4&.6} 6} 6} 6} 6} zD W^.W^.UM }^.UM UM j!.j!.X^.j!.j!.U^.W^.V^.Y^.Y^.}^.}^.}^.W].s4 s4 }^.s4 Z^.v- w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> I> +: (5 F6 `^.e7 /.Q8 Q8 Q8 %0 +n +n +n %0 79 79 vP 79 e7 U&.U&.U&.^'.vP na 89 h) l! l! .~ .~ h~ h~ h~ h~ h~ :{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 99 oa @d @d @d Wf Wf Pi Pi Pi Hn ./.+/.L-.6# 6# 6# 6# 6# 6# 6# 6# 6# 6# K@ O+ d{.=' I* @/.e$ L. ^ ^ ^ ^ ^ R- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . = ^ ^ ^ ^ ^ b% E+ e% 7^.#/.$/.&@ Kn %/.h, U@ U@ U@ U@ U@ )# )# )# )# E^.&/.AV |- }- }- }- }- }- }- [- [- [- [- [- [- [- <- <- <- <- */.m8 t| =/.U,.k;.U,.Z{.n{.n{.J^.J^.J^.J^.={.-/.={.={.K^.K^.e^.e^.e^.e^.;/.$L $L $L Q,._- (- (- (- (- (- (- (- (- (- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- ^- ^- ^- ^- ',..P {S {S >/.c>.m;.c>.%%.$*.%%.9,.c>.Z-.Y-.Y-.O^.O^.Y-.T=.U*.8+.k%.k%.f;.8+.,/.,/.f;._@.'/.)/.]-.]-.]-.]-.Y'.<{./- /- /- /- /- (- (- (- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- [- [- [- [- H!.o'.!/.IB #N )7 ae ae ae ae Bb ip 7< aK W1 EL 8} <[ n4 ;a .f .f yN yN yN yN yN .f .f CL CL yN ae ae ae ae yN yN yN yN yN .P o4 o4 o4 o4 ae ae ae ae o4 o4 o4 -a -a IB o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S |j |j |j |j IB IB IB IB v[ d~.d~.d~.d~.v[ |j {).~/.Hm $H w@.w@.LB LB LB LB Hm Hm Hm Hm !. !. !. !. !. !. !. !.in in in in {/.{/.{/.{/.{/.{/.{^.]/.{^.O+.O+.O+.{/.{/.{/.{/.x4 ^/.s4 s4 O+.O+.O+.O+.t^.t^.//.//.}^.}^.}^.W].s4 s4 }^.s4 s4 (/.w- w- x- x- x- y- y- y- y- z- z- z- z- A- A- A- A- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> w, +d _/.(5 (5 (5 II &0 (5 (5 89 qF OD ;C ;C g7 V&.V&.V&.!c !c z'.h) h) l! l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( q( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d @d Wf Wf Pi Pi Pi K-.:/.^.>^.6/.6/.6/.6/.6/.6/.6/.7/.,{.-a -a IB E;._- _- _- _- _- _- (- (- (- (- (- (- (- (- (- (- (- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- /- 8/.{S {S {S 9/.j>.c>.c>.m;.e>.9,.c>.Z-.Y-.Y-.0/.0/.U*.U*.U*.8+.k%.k%.f;.8+.,/.,/.f;.t{.'/.c#.a/._o {S {S IB 0F B*.(- (- (- (- (- (- (- _- _- _- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- }- }- }- b/.>'.c/..P .f ae ae .f .f .f .f DL $I *m $I n4 |H yN yN yN yN yN .f CL CL yN yN ae ae ae ae ae yN yN yN yN yN o4 o4 o4 o4 ae ae ae ae ae o4 o4 -a -a |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S |j |j |j |j IB IB IB IB ]-.d~.d~.d~.d~.|j d~.{K in $H $H w@.w@.LB LB LB LB Hm Hm Hm Hm !. !. !.w4 !. !. !.in in in in in {/.{/.{/.{/.{/.{/.{^.]/.O+.O+.O+.O+.{/.{/.{/.{/.^/.^/.s4 s4 O+.O+.O+.O+.t^.//.//.//.}^.}^.}^.}^.s4 s4 }^.}^.s4 s4 }^.d/.x- x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> 8, 8, 8, 8, w, w, w, w, p' q' q' q' =) =) =) h) h) h) l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 H6 99 99 oa oa @d @d @d Wf Pi Pi ~5 e/.M@ 6# 6# 6# 6# 6# 6# 6# 6# 6# 6# 9# |$ O+ p 4t I* f/.F+ g/.^% ^ ^ ^ ^ ~ a/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b9 2 ^ ^ ^ ^ ^ h/.i/.C# j/.+p `z Bp k/.l/.U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# )# P m/.n/.|- |- }- }- }- }- }- }- }- [- [- [- [- [- o/.m8 m8 `{.w~.H].H].H].;^.>^.H].>^.>^.>^.6/.6/.6/.6/.6/.6/.K^.K^.6/.6/.p/.]-.|j |j v@.x>._- _- _- _- _- _- _- _- _- _- _- _- (- (- (- (- (- (- (- (- (- (- (- (- (- (- (- (- /- /- /- /- /- /- /- /- /- >{.]-.]-.]-.V=.q/.c>.m;.m;.9,.c>.Z-.Y-.r/.r/.r/.U*.U*.U*.8+.k%.k%.k%.@%.R=.'/.f;.t{.'/.R@.b#.( .dD IB IB IB .P M)._- _- _- _- _- _- _- _- _- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- [- }- }- }- }- }- }- }- |- s/.t/.u/.]-.IB yN .f ae ae .f .f .f |H |H |H yN yN yN yN CL CL yN yN yN ae ae ae ae ae yN yN yN yN {S o4 o4 o4 o4 ae ae ae ae ae o4 o4 -a |j |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S |j |j |j |j IB IB IB ]-.]-.d~.d~.d~.d~.d~.N~.in in $H w@.w@.w@.LB LB LB LB Hm Hm Hm in !. !. !.w4 w4 !. !.in in in in in !l {/.{/.{/.{/.{/.{^.]/.W].O+.O+.O+.O+.{/.{/.{/.^/.s4 s4 s4 O+.O+.O+.O+.t^.//.//.v/.}^.}^.}^.}^.s4 s4 }^.}^.s4 s4 s4 s4 w/.x- x- y- y- y- y- z- z- z- z- A- A- A- B- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> &, 8, 8, 8, w, w, w, w, p' q' q' q' =) =) =) h) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: X: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 H6 H6 H6 H6 99 99 99 oa @d @d @d Wf x/.y/.:8 09 6# 6# 6# 6# 6# 6# 6# 6# 6# 6# 6# d# 5% ik h$ )% 1b Z~.z/.x+ ^ ^ ^ ^ ^ $ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > ^ ^ ^ ^ ^ z+ |/.A/.B/.8-.C/.D/.V+ 0# _# U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# U@ E/.<* e!.|- |- }- }- }- }- }- }- }- [- [- F/.o4 |!.zN G/.H].;^.H].H].>^.>^.>^.>^.>^.>^.>^.={.={.6/.6/.H/.H/.H/.H/.H/.I/.|j |j |j J/.:- :- :- :- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- (- (- (- (- (- (- (- (- (- (- (- (- (- (- (- (- K/.{S {S {S c~.L/.9,.9,.c>.`-.e>.M/.r/.3!.0/.U*.U*.U*.8+.8+.k%.c,.@%.R=.N/.Z#._@.Y#.P^.P^.O/.,@.P/.IB IB IB IB Q/.Y{._- _- _- _- _- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- [- }- }- }- }- }- }- }- |- |- |- |- 1- 1- 1- !,. ).R/.ln ]-..P .f .f .f .f yN yN yN yN yN CL yN yN yN yN ae ae ae ae ae yN yN yN {S o4 o4 o4 o4 o4 ae ae ae ae ae o4 -a |j |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S |j |j |j |j IB IB IB ]-.]-.d~.d~.v[ {K N~.in in in $H w@.w@.w@.LB LB LB Hm Hm Hm Hm in in !. !.w4 w4 !.in in in in in !l !l {/.{/.{/.{/.{^.{^.]/.W].O+.O+.O+.O+.{/.{/.{/.t^.s4 s4 s4 s4 O+.O+.O+.t^.//.//.v/.}^.}^.}^.}^.s4 s4 }^.}^.s4 s4 s4 t4 UM S/.x- y- y- y- y- z- z- z- z- A- A- A- B- B- B- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> &, 8, 8, 8, 8, w, w, w, p' q' q' q' =) =) =) h) h) h) l! l! .~ .~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( q( e: e: X: X: O< O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 99 99 oa oa @d ;C y/.:8 09 09 09 09 6# 6# 6# 6# 6# 6# 6# 6# 6# L@ 7Q g% }+ D# ~c T/.~> 5^.Q. ^ ^ ^ ^ P. B@ . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . U/.1 ^ ^ ^ ^ ^ V/.(% W/.X/.Y/.|$.Z/.V+ 9# S@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# T@ `/.G^. (.|- |- }- }- }- }- }- }- }- .(.|!.|!.+(.H].H].>^.>^.>^.>^.>^.>^.={.>^.>^.6/.6/.6/.6/.6/.6/.6/.@(.@(.#(.c~.$(.$(.{S %(.:- :- :- :- :- :- :- :- :- :- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- &(.|j |j o4 _T *(.c>.Z-.b>.`-.r/.T=.Y-.d=.U*./@.8+.,/.8+.k%.@%.d$.Y#.=(.d$.Y#.Y#.P^.P^.O/.N@.b$.GN (q IB ]-.]-.qn #].:- :- :- :- :- :- :- :- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- [- }- }- }- }- }- }- }- }- |- |- |- |- 1- 1- 1- 1- 1- 2- 2- 2- 2- -(.;(.>(.oP t| .P yN yN yN yN o4 yN yN yN yN yN ae ae ae ae yN yN yN {S {S o4 o4 o4 o4 o4 ae ae ae ae ae -a |j |j |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S {S |j |j |j |j IB IB ]-.]-.]-.v[ ,(.2Q '(.)(.in in in w@.w@.w@.w@.LB LB LB Hm Hm Hm in in in !.w4 w4 w4 !.in in in in in !l !l {/.{/.{/.{/.{^.]/.W].W].O+.O+.O+.O+.{/.{/.{/.t^.s4 s4 s4 s4 O+.O+.O+.4< //.//.v/.v/.}^.}^.}^.s4 s4 }^.}^.s4 s4 s4 t4 UM UM UM !(.y- y- y- z- z- z- z- A- A- A- B- B- C- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> &, 8, 8, 8, 8, w, w, w, w, p' q' q' =) =) =) h) h) h) l! l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ &( &( q( q( q( q( e: e: X: X: X: O< G[ G[ G[ Z1 Z1 Z1 Z1 H6 H6 H6 99 @n ~(.{(.PD ](.^(.A| A| 09 09 09 09 6# 6# 6# 6# 6# 6# 6# 6# e> Y+ a@ '> g$ /(.,C L$ ((._(.^ ^ ^ ^ ^ ~ B@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * 3 ^ ^ ^ ^ ^ z@ :(.<(.D@.[(.#% }#.}(.j# ,> R@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# )# @x |(.1(.4/.e!.}- }- }- }- 2(.}} UQ v[ 3(.>^.>^.>^.>^.>^.={.>^.6/.6/.6/.6/.6/.K^.6/.6/.6/.4(.@(.@(.@(.5(.IB $(.$(.XQ 6(.:- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- _- 7(.IB o4 o4 *m 8(.Z-.b>.`-.r/.q&.^@.U*.U*./@.8+.,/.8+.k%.@%.S=.Z#.Y#.d$.Y#.Y#.P^.O/.O/.Q@.9(.0(.a(.VX ]-.]-.]-.]-.b(.c(.:- :- :- :- :- :- :- <- <- <- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- [- [- }- }- }- }- }- }- }- }- |- |- |- |- |- 1- 1- 1- 1- 1- 2- 2- 2- 2- 2- 2- 2- 2- 2- 2- d(.e(.o/.XQ ]-.]-.yN yN yN yN yN ae ae ae ae ae yN yN {S {S {S o4 o4 o4 o4 o4 ae ae ae w2 w2 |j |j |j |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S {S |j |j |j |j IB ]-.]-.d~.d~.2Q f(.g(.h(.i(.h- j(.k(.w@.w@.w@.w@.LB LB Hm Hm Hm Hm in in in !.w4 w4 w4 !.in in in in in !l !l {/.{/.{/.{/.{^.]/.W].W].O+.O+.O+.O+.{/.{/.t^.t^.s4 s4 s4 s4 O+.O+.4< 4< //.//.v/.v/.}^.}^.UM UM s4 }^.}^.}^.s4 s4 t4 UM UM W^.W^.l(.y- y- z- z- z- z- A- A- A- B- B- C- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> &, 8, 8, 8, 8, w, w, w, w, p' q' q' q' =) =) h) h) h) l! l! .~ .~ h~ h~ h~ h~ h~ :{ z{ A{ A{ A{ A{ A{ A{ f^ f^ f^ f^ f^ f^ f^ %( &( &( q( q( q( e: e: X: X: X: O< O< qF m(.n(.o(.p(.'! q(.r(.s(.:,.6# A| A| A| A| A| A| A| A| 09 09 09 6# 6# 6# 6# 6# 6# 6# L@ _@ |b t(.8+ u(.C{ w. E+ v(.z+ ^ ^ ^ ^ / < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I ~ ^ ^ ^ ^ ^ Q. w(.x(.y(.E$ E# N; Z/.:@ 0# [$ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# )# )# U@ z(.A(.B(.<* C(.D(.M^.$(.*'.>^.>^.={.>^.6/.6/.6/.6/.E(.G= G= @(._; H/.F(.F(.F(.F(.F(.F(.F(.G(.|!.|!.|!.3&.H(.<- <- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- :- I(.J(.o4 o4 B[ U=.r/.Y-.O^.q&.T=.T=.T=.K(.8+.,/.8+.f;.k%.S=.Y#.Y#.R=.N/.Y#.P^.L(.L(.0(.9(.b$.0(.M(.N(.IB IB IB IB O(.P(.<- <- <- <- <- <- <- <- <- <- <- <- <- <- <- <- [- [- [- [- [- [- [- [- [- }- }- }- }- }- }- }- }- }- |- |- |- |- |- 1- 1- 1- 1- 1- 2- 2- 2- 2- 2- 2- 2- 2- 2- 2- 2- 3- 3- 4- 4- 5- Q(.R(.S(.T(.U(.t| ]-..P {S ae ae ae {S {S {S {S {S o4 o4 o4 o4 o4 ae ae w2 w2 |j |j |j |j |j o4 o4 o4 o4 o4 o4 o4 o4 o4 o4 {S {S {S {S {S |j |j |j |j v[ d~.{K V(.W(.X(.Y(.|; e- e- e- e- Z(.`(.w@.w@.w@.LB Hm Hm Hm Hm in in in in w4 w4 w4 w4 in in in in in !l !l !l {/.{/.{/.{^.{^.]/.W].W].O+.O+.O+.O+.{/.{/.t^.W].s4 s4 s4 s4 O+.O+.4< s4 //.//.v/.v/.}^.}^.UM UM }^.}^.}^.}^.s4 s4 t4 t4 UM W^.W^.W^. _.y- z- z- z- z- A- A- A- B- B- C- C- C- C- v* v* D- D- D- D- D- E- F- G- G- G- G- G- G- G- H- H- H- H- H- H- H- 2; B; C; C; C; C; C; *> *> => => b> b> b> H> H> H> I> I> I> &, 8, 8, H> U9 ._.x, +_.J> @_.#_.$_.%_.&_.*_.=_.-_.-_.;_.;_.>_.>_.,_.,_.,_.,_.,_.,_.'_.'_.'_.'_.'_.'_.'_.)_.=_.P< !_.}b %_ ~_.!] '! r! g^ ;/ 7/ {_.;) r(.Z+ ]_.z/ L-.6# N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| A| A| A| 09 09 09 09 6# 6# 6# 6# 8# }$ 7Q a@ p #% l+ *0 4. T- ^_./_.^ ^ ^ ^ ^ 2 * . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . B@ r% ^ ^ ^ ^ ^ ]% (_.__.F$ E$ ;V 6% /> T+ c# O@ {# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# )# )# )# )# )# U@ :_.`+.=# 1#.<_.[_.}_.|_.1_.!, x$ 2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_..@.3_.3_.3_.4_.U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ !# !# !# !# !# !# !# !# !# !# !# !# !# T@ T@ T@ T@ T@ T@ '# =# &# &# *# 7=.5_.6_.r~.W{.W{.W{.r~.r~.r~.r~.r~.r~.r~.7_.7_.1'.1'.1'.1'.1'.8_.8_.9_.9_.9_.T;.T;.0_.%# a_.a_.a_.a_.a^.b_.b_.b_.b_.b_.b_.b_.b_.b_.b_.b_.b_.b_.b_.F^.F^.F^.F^.F^.F^.F^.F^.F^.c_.c_.c_.c_.c_.c_.d_.d_.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.z(.e_.e_.e_.e_.f_.f_.f_.f_.f_.f_.f_.f_.f_.f_.g_.h_.># ~' i_.j_.k_.l_.l_.k_.k_.l_.k_.k_.k_.k_.m_.m_.k_.k_.k_.l_.k_.k_.k_.k_.k_.k_.k_.k_.k_.k_.k_.m_.m_.m_.m_.m_.m_.m_.k_.n_.j_.o_.o_.o_.p_.2/.q_.r_.s_.r_.r_.r_.t_.t_.r_.r_.r_.c%.p_.o_.u_.u_.u_.v_.v_.v_.v_.v_.v_.w_.w_.w_.w_.v_.v_.v_.v_.v_.v_.v_.v_.v_.v_.v_.v_.v_.w_.w_.w_.w_.w_.w_.w_.v_.v_.p_.v_.w_.w_.w_.w_.v_.v_.w_.w_.x_.p_.p_.p_.y_.y_.y_.y_.y_.y_.y_.y_.p_.p_.y_.y_.y_.y_.y_.y_.y_.y_.z_.A_.A_.A_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.B_.>> >> >> >> B_.B_.B_.>> >> >> >> >> >> >> >> >> C_.C_.C_.C_.C_.C_.C_.C_.C_.C_.D_.5# O@ 1# [$ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| A| A| A| 09 09 09 09 6# 6# 6# 9# *' 5% g% F# 4t u(.C{ E_.F_.G_.y# ^ ^ ^ ^ ^ { B@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b9 $ ^ ^ ^ ^ ^ ^ H_.I_.t+ R] m+ H@ [+ G# 4@ X+ ,> :# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# )# )# )# !# `+.Zh S#.,$ 2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.!, `+.`+.`+.`+.W@ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ !# S#.`+.`+.`+.J_.K_.K_.K_.K_.K_.K_.K_.K_.K_.K_.K_.L_.o$ M_.M_.M_.M_.M_.5_.5_.5_.5_.5_.W{.W{.W{.W{.J).Yx `+.`+.`+.`+.:_.!# /$ /$ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ )# )# )# )# )# )# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ k% E^.N_.4_.O_.P_.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.`+.Q_.R_.P_.d_.'# S@ <$ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ S@ ,# Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.Q_.S_.S_.S_.T_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.V_._# _# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| A| A| A| A| 09 09 09 6# 8# }$ (@ O+ G# |+ g$ /(.*! 9/ T- I_.M. ^ ^ ^ ^ ^ / S< $ . . . . # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . U/.~ ^ ^ ^ ^ ^ ^ W_.K* e$ X_.I* N$ h$ D!.Y_.Z_.f# 9# [$ T@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ )# )# )# V$.Zh Zh `_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_. :.`+.`+.`+.|#.)# ($ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ !# S#.`+.`+.`+.7=.K_.K_.K_.K_.K_.K_.K_.K_.K_.K_.K_.o$ L_.M_.M_.M_.M_.M_.5_.5_.5_.5_.W{.W{.W{.W{.)~.)~.a*.S#.`+.`+.`+.`+..:.)# ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ )# )# )# )# )# )# )# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ T@ =B '# 4_.h, O_.P_.P_.S#.S#.`+.+:.@:.@:.@:.@:.+:.S#.S#.P_.P_.P_.O_.X@ 4_.'# #:.T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ b_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.S_.S_.S_.S_.T_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.U_.$:._# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| A| A| A| 09 09 k} }$ (@ %:.B$ p h$ 6; ~c &:.@: E+ *:.=:.^ ^ ^ ^ ^ ^ ! q_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ti ~ ^ ^ ^ ^ ^ ^ S- v(.u+ s+ -:.k+ H@ &! D!.0@ }@ ^@ (> 1# {# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ S#.Zh Zh >% 2_.2_.2_.2_.;$ ;$ ;$ 2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.;:.`+.`+.`+.* .($ ($ ($ ($ ($ ($ ($ ($ ($ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ )# :_.`+.`+.`+.*B K_.K_.K_.K_.K_.K_.K_.K_.L_.K_.o$ L_.M_.M_.5_.M_.M_.M_.5_.5_.W{.W{.W{.W{.W{.)~.)~.J).J).Yx `+.`+.`+.`+.|#.>:.($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ )# )# )# )# )# )# )# )# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ T@ T@ T@ T@ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ ,:.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.S_.S_.S_.S_.T_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.U_.':.:# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| A| A| A| ):.xL !:.o% B$ p h$ ~:.u(.{:.1. ]:.u+ |/.y+ ^ ^ ^ ^ ^ ^ ! b9 . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I 5 ^ ^ ^ ^ ^ ^ 9 A^.^:.T- z. /:.l+ g+ 2+ }#.(:.Q+ T+ d# ,> 3# _# T@ U@ U@ U@ U@ U@ U@ U@ U@ U@ W@ 4].Zh |#.>$ ;$ ;$ 2_.x$ x$ 2_.;$ >$ 2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.;$ ;$ .@.`+.`+.`+..:.($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ /$ U@ * .`+.`+.`+..@._:.K_.K_.K_.K_.K_.K_.L_.K_.M_.M_.M_.M_.5_.M_.M_.5_.5_.5_.)~.)~.W{.W{.W{.)~.)~.J).J).J).J=.S#.`+.`+.`+.`+.h, U@ ($ ($ ($ ($ )# )# )# )# )# )# )# )# )# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ :$ :$ :$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ d_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.S_.S_.S_.S_.T_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.U_.U_.U_.<# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ 1# 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| A| A| A| A| A| I6 QD I[ ::.o# d@ 6% h$ g$ u(.Xe @/.s+ H$ <:.+% % ^ ^ ^ ^ ^ ^ | b9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I ! ^ ^ ^ ^ ^ ^ ^ [:.`$ v+ F. }:.R#.b, N$ 6+ :+ }#.g% w% T+ V+ e# 0# O@ :# R@ S@ {# U@ U@ U@ 4_.Zh Zh |:.x$ 2_.;$ >$ ;$ ;$ ;$ ;$ ;$ ;$ 2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.2_.>$ Cp `+.`+.`+.>:.($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ )# h, `+.`+.`+.Cp 1:.K_.K_.K_.K_.K_.K_.M_.M_.M_.M_.M_.M_.M_.5_.5_.5_.W{.)~.)~.W{.)~.W{.)~.)~.J).J).5).5).1'.Yx `+.`+.`+.`+.`+.2:.U@ )# )# )# )# )# )# )# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ :$ :$ :$ :$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ {# d_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.S_.S_.S_.S_.T_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.U_.U_.U_.U_.U_.3:.:# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# :# y$ y$ y$ y$ y$ y$ y$ y$ |# P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ [$ 1# 1# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 2# 3# 3# 3# 3# 3# 3# 3# j~ j~ j~ j~ j~ j~ j~ j~ j~ 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ A| k} Py B{ B| i7 X3 N+ B$ =( &! 5+ N$ u(.6$ U%.4:.T- w@ +% [:.^ ^ ^ ^ ^ ^ ^ [ b9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5:.2 ^ ^ ^ ^ ^ ^ ^ ^ W_.x@ 6:.T- 7:.8:.f> b, i+ 2).|+ N; 9:.e, #+.%:.w% |@ &X /@ |$ m> L@ 0:.a:.M[ b:._# _# (# dG T@ U@ U@ c:.|% d:.P$ e; >$ >$ x$ x$ 2_.2_.;$ ;$ ;$ e:.`+.`+.`+.`+.!# ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ ($ _$ _$ _$ _$ f:.f:.f:.g:.a^.a^.a^.a^.W@ 5_.5_.)~.5_.5_.M_.M_.M_.M_.5_.M_.5_.5_.5_.W{.W{.)~.)~.W{.)~.)~.)~.)~.J).J).5).5).J).5).a*.S#.`+.`+.`+.`+.:_.>:.)# )# )# )# )# )# U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ U@ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ _$ :$ :$ :$ :$ :$ :$ :$ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ T@ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ <$ {# {# {# {# X@ Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.Q_.S_.Q_.Q_.Q_.Q_.S_.S_.S_.S_.S_.S_.S_.S_.S_.T_.T_.T_.U_.U_.U_.U_.U_.U_.U_.U_.S_.S_.S_.U_.U_.U_.U_.U_.U_.U_.U_.U_.U_.h:.h:.h:.i:.P@ P@ P@ P@ P@ P@ P@ P@ P@ P@ [$ [$ [$ [$ [$ [$ [$ [$ [$ [$ [$ z$ z$ z$ 3# 3# 3# 3# 3# j~ 4# 4# 4# 4# 4# 4# 4# 4# N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ N@ j% j% 7# 7# 7# 7# 7# 7# 7# ,> ,> ,> 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 9# 9# 9# 0# 0# 0# 0# k~ k~ k~ k~ k~ k~ k~ k~ k~ e> e> e> e> a# a# a# a# a# a# a# a# a# a# a# L@ L@ d# |$ _@ l# n# O+ 8/ B$ i^ J+ I+ 8+ D# 5$ f> *! 3. _!.T- j:.>, [:.^ ^ ^ ^ ^ ^ ^ ^ ' .I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a/ [8 _ ^ ^ ^ ^ ^ ^ ^ ^ b$ k:.l:.z/.F. m:.n:.7; )> E$ N$ H@ ;V 2+ :+ $% %X D!.9:.G# (:.o:.p:.#d V+ i# |$ e# c# c# c# b# b# b# L@ L@ L@ 5; (> [!.I).s:.)( )( )( t:.W- f> *! x. `:. <..<.+<.L. S- ^ ^ ^ ^ ^ ^ ^ ^ 4 % & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ti R- P. ^ ^ ^ ^ ^ ^ ^ ^ ^ S. @<.#<.$<.e$ F+ z. x. %<.&<.*<.)% j+ i+ H@ e+ b+ =<.`e F{ -<.N; D!.G; ik F* ;<.g% V- c@ c@ c@ c@ B$ B$ ><.><.><.c@ c@ c@ V- c@ ,<..h .h .h '<.ik ik ik ik ik ik )<.)<.)<.G; G; G; }#.i@ i@ i$ i$ C$ C$ C$ k@ k@ k@ 6% 6% 6% 6% 6% 6% 6% 6% 6% 6% 6% 6% 6% 6% k@ k@ k@ k@ k@ 2O !<.9[ 9[ 9[ ~<.{<.]<.]<.^<.^<.^<.^<./<./<./<./<./<./<./<./<./<.9:.9:.9:.9:.Y&.Y&.Y&.Y&.Y&.(<.(<.(<.(<.(<._<.:<.al al al al <<.[<.N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; N; J^ J^ J^ J^ J^ J^ J^ J^ J^ J^ J^ J^ 6% 6% 6% 6% 6% 6% 6% 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O 2O |$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.|$.'> '> '> '> '> '> '> '> '> }<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.|<.1<.1<.1<.|<.|<.|<.|<.1<.sr sr sr sr sr sr sr 2<.2<.sr sr sr sr sr sr 3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.3<.4<.4<.4<.4<.5<.6<.6<.6<.6<.6<.6<.6<.6<.6<.6<.n@ n@ n@ n@ n@ n@ n@ n@ 7<.7<.7<.7<.7<.7<.7<.7<.8<.7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% 5+ 5+ 5+ 5+ 5+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ #% #% #% 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 8+ 9<.9<.9<.9<.9<.9<.9<.0<.0<.0<.0<.0<.0<.0<.0<.0<.d+ '% '% '% '% '% '% '% '% '% '% '% '% '% '% H@ N$ D# A, )% b, .2 a<.b<.~S c<.d<.e<.0Q f<.<3 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 1 } B@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , 6[ C@ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ a S- h/.g<.h<.J; i<.t+ j<.f$ k<.6. 1. l<.m<.tF )) n<.o<.p<.p<.p<.q<.q<.q<.NI NI NI NI q<.q<.U- U- U- D# D# 6; 6; q<.q<.r<.>! >! >! s<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.t<.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.Z:.u<.=~ =~ =~ 6t v<.7^.8% 8% 8% 8% 8% 8% 8% 8% 8% 8% 8% 8% j+ j+ A, A, A, A, A, A, E$ E$ E$ E$ E$ E$ E$ E$ E$ }].u<.=~ =~ =~ =~ 6t w<.l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ l+ j7 j7 j7 j7 j7 j7 j7 b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, xP xP xP xP xP xP xP xP xP xP xP xP xP xP xP xP m+ m+ m+ m+ m+ m+ m+ m+ m+ m+ m+ )> >! >! >! x<.x<.x<.x<.x<.x<.x<.x<.x<.x<.x<.x<.x<.n} n} n} n} x<.x<.x<.x<.n} n} n} n} n} n} n} n} x<.x<.n} n} n} n} n} n} n} y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.y<.z<.a< a< a< a< a< a< a< a< a< a< a< a< a< a< a< a< a< &<.&<.&<.&<.&<.&<.&<.&<.&<.f> f> f> f> f> f> f> f> f> f> f> f> f> f> f> f> f> f> f> -, J6 J6 J6 J6 J6 J6 J6 J6 J6 Si Si Si p+ p+ p+ p+ p+ p+ U~ 1b A<.B<.Q< C| ,C ,C ,C Qd Qd Qd Qd 1v 1v 1v C<.C<.C<.C<.WZ WZ WZ D<.D<.E<.D@.%. F<.G<.H<.I<.SD J<.K<.L<.M<.N<.O<.K P<.Q<.R<.S<.T<.U<.V<.=0 W<.[ | .% ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ / ' 6[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # . . . . . . . 6[ 6[ 3 { ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ w' ^% b$ P> X<.X<.Y<.S. Z<.`<.q% [..[..[..[..[.+[.+[.=:.=:.@[.@[.L* L* L* @[.@[.@[.L* L* L* L* =:.#[.$[.$[.$[.%[.&[.&[.&[.&[.*[.*[.*[.*[.*[.*[.*[.*[.=[.=[.=[.=[.=[.=[.=[.=[.=[.-[.-[.-[.-[.-[.-[.-[.-[.;[.;[.;[.;[.;[.;[.;[.;[.;[.>[.>[.>[.>[.>[.,[.'[.'[.'[.6K )[.![.![.~[.{[.{[.{[.{[.{[.{[.{[.{[.~[.][.][.][.~[.~[.~[.~[.][.][.][.][.][.^[.^[.^[.^[.][./[./[.([._[._[._[._[._[.:[.<[.[[.[[.[[.[[.[[.[[.}[.}[.}[.}[.|[.|[.|[.|[.1[.1[.1[.1[.1[.1[.1[.1[.1[.1[.1[.1[.1[.2[.2[.2[.2[.2[.3[.3[.3[.3[.3[.3[.3[.3[.4[.4[.4[.4[.5[.6[.6[.6[.6[.6[.6[.6[.6[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.7[.6[.6[.6[.6[.6[.6[.5[.5[.5[.5[.5[.5[.5[.5[.5[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.3[.8[.b% b% b% b% b% y+ y+ y+ y+ y+ y+ y+ y+ y+ y+ y+ y+ y+ 9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.9[.0[.0[.0[.0[.0[.0[.0[.0[.0[.0[.a[.a[.b[.c[.c[.c[.c[.c[.c[.c[.c[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.[[.R< R< R< R< R< R< R< R< R< R< d[.d[.d[.d[.d[.d[.d[.d[.d[.d[.d[.d[.e[.=[.f[.g[.h[.h[.i[.j[.k[.~ ! | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~ a$ r% ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ { $ B@ > . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b9 B@ $ r% ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 1 ' B@ q_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $..B@ 3 ! r% ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] 5 ' * 6[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . q_ .I B@ } 2 1 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ { | , B@ Ti b9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l[.* a/ b9 Ti b9 6[ B@ = 3 [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 3 < = B@ 6[ 6[ 6[ b9 Ti a/ & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # @ @ @ @ @ @ @ @ + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; --- mythtv-0.21.0+fixes18207.orig/debian/ubuntu-mythtv-frontend.postinst +++ mythtv-0.21.0+fixes18207/debian/ubuntu-mythtv-frontend.postinst @@ -0,0 +1,37 @@ +#!/bin/sh -e +if [ configure = "$1" ]; then + # Symlink to start-up config files, it they don't already exist + MYTHHOME=$(getent passwd mythtv | cut -d: -f6) + if [ ! -e "$MYTHHOME"/.config/openbox/menu.xml ]; then + mkdir -p "$MYTHHOME"/.config/openbox + chown -R mythtv:mythtv "$MYTHHOME"/.config + ln -s /etc/mythtv/openbox-menu.xml "$MYTHHOME"/.config/openbox/menu.xml + fi + if [ ! -e "$MYTHHOME"/.dmrc ]; then + cp /etc/mythtv/dmrc "$MYTHHOME"/.dmrc + chown mythtv:mythtv "$MYTHHOME"/.dmrc + fi + if [ ! -e "$MYTHHOME"/.mplayer/config ]; then + mkdir -p "$MYTHHOME"/.mplayer + cp /etc/mythtv/mplayer-config "$MYTHHOME"/.mplayer/config + chown -R mythtv:mythtv "$MYTHHOME/.mplayer" + fi + + if [ ! -d "$MYTHHOME"/.mythtv ]; then + mkdir -p "$MYTHHOME"/.mythtv + chown -R mythtv:mythtv "$MYTHHOME/.mythtv" + fi + + #add gdm.conf alternative, make sure higher than 50 so that takes priority over xubuntu if installed on xubuntu + #Also, if this is a mythbuntu installation, make sure that we use a gdm.conf that is more appropriate + if [ -f /usr/share/gdm/themes/Mythbuntu/mythbuntu.xml ]; then + update-alternatives --install /etc/gdm/gdm-cdd.conf gdm-config-derivative /etc/xdg/mythtv-ubuntu/gdm/mythbuntu-gdm.conf 60 + else + update-alternatives --install /etc/gdm/gdm-cdd.conf gdm-config-derivative /etc/xdg/mythtv-ubuntu/gdm/gdm.conf 60 + fi +fi + +#DEBHELPER# + +exit 0 + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-common.files +++ mythtv-0.21.0+fixes18207/debian/mythtv-common.files @@ -0,0 +1,3 @@ +usr/share/mythtv/themes +usr/share/mythtv/mysql.txt* + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.default +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.default @@ -0,0 +1,14 @@ +# User as which to run +#USER=mythtv + +# Replace all arguments to mythtv-backend +#ARGS="" + +# Append additional arguments +#EXTRA_ARGS="--verbose" + +# Set priority +#NICE=-10 + +# Enable firewire priming +#ENABLE_FIREWIRE=FALSE --- mythtv-0.21.0+fixes18207.orig/debian/dmrc +++ mythtv-0.21.0+fixes18207/debian/dmrc @@ -0,0 +1,2 @@ +[Desktop] +Session=mythtv-xsession --- mythtv-0.21.0+fixes18207.orig/debian/libmyth-0.21-0.files +++ mythtv-0.21.0+fixes18207/debian/libmyth-0.21-0.files @@ -0,0 +1 @@ +usr/lib/libmyth*.so.* --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-frontend.postinst +++ mythtv-0.21.0+fixes18207/debian/mythtv-frontend.postinst @@ -0,0 +1,30 @@ +#!/bin/sh -e + +case "$1" in + configure) + . /usr/share/debconf/confmodule + + # Unregister questions we used to ask + db_unregister mythtv/server_host || true + db_unregister mythtv/server_port || true + + if ! dpkg-statoverride --list /var/log/mythtv >/dev/null; then + chown mythtv:mythtv /var/log/mythtv + chmod 2775 "/var/log/mythtv" + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/gdm.conf +++ mythtv-0.21.0+fixes18207/debian/gdm.conf @@ -0,0 +1,598 @@ +# GDM Configuration file. +# +# This file should not be updated by hand. Since GDM 2.13.0.4, +# configuration choices in the /etc/X11/gdm/gdm.conf-custom file will +# override the default values specified in this file (installation +# locations of the configuration files may vary for different distros). +# This defaults.conf file may be overwritten on upgrade, so to ensure +# that your configuration choices are not lost, please make sure that +# your changes are made only the the custom.conf file. +# +# If you were using an older version of GDM, your system may have the +# the older gdm.conf configuration file on the system. If so, then this +# file is used instead of the custom.conf file for backwards support. +# If you make changes to the custom.conf file and they seem to not be +# taking effect, this is likely the problem. Consider migrating your +# configuration to the new custom.conf file and removing the gdm.conf +# file. +# +# You can use the gdmsetup program to graphically edit the gdm.conf-custom +# file. Note that gdmsetup does not support every option in this file, just +# the most common ones that users want to change. If you feel that +# gdmsetup should support additional configuration options, please file a +# bug report at http://bugzilla.gnome.org/. +# +# If you hand-edit the GDM configuration, you should run the following command +# to get the GDM daemon to recognize the change. Any running GDM GUI programs +# will also be notified to update with the new configuration. +# +# gdmflexiserver --command="UPDATE_CONFIG " +# +# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable". +# +# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and +# re-read the new configuration settings. You can also restart GDM by sending +# a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes +# any user session started by GDM to exit immediately while USR1 behaves like +# gdm-safe-restart and will wait until all users log out before restarting GDM. +# +# For full reference documentation see the GNOME help browser under +# GNOME|System category. You can also find the docs in HTML form on +# http://www.gnome.org/projects/gdm/ +# +# NOTE: Some values are commented out, but show their default values. Lines +# that begin with "#" are considered comments. +# +# Have fun! + +[daemon] +# Automatic login, if true the first local screen will automatically logged in +# as user as set with AutomaticLogin key. +AutomaticLoginEnable=true +AutomaticLogin=mythtv + +# Timed login, useful for kiosks. Log in a certain user after a certain amount +# of time. +TimedLoginEnable=true +TimedLogin=mythtv +TimedLoginDelay=5 + +# The GDM configuration program that is run from the login screen, you should +# probably leave this alone. +#Configurator=/usr/sbin/gdmsetup --disable-sound --disable-crash-dialog + +# The chooser program. Must output the chosen host on stdout, probably you +# should leave this alone. +#Chooser=/usr/lib/gdm/gdmchooser + +# The greeter for local (non-xdmcp) logins. Change gdmlogin to gdmgreeter to +# get the new graphical greeter. +Greeter=/usr/lib/gdm/gdmgreeter + +# The greeter for xdmcp logins, usually you want a less graphically intensive +# greeter here so it's better to leave this with gdmlogin +#RemoteGreeter=/usr/lib/gdm/gdmlogin + +# Launch the greeter with an additional list of colon separated GTK+ modules. +# This is useful for enabling additional feature support e.g. GNOME +# accessibility framework. Only "trusted" modules should be allowed to minimize +# security holes +#AddGtkModules=false +# By default, these are the accessibility modules. +#GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libdwellmouselistener:/usr/lib/gtk-2.0/modules/libkeymouselistener + +# Default path to set. The profile scripts will likely override this value. +# This value will be overridden with the value from /etc/default/login if it +# contains "ROOT=". +#DefaultPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games +# Default path for root. The profile scripts will likely override this value. +# This value will be overridden with the value from /etc/default/login if it +# contains "SUROOT=". +#RootPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games + +# If you are having trouble with using a single server for a long time and want +# GDM to kill/restart the server, turn this on. On Solaris, this value is +# always true and this configuration setting is ignored. +#AlwaysRestartServer=false + +# User and group used for running GDM GUI applicaitons. By default this is set +# to user "gdm" and group "gdm". This user/group should have very limited +# permissions and access to ony the gdm directories and files. +User=gdm +Group=gdm + +# To try to kill all clients started at greeter time or in the Init script. +# does not always work, only if those clients have a window of their own. +#KillInitClients=true +LogDir=/var/log/gdm +# You should probably never change this value unless you have a weird setup. +PidFile=/var/run/gdm.pid + +# Note that a post login script is run before a PreSession script. It is run +# after the login is successful and before any setup is run on behalf of the +# user. +PostLoginScriptDir=/etc/gdm/PostLogin/ +PreSessionScriptDir=/etc/gdm/PreSession/ +PostSessionScriptDir=/etc/gdm/PostSession/ +DisplayInitDir=/etc/gdm/Init +# Distributions: If you have some script that runs an X server in say VGA +# mode, allowing a login, could you please send it to me? +#FailsafeXServer= +# if X keeps crashing on us we run this script. The default one does a bunch +# of cool stuff to figure out what to tell the user and such and can run an X +# configuration program. +XKeepsCrashing=/etc/gdm/XKeepsCrashing +# Reboot, Halt and suspend commands, you can add different commands separated +# by a semicolon. GDM will use the first one it can find. +RebootCommand=/sbin/shutdown -r now "Rebooted from gdm menu." +HaltCommand=/sbin/shutdown -h now "Halted from gdm menu." +SuspendCommand=/usr/sbin/pmi action sleep +HibernateCommand=/usr/sbin/pmi action hibernate +# Probably should not touch the below this is the standard setup. +ServAuthDir=/var/lib/gdm +# This is our standard startup script. A bit different from a normal X +# session, but it shares a lot of stuff with that. See the provided default +# for more information. +BaseXsession=/etc/gdm/Xsession +# This is a directory where .desktop files describing the sessions live. It is +# really a PATH style variable since 2.4.4.2 to allow actual interoperability +# with KDM. Note that /Sessions is there for backwards +# compatibility reasons with 2.4.4.x. +SessionDesktopDir=/etc/X11/sessions/:/etc/dm/Sessions/:/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/ +# This is the default .desktop session. One of the ones in SessionDesktopDir +DefaultSession=default.desktop +# Better leave this blank and HOME will be used. You can use syntax ~/ below +# to indicate home directory of the user. You can also set this to something +# like /tmp if you don't want the authorizations to be in home directories. +# This is useful if you have NFS mounted home directories. Note that if this +# is the home directory the UserAuthFBDir will still be used in case the home +# directory is NFS, see security/NeverPlaceCookiesOnNFS to override this +# behavior. +UserAuthDir= +# Fallback directory for writing authorization file if user's home directory +# is not writable. +UserAuthFBDir=/tmp +UserAuthFile=.Xauthority +# The X server to use if we can't figure out what else to run. +StandardXServer=/usr/X11R6/bin/X +# The maximum number of flexible X servers to run. +#FlexibleXServers=5 +# And after how many minutes should we reap the flexible server if there is no +# activity and no one logged on. Set to 0 to turn off the reaping. Does not +# affect Xnest flexiservers. +#FlexiReapDelayMinutes=5 +# The X nest command. +Xnest=/usr/bin/Xnest -br -br -audit 0 -name Xnest +# Automatic VT allocation. Right now only works on Linux. This way we force +# X to use specific vts. turn VTAllocation to false if this is causing +# problems. +FirstVT=7 +VTAllocation=true +# Should double login be treated with a warning (and possibility to change VT's +# on Linux and FreeBSD systems for console logins) +#DoubleLoginWarning=true +# Should a second login always resume the current session and switch VT's on +# Linux and FreeBSD systems for console logins +#AlwaysLoginCurrentSession=true + +# If true then the last login information is printed to the user before being +# prompted for password. While this gives away some info on what users are on +# a system, it on the other hand should give the user an idea of when they +# logged in and if it doesn't seem kosher to them, they can just abort the +# login and contact the sysadmin (avoids running malicious startup scripts). +#DisplayLastLogin=false + +# Program used to play sounds. Should not require any 'daemon' or anything +# like that as it will be run when no one is logged in yet. +SoundProgram=/usr/lib/gdmplay + +# These are the languages that the console cannot handle because of font +# issues. Here we mean the text console, not X. This is only used when there +# are errors to report and we cannot start X. +# This is the default: +#ConsoleCannotHandle=am,ar,az,bn,el,fa,gu,hi,ja,ko,ml,mr,pa,ta,zh + +# This determines whether GDM will honor requests DYNAMIC requests from the +# gdmdynamic command. +#DynamicXServers=false + +# This determines whether GDM will send notifications to the console. +#ConsoleNotify=true + +# How long gdm should wait before it assumes a started Xserver is defunct and +# kills it. 10 seconds should be long enough for X, but Xgl may need 20 or 25. +GdmXserverTimeout=10 + +[security] +# Allow root to login. It makes sense to turn this off for kiosk use, when +# you want to minimize the possibility of break in. +AllowRoot=false +# Allow login as root via XDMCP. This value will be overridden and set to +# false if the /etc/default/login file exists and contains +# "CONSOLE=/dev/login", and set to true if the /etc/default/login file exists +# and contains any other value or no value for CONSOLE. +AllowRemoteRoot=false +# This will allow remote timed login. +AllowRemoteAutoLogin=false +# 0 is the most restrictive, 1 allows group write permissions, 2 allows all +# write permissions. +RelaxPermissions=0 +# Check if directories are owned by logon user. Set to false, if you have, for +# example, home directories owned by some other user. +CheckDirOwner=true +# Number of seconds to wait after a failed login +#RetryDelay=1 +# Maximum size of a file we wish to read. This makes it hard for a user to DoS +# us by using a large file. +#UserMaxFile=65536 +# If true this will basically append -nolisten tcp to every X command line, a +# good default to have (why is this a "negative" setting? because if it is +# false, you could still not allow it by setting command line of any particular +# server). It's probably better to ship with this on since most users will not +# need this and it's more of a security risk then anything else. +# Note: Anytime we find a -query or -indirect on the command line we do not add +# a "-nolisten tcp", as then the query just wouldn't work, so this setting only +# affects truly local sessions. +DisallowTCP=true +# By default never place cookies if we "detect" NFS. We detect NFS by +# detecting "root-squashing". It seems bad practice to place cookies on things +# that go over the network by default and thus we do not do it by default. +# Sometimes you can however use safe remote filesystems where this is OK and +# you may want to have the cookie in your home directory. +#NeverPlaceCookiesOnNFS=true +# Will cause PAM_DISALLOW_NULL_AUTHTOK to be passed as a flag to +# pam_authenticate and pam_acct_mgmt, disallowing NULL password. This setting +# will only take effect if PAM is being used by GDM. This value will be +# overridden with the value from /etc/default/login if it contains +# "PASSREQ=[YES|NO]" +#PasswordRequired=false +# Specifies the PAM Stack to use, "gdm" by default. +PamStack=gdm + +# XDMCP is the protocol that allows remote login. If you want to log into GDM +# remotely (I'd never turn this on on open network, use ssh for such remote +# usage that). You can then run X with -query to log in, or +# -indirect to run a chooser. Look for the 'Terminal' server type +# at the bottom of this config file. +[xdmcp] +# Distributions: Ship with this off. It is never a safe thing to leave out on +# the net. Setting up /etc/hosts.allow and /etc/hosts.deny to only allow local +# access is another alternative but not the safest. Firewalling port 177 is +# the safest if you wish to have xdmcp on. Read the manual for more notes on +# the security of XDMCP. +Enable=false +# Honor indirect queries, we run a chooser for these, and then redirect the +# user to the chosen host. Otherwise we just log the user in locally. +#HonorIndirect=true +# Maximum pending requests. +#MaxPending=4 +#MaxPendingIndirect=4 +# Maximum open XDMCP sessions at any point in time. +#MaxSessions=16 +# Maximum wait times. +#MaxWait=15 +#MaxWaitIndirect=15 +# How many times can a person log in from a single host. Usually better to +# keep low to fend off DoS attacks by running many logins from a single host. +# This is now set at 2 since if the server crashes then GDM doesn't know for +# some time and wouldn't allow another session. +#DisplaysPerHost=2 +# The number of seconds after which a non-responsive session is logged off. +# Better keep this low. +#PingIntervalSeconds=15 +# The port. 177 is the standard port so better keep it that way. +#Port=177 +# Willing script, none is shipped and by default we'll send hostname system id. +# But if you supply something here, the output of this script will be sent as +# status of this host so that the chooser can display it. You could for +# example send load, or mail details for some user, or some such. +#Willing=/etc/gdm/Xwilling + +[gui] +# The specific gtkrc file we use. It should be the full path to the gtkrc that +# we need. Unless you need a specific gtkrc that doesn't correspond to a +# specific theme, then just use the GtkTheme key. +#GtkRC=/usr/share/themes/Default/gtk-2.0/gtkrc + +# The GTK+ theme to use for the GUI. +GtkTheme=Human +# If to allow changing the GTK+ (widget) theme from the greeter. Currently +# this only affects the standard greeter as the graphical greeter does not yet +# have this ability. +AllowGtkThemeChange=true +# Comma separated list of themes to allow. These must be the names of the +# themes installed in the standard locations for gtk themes. You can also +# specify 'all' to allow all installed themes. These should be just the +# basenames of the themes such as 'Thinice' or 'LowContrast'. +GtkThemesToAllow=Human,HighContrast,HighContrastInverse,LowContrast + +# Maximum size of an icon, larger icons are scaled down. +#MaxIconWidth=128 +#MaxIconHeight=128 + +[greeter] +# The following options for setting titlebar and setting window position are +# only useful for the standard login (gdmlogin) and are not used by the +# themed login (gdmgreeter). +# +# The standard login has a title bar that the user can move. +#TitleBar=true +# Don't allow user to move the standard login window. Only makes sense if +# TitleBar is on. +#LockPosition=false +# Set a position for the standard login window rather then just centering the +# window. If you enter negative values for the position it is taken as an +# offset from the right or bottom edge. +#SetPosition=false +#PositionX=0 +#PositionY=0 + +# Enable the Face browser. Note that the Browser key is only used by the +# standard login (gdmlogin) program. The Face Browser is enabled in +# the Graphical greeter by selecting a theme that includes the Face +# Browser, such as happygnome-list. The other configuration values that +# affect the Face Browser (MinimalUID, DefaultFace, Include, Exclude, +# IncludeAll, GlobalFaceDir) are used by both the Standard and Themed +# greeter. +Browser=false +# The default picture in the browser. +#DefaultFace=/usr/share/pixmaps/nobody.png +# User ID's less than the MinimalUID value will not be included in the face +# browser or in the gdmselection list for Automatic/Timed login. They will not +# be displayed regardless of the settings for Include and Exclude. +MinimalUID=1000 +# Users listed in Include will be included in the face browser and in the +# gdmsetup selection list for Automatic/Timed login. Users should be separated +# by commas. +#Include= +# Users listed in Exclude are excluded from the face browser and from the +# gdmsetup selection list for Automatic/Timed login. Excluded users will still +# be able to log in, but will have to type their username. Users should be +# separated by commas. +Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm +# By default, an empty include list means display no users. By setting +# IncludeAll to true, the password file will be scanned and all users will be +# displayed except users excluded via the Exclude setting and user ID's less +# than MinimalUID. Scanning the password file can be slow on systems with +# large numbers of users and this feature should not be used in such +# environments. The setting of IncludeAll does nothing if Include is set to a +# non-empty value. +IncludeAll=true +# If user or user.png exists in this dir it will be used as his picture. +#GlobalFaceDir=/usr/share/pixmaps/faces/ + +# File which contains the locale we show to the user. Likely you want to use +# the one shipped with GDM and edit it. It is not a standard locale.alias +# file, although GDM will be able to read a standard locale.alias file as well. +LocaleFile=/etc/gdm/locale.conf +# Logo shown in the standard greeter. +#Logo=/usr/share/pixmaps/gdm-foot-logo.png +# Logo shown on file chooser button in gdmsetup (do not modify this value). +#ChooserButtonLogo=/usr/share/pixmaps/gdm-foot-logo.png +# The standard greeter should shake if a user entered the wrong username or +# password. Kind of cool looking +#Quiver=true + +# The Actions menu (formerly system menu) is shown in the greeter, this is the +# menu that contains reboot, shutdown, suspend, config and chooser. None of +# these is available if this is off. They can be turned off individually +# however. +#SystemMenu=true +# Configuration is available from the system menu of the greeter. +ConfigAvailable=false +# Should the chooser button be shown. If this is shown, GDM can drop into +# chooser mode which will run the xdmcp chooser locally and allow the user to +# connect to some remote host. Local XDMCP does not need to be enabled, +# however. +#ChooserButton=true + +# Welcome is for all console logins and RemoteWelcome is for remote logins +# (through XDMCP). +# DefaultWelcome and DefaultRemoteWelcome set the string for Welcome to +# "Welcome" and for DefaultWelcome to "Welcome to %n", and properly translate +# the message to the appropriate language. Note that %n gets translated to the +# hostname of the machine. These default values can be overridden by setting +# DefaultWelcome and/or DefaultRemoteWelcome to false, and setting the Welcome +# and DefaultWelcome values as desired. Just make sure the strings are in +# utf-8 Note to distributors, if you wish to have a different Welcome string +# and wish to have this translated you can have entries such as +# "Welcome[cs]=Vitejte na %n". +DefaultWelcome=true +DefaultRemoteWelcome=true +#Welcome=Welcome +#RemoteWelcome=Welcome to %n + +# Xinerama screen we use to display the greeter on. Not for true multihead, +# currently only works for Xinerama. +#XineramaScreen=0 +# Background settings for the standard greeter: +# Type can be 0=None, 1=Image & Color, 2=Color, 3=Image +#BackgroundType=2 +#BackgroundImage= +#BackgroundScaleToFit=true +# The Standard greeter (gdmlogin) uses BackgroundColor as the background +# color, while the themed greeter (gdmgreeter) uses GraphicalThemedColor +# as the background color. +BackgroundColor=#000000 +GraphicalThemedColor=#000000 +# XDMCP session should only get a color, this is the sanest setting since you +# don't want to take up too much bandwidth +#BackgroundRemoteOnlyColor=true + +# Program to run to draw the background in the standard greeter. Perhaps +# something like an xscreensaver hack or some such. +#BackgroundProgram= +# If this is true then the background program is run always, otherwise it is +# only run when the BackgroundType is 0 (None). +#RunBackgroundProgramAlways=false +# Delay before starting background program +#BackgroundProgramInitialDelay=30 +# Should the background program be restarted if it is exited. +#RestartBackgroundProgram=true +# Delay before restarting background program +#BackgroundProgramRestartDelay=30 + +# Show the Failsafe sessions. These are much MUCH nicer (focus for xterm for +# example) and more failsafe then those supplied by scripts so distros should +# use this rather then just running an xterm from a script. +#ShowGnomeFailsafeSession=true +#ShowXtermFailsafeSession=true +# Normally there is a session type called 'Last' that is shown which refers to +# the last session the user used. If off, we will be in 'switchdesk' mode +# where the session saving stuff is disabled in GDM +#ShowLastSession=true +# Always use 24 hour clock no matter what the locale. +#Use24Clock=auto +# Use circles in the password field. Looks kind of cool actually, but only +# works with certain fonts. +UseCirclesInEntry=true +# Do not show any visible feedback in the password field. This is standard for +# instance in console, xdm and ssh. +#UseInvisibleInEntry=false + +# These two keys are for the themed greeter (gdmgreeter). Circles is the +# standard shipped theme. If you want GDM to select a random theme from a +# list then provide a list that is delimited by /: to the GraphicalThemes +# key and set GraphicalThemeRand to true. Otherwise use GraphicalTheme +# and specify just one theme. +GraphicalTheme=Human +#GraphicalThemes=circles/:happygnome +GraphicalThemeDir=/usr/share/gdm/themes/ +GraphicalThemeRand=false + +# If InfoMsgFile points to a file, the greeter will display the contents of the +# file in a modal dialog box before the user is allowed to log in. +#InfoMsgFile= +# If InfoMsgFile is present then InfoMsgFont can be used to specify the font to +# be used when displaying the contents of the file. +#InfoMsgFont=Sans 24 + +# If SoundOnLogin is true, then the greeter will beep when login is ready for +# user input. If SoundOnLogin is a file and the greeter finds the 'play' +# executable (see daemon/SoundProgram) it will play that file instead of just +# beeping. +SoundOnLogin=true +SoundOnLoginFile=/usr/share/sounds/question.wav +# If SoundOnLoginSuccess, then the greeter will play a sound (as above) when a +# user successfully logs in. +#SoundOnLoginSuccess=false +#SoundOnLoginSuccessFile= +# If SoundOnLoginFailure, then the greeter will play a sound (as above) when a +# user fails to log in. +#SoundOnLoginFailure=false +#SoundOnLoginFailureFile= + +# Specifies a program to be called by the greeter/login program when the +# initial screen is displayed. The purpose is to provide a hook where files +# used after login can be preloaded to speed performance for the user. The +# program will only be called once only, the first time a greeter is displayed. +# The gdmprefetch command may be used. This utility will load any libraries +# passed in on the command line, or if the argument starts with a "@" +# character, it will process the file assuming it is an ASCII file containing a +# list of libraries, one per line, and load each library in the file. +#PreFetchProgram=/usr/lib/gdm/gdmprefetch /etc/gdm/gdmprefetchlist + +# The chooser is what's displayed when a user wants an indirect XDMCP session, +# or selects Run XDMCP chooser from the system menu +[chooser] +# Default image for hosts. +#DefaultHostImg=/usr/share/pixmaps/nohost.png +# Directory with host images, they are named by the hosts: host or host.png. +HostImageDir=/usr/share/hosts/ +# Time we scan for hosts (well only the time we tell the user we are scanning +# actually, we continue to listen even after this has expired). +#ScanTime=4 +# A comma separated lists of hosts to automatically add (if they answer to a +# query of course). You can use this to reach hosts that broadcast cannot +# reach. +Hosts= +# Broadcast a query to get all hosts on the current network that answer. +Broadcast=true +# Set it to true if you want to send a multicast query to hosts. +Multicast=false +# It is an IPv6 multicast address.It is hardcoded here and will be replaced +# when officially registered xdmcp multicast address of TBD will be available. +#Multicast_Addr=ff02::1 +# Allow adding random hosts to the list by typing in their names. +#AllowAdd=true + +[debug] +# This will cause GDM to send debugging information to the system log, which +# will create a LOT of output. It is not recommended to turn this on for +# normal use, but it can be useful to determine the cause when GDM is not +# working properly. +Enable=false +# This will enable debug messages for accessibilty gesture listeners into the +# syslog. This includes output about key events, mouse button events, and +# pointer motion events. This is useful for figuring out the cause of why the +# gesture listeners may not be working, but is too verbose for general debug. +Gestures=false + +[servers] +# These are the standard servers. You can add as many you want here and they +# will always be started. Each line must start with a unique number and that +# will be the display number of that server. Usually just the 0 server is +# used. +0=Standard +#1=Standard +# Note the VTAllocation and FirstVT keys on Linux and FreeBSD. Don't add any +# vt arguments if VTAllocation is on, and set FirstVT to be the first +# vt available that your gettys don't grab (gettys are usually dumb and grab +# even a vt that has already been taken). Using 7 will work pretty much for +# all Linux distributions. VTAllocation is not currently implemented on +# anything but Linux and FreeBSD. Feel free to send patches. X servers will +# just not get any extra arguments then. +# +# If you want to run an X terminal you could add an X server such as this: +#0=Terminal -query serverhostname +# or for a chooser (optionally serverhostname could be localhost): +#0=Terminal -indirect serverhostname +# +# If you wish to run the XDMCP chooser on the local display use the following +# line +#0=Chooser + +## Note: +# is your X server not listening to TCP requests? Perhaps you should look at +# the security/DisallowTCP setting! + +# Definition of the standard X server. +[server-Standard] +name=Standard server +command=/usr/X11R6/bin/X -br -audit 0 +flexible=true +# Indicates that the X server should be started at a different process +# priority. Values can be any integer value accepted by the setpriority C +# library function (normally between -20 and 20) with 0 being the default. For +# highly interactive applications, -5 yields good responsiveness. The default +# value is 0 and the setpriority function is not called if the value is 0. + +#priority=0 + +# To use this server type you should add -query host or -indirect host to the +# command line. +[server-Terminal] +name=Terminal server +# Add -terminate to make things behave more nicely +command=/usr/X11R6/bin/X -br -audit 0 -terminate +# Make this not appear in the flexible servers (we need extra params anyway, +# and terminate would be bad for xdmcp choosing). You can make a terminal +# server flexible, but not with an indirect query. If you need flexible +# indirect query server, then you must get rid of the -terminate and the only +# way to kill the flexible server will then be by Ctrl-Alt-Backspace. +flexible=false +# Not local, we do not handle the logins for this X server. +handled=false + +# To use this server type you should add -query host or -indirect host to the +# command line. +[server-Chooser] +name=Chooser server +command=/usr/X11R6/bin/X -br -audit 0 +# Make this not appear in the flexible servers for now, but if you wish to +# allow a chooser server then make this true. This is the only way to make a +# flexible chooser server that behaves nicely. +flexible=false +# Run the chooser instead of the greeter. When the user chooses a machine they +# will get this same server but run with "-terminate -query hostname". +chooser=true --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-setup.desktop +++ mythtv-0.21.0+fixes18207/debian/mythtv-setup.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=MythTV Backend Setup +Comment=Used to configure a backend +GenericName=mythtv-setup +Exec=mythtv-setup +Type=Application +Encoding=UTF-8 +Icon=/usr/share/mythtv/themes/blue/myth_tv_logo.png +Categories=GTK;System;Settings +X-AppInstall-Package=mythtv --- mythtv-0.21.0+fixes18207.orig/debian/changelog +++ mythtv-0.21.0+fixes18207/debian/changelog @@ -0,0 +1,1593 @@ +mythtv (0.21.0+fixes18207-0ubuntu1) intrepid; urgency=low + + * New checkout of release-0-21-fixes branch. + * debian/patches: + - drop 17_pvr_350_tvout_fix.dpatch, 07_glx-procaddressARB-configure.dpatch + and 15_hue_fix.dpatch because these changes have been committed + upstream + - add 24_fix_h264_frame_counting.dpatch, + 25_skiploop_option.dpatch and 26_h264_ffmpeg_merge.dpatch. + + -- Michael Haas Wed, 27 Aug 2008 23:16:52 +0200 + +mythtv (0.21.0+fixes17416-0ubuntu2) intrepid; urgency=low + + * Build depend on xserver-xorg-video-openchrome or old libchrome* + packages (to not break building on earlier releases, but still allow + building on intrepid) (LP: #256540) + * Start mythfrontend.real from mythfrontend rather than another script + instance. (LP: #241015) + + -- Mario Limonciello Wed, 16 Jul 2008 01:22:49 -0500 + +mythtv (0.21.0+fixes17416-0ubuntu1) intrepid; urgency=low + + * New checkout of release-0-21-fixes branch. + * debian/mythfrontend.sh: + - check for /etc/mythtv/session-settings when sourcing it. (LP: #220681) + * debian/mythtv-backend.postinst: + - check for directories before overriding (LP: #223988) + * drop debian/mythtv-database.postrm + - Wasn't doing anything productive but causing crashes. (LP: #213200) + * debian/control: + - Adjust dependencies to only build depend on chrome for i386 and + amd64. This should fix all other archs. (LP: #211125) + * add debian/patches/17_pvr350_tvout_fix: + - Fixes PVR-350 tv output's EPG. (LP: #236498) + Thanks bal_zac for tracking this down. + * update debian/patches/07_glx-procaddressARB-configure + - Certain parts are absorbed upstream. + + -- Mario Limonciello Sun, 01 Jun 2008 17:04:11 -0500 + +mythtv (0.21.0+fixes16838-0ubuntu3) hardy; urgency=low + + [ Michael Haas ] + * mythtv-common: add myth-reboot.sh, myth-halt.sh, myth-suspend.sh and + myth-hibernate.sh into /usr/share/mythtv/. These scripts use HAL to shutdown/reboot/etc + * Add 16_hal_shutdown.dpatch to adjust some defaults in mythtv to use the + new scripts. (LP: #148281) + + [ Mario Limonciello ] + * Don't spawn gnome-screensaver in ubuntu-mythtv-frontend. + It doesn't work. ubuntu-mythtv-frontend is going away in Intrepid + but not this late in the game here. (LP: #216431) + * Don't depend on a screensaver for u-m-f, since it's broke. + * Prevent warnings on first boot about updating the mythconverg DB, by providing + the updated mythconverg db. + + -- Michael Haas Fri, 11 Apr 2008 20:54:14 +0200 + +mythtv (0.21.0+fixes16838-0ubuntu2) hardy; urgency=low + + * Update 11_add_myth_prime's internal primer + for fixes on SA cable boxes. + + -- Mario Limonciello Thu, 10 Apr 2008 22:49:01 -0500 + +mythtv (0.21.0+fixes16838-0ubuntu1) hardy; urgency=low + + [ Michael Haas ] + * Don't build depend against liba52. + * New upstream checkout: switch to release-0-21-fixes branch + - SECURITY FIX: + + CVE 2007-6036 + * Remove the following patches as they're included now: + - 12_changeset_16483.dpatch + - 13_changeset_16577.dpatch + * Add 14_fix_video_fallback.dpatch so we don't fall back to the opengl + video renderer if xvmc-blit is not available (LP: #205158) + * Add 15_hue_fix.dpatch (see ) + + [ Mario Limonciello ] + * debian/control: + - Add xterm to mythtv-backend depends (LP: #202708) + + [ majoridiot ] + * Update debian/patches/11_add_mythprime: + - Automatically detect both P2P and broadcast connections + and prime them now without needing to specify node and device. + + -- Michael Haas Fri, 28 Mar 2008 23:47:20 +0100 + +mythtv (0.21.0-0ubuntu3) hardy; urgency=low + + [ Mario Limonciello ] + * Add libchromexvmc1 and libchromexvmcpro1 to build depends to allow + VIA XvMC support. (LP: #200633) + * Build without faad runtime library loading. (LP: #202590, #201572) + * Add 12_firewire_tester.dpatch: + - Creates directory structure for building with firewire tester. + * Add 13_changeset_16577.dpatch: + - Fixes UPnP breakage on PS3. + * debian/rules: + - Create symlinks for firewire tester out of contrib (LP: #201876) + * Fribidi needs version 0.19.x, but only 0.10.9 is in apt right now. + Disable it from debian/rules until newer version available. + + [ Michael Haas ] + * Add 07_glx-procaddressARB-configure to fix problem where glXGetProcAddress + can't be found in some OpenGL libs. (LP: #201567) + * Remove liba52-0.7.4-dev from build dependencies + * debian/rules: + - Add call to the glx-procaddressARB patch new argument. + - Do not build with unadvertised liba52 support (LP: #203692) + + -- Mario Limonciello Wed, 12 Mar 2008 03:37:46 -0500 + +mythtv (0.21.0-0ubuntu2) hardy; urgency=low + + * Add 12_changeset_16483.dpatch: + - Fixes DVD menu handling problem found shortly after release. + See MythTV #4897 and #4567 for more information. + + -- Mario Limonciello Sun, 09 Mar 2008 20:20:48 -0500 + +mythtv (0.21.0-0ubuntu1) hardy; urgency=low + + * New upstream version. (LP: #192486) + * Include etc/network/if-up.d/mythtv-backend.if-up.d. This makes sure + that if the network is to come up late, myth starts late. (LP: #187348) + * Start mysql from mythtv-database postinst if we can. + * Start mythtv-setup with taskset -c 0 (Thanks Daniel Kristjansson) + * Only --tune to i686 again due to upstream changes in the configure + script. This time add MMX though. (LP: #198104) (LP: #198115) + + -- Mario Limonciello Sat, 08 Mar 2008 01:31:06 -0600 + +mythtv (0.21.0~fixes16338-0ubuntu3) hardy; urgency=low + + * Install var/log/mythtv into mythtv-frontend package + to prevent alternate install CDs from failing in the order + packages get installed. (LP: #198314) + + -- Mario Limonciello Tue, 04 Mar 2008 01:47:57 -0600 + +mythtv (0.21.0~fixes16338-0ubuntu2) hardy; urgency=low + + * Add chmod to mythtv-frontend.postinst. + + -- Mario Limonciello Mon, 03 Mar 2008 06:37:04 -0600 + +mythtv (0.21.0~fixes16338-0ubuntu1) hardy; urgency=low + + * New upstream checkout. + * debian/mythtv-frontend.dirs: + - Add var/log/mythtv (LP: #185646) + * debian/patches/10_mythfilldatabase_log: + - Should allow mythfilldatabase to really log (LP: #196553) + * debian/patches/11_add_myth_prime: + - Adds mythprime binary for firewire priming. + * debian/rules: + - Turn on fribidi formatting (LP: #195780) + - Drop XvMC-OpenGL. (LP: #195780) + * debian/mythtv-backend.files: + - Install mythprime binary + * Add 41-mythtv-permissions.rules to override permissions on + raw1394 devices to folks in the mythtv group. (LP: #197202) + * Add firewire priming support to mythtv-backend init script. + + -- Mario Limonciello Sat, 01 Mar 2008 01:54:49 -0600 + +mythtv (0.21.0~fixes16259-0ubuntu1) hardy; urgency=low + + * New upstream checkout. + * debian/control: + - Add libfftw3-dev to build depends for FFT support. + - Add conflicts/replaces for mythappearance. (LP: #195421) + * debian/rules: + - Replace with pentium3 tuning to attempt to get more MMX + optimizations. + Should (hopefully) fix (LP: #195306). + - Add libfftw3 support (undocumented in configure) + + -- Mario Limonciello Wed, 20 Feb 2008 02:16:46 -0600 + +mythtv (0.21.0~fixes16174-0ubuntu1) hardy; urgency=low + + * New upstream checkout. + - Drop 07_alsa_default as it has been absorbed upstream (rev 15995) + * Depend on libfaad2-dev | libfaad-dev so as to make building + on gutsy still possible + * Clean up 09_perl_bindings for changes upstream. + + -- Mario Limonciello Sat, 16 Feb 2008 17:14:23 -0600 + +mythtv (0.21.0~fixes15967-0ubuntu2) hardy; urgency=low + + * Replace --tune=i686 and --cpu=i686 as it was a performance loss + to tune to generic. (LP: #191165) + * Build with unadvertised faad support. + * Build with unadvertised faac support. + * Build with unadvertised libmp3lame support. + * Build with unadvertised liba52 support. + * Build with unadvertised libx264 support. + * Build with unadvertised libxvid support. + + -- Mario Limonciello Sat, 16 Feb 2008 02:07:39 -0600 + +mythtv (0.21.0~fixes15967-0ubuntu1) hardy; urgency=low + + * New upstream checkout. + - Upstream has entered feature freeze and this is built + against the 0.21-fixes branch now. + * Update 07_alsa_default due to upstream changes again. + * debian/control: + - Add new python bindings package, libmyth-python. + - Promote all mysql-server depends to pre-depends. + * debian/rules: + - Add python-support to build depends + - Add libnet-upnp-perl to libmyth-perl depends. + * Drop mythtv-common and mythtv-database experimental + warnings. + * debian/startmythtv.sh: + - Launch via xterm to guarantee order that things happen. + * Update pre-filled SQL file that is shipped to be 0.21.0 based + + -- Mario Limonciello Tue, 12 Feb 2008 20:13:15 -0600 + +mythtv (0.20.99+trunk15849-0ubuntu2) hardy; urgency=low + + * Update 07_alsa_default which was causing FTBFS + due to changes with ALSA handling upstream. + * Update 08_default_directory which was causing + FTBFS since storage groups got moved. + + -- Mario Limonciello Fri, 08 Feb 2008 13:54:31 -0600 + +mythtv (0.20.99+trunk15849-0ubuntu1) hardy; urgency=low + + * New upstream checkout. + - Fixes FTBFS on powerpc. + * Drop 14_newlibraries since upstream does this now. + * debian/rules: + - Build with ffmpeg pthread support. + * debian/control: + - Depend on ttf-liberation | msttcorefonts since ttf-liberation + provides fonts with the correct metrics. + + -- Mario Limonciello Sun, 03 Feb 2008 23:10:21 -0600 + +mythtv (0.20.99+trunk15689-0ubuntu3) hardy; urgency=low + + * debian/control: + - Change soname of library package to libmyth-0.21-0 + * Update 09_perl_bindings_prefix, debian/libmyth-perl.files + - Make libmyth-perl install into /usr/share/perl5 + + -- Mario Limonciello Sat, 02 Feb 2008 14:22:00 -0600 + +mythtv (0.20.99+trunk15689-0ubuntu2) hardy; urgency=low + + * debian/control: + - Make libmyth-perl arch all rather than any + * Drop 11_idle_countdown_reset-fix and 13_interlaced_refresh_rate. + + -- Mario Limonciello Fri, 01 Feb 2008 03:05:05 -0600 + +mythtv (0.20.99+trunk15689-0ubuntu1) hardy; urgency=low + + " it's about time we switched " + + [ Mario Limonciello ] + * Switch to trunk in preparation of upcoming 0.21 release. + - Feature freeze is Feb 14, all changes between this and the 0.21 + release will be bug fixes, but not necessarily tracked on LP. + * Merge with ubuntu-mythtv's trunk bzr branch. + - Drop perl items from mythtv-common package. + - Update debian/rules get-orig-source target to base from -fixes. + - Drop 01_debian, 06_gnome_screensaver, 10_alpha-build-fix, 20_backend_crash + 21_openmedia_mheg5, 22_openmedia_livetv, 26_edit_display, 27_pulseaudio, + 29_perl_bindings, 31_pvr350_ivtv, 33_israeli_freq, 34_utf8_fixes, + 35_upnp_length patches. + * Update standards version to 3.7.3, no source changes. + * debian/rules: + - Don't optimize to a particular cpu as that's deprecated in new gcc. + Default configure behavior now tunes to generic and arch's to i686. + * Add 14_set_newlibraries to force sonames to 0.21 until upstream changes this + with their impending freeze. + * debian/control: + - Adjust packages to 0.21 soname. + * Move libmyth-0.20.files to libmyth-0.21.files. + * Adjust lintian override for 0.21 soname + + [ Michael Haas ] + * Until builds are actually at 0.21, include warnings via preinstall + files about the stability. + * Add perl bindings to libmyth-perl package. + * Drop old debian default directory patch in favor of a storage + groups patch, 08_default_direcotry + * Add 11_perl_bindings_prefix patch that doesn't work off /usr/local. + * Add local patches from tickey 3597 in 11_idle_countdown_reset-fix, + 13_interlaced_fresh_rate. + * debian/rules: + - Build with xvmc/opengl and opengl/video + - Install examples to proper location + * Update default session-settings to give a better warning. + * debian/control: + - Update for dropped mythdvd package + - Add libmyth-perl package. + + -- Mario Limonciello Wed, 30 Jan 2008 11:24:34 -0600 + +mythtv (0.20.2+fixes15513-0ubuntu4) hardy; urgency=low + + * Rebuild against newer kdelibs to resolve stat64 symbol + problems. (LP: #185033, 185108) + + -- Mario Limonciello Wed, 23 Jan 2008 01:06:21 -0600 + +mythtv (0.20.2+fixes15513-0ubuntu3) hardy; urgency=low + + * New upstream checkout (minor fixes). + * mythtv-backend.int: + - Bump the default starting runlevel to 50. + * Add UTF-8 support for UPnP server. (LP: #156689) + * Add fixes for 0 length recordings. (LP: #156691) + * mythtv-setup.sh: + - Fill database *after* starting backend. + * debian/control: + - Change ntp requirements from suggests to recommends. + - Make mythtv-database a suggest rather than recommend. + - Drop gdm from depends on ubuntu-mythtv-frontend. + + -- Mario Limonciello Tue, 18 Dec 2007 03:25:37 -0600 + +mythtv (0.20.2+fixes15096-0ubuntu2) hardy; urgency=low + + [ Mario Limonciello ] + * mythtv-backend.init: + - Require networking and remote file systems to be started before + running. (LP: #149268) + - Find the home directory of our USER and then create a symbolic + link in that user's home directory for mysql.txt. + - Add LSB support. + + [ Paul McEnery ] + * More resilient init script PID handling (LP: #118538) + + -- Mario Limonciello Mon, 17 Dec 2007 00:15:52 -0600 + +mythtv (0.20.2+fixes15096-0ubuntu1) hardy; urgency=low + + * New upstream checkout. (LP: #172291) + * Drop 32_gcc_4.2_changes. No longer necessary. + * debian/rules: + - Disable symbol visibility again. + + -- Mario Limonciello Sun, 09 Dec 2007 15:40:01 -0600 + +mythtv (0.20.2+fixes14789-0ubuntu2) hardy; urgency=low + + * Add 32_gcc_4.2_changes to prevent FTBFS when using + gcc 4.2 in hardy. + * Update 31_pvr350_ivtv to remove old ivtv ".orig" file. + * debian/rules: + - Explicitly turn on symbol visibility + * Add 33_israeli_frequencies to include israeli frequencies. + + -- Mario Limonciello Wed, 14 Nov 2007 19:45:11 -0600 + +mythtv (0.20.2+fixes14789-0ubuntu1) hardy; urgency=low + + * New upstream checkout (svn changeset 14789) + - Drop 23_schedulesdirect.dpatch (included upstream). + - Drop 24_mythstream_typo.dpatch (included upstream). + - Drop 25_firewire.dpatch (included upstream). + - Drop 28_profilebuild.dpatch (included upstream). + - Drop 30_xinerama_fix.dpatch (included upstream). + * Create a symbolic link to /etc/mythtv/mysql.txt in ~/.mythtv/ + if you don't already have a mysql.txt. + * debian/control: depend on gnome-screensaver | xscreensaver rather + than just gnome-screensaver. + * Update 06_gnomescreensaver.dpatch with changeset 10090, 14023, + and 14755 from trunk. (LP: #147905) + * debian/control: + - Move all references of mythtv-doc to suggests + - Remove mysql-server from recommends + - Move reference of xmltv-util to suggests + * Add 31_pvr350_ivtv.dpatch to fix pvr-350 ivtv output. (LP: #158562) + + -- Mario Limonciello Mon, 29 Oct 2007 16:56:16 -0400 + +mythtv (0.20.2-0ubuntu10) gutsy; urgency=low + + [ Michael Haas ] + * Move logging support. It's now setup to log for any + methods other than a terminal launch. (LP: #130925) + + -- Mario Limonciello Thu, 11 Oct 2007 09:02:36 -0500 + +mythtv (0.20.2-0ubuntu9) gutsy; urgency=low + + [ Mario Limonciello ] + * Change compile type to profile per upstream recommendations. + * Include 28_patch_build.dpatch from upstream # 14587 to improve + profile builds. + * Import debconf translations from rosetta. + * Build with perl bindings. For now include them in mythtv-common, + but later they will be included in their own binary package. + - Add 29_perl_bindings.dpatch to update settings.pro + - Add to mythtv-common package in debian/control + - Remove pack list from debian/rules + - Add dh_perl to debian/rules + - Build --with-bindings=perl in debian/rules + + [ Michael Haas ] + * Add 30_xinerama_fix.dpatch from upstream trunk rev 14520 (LP: #136533) + + + -- Mario Limonciello Mon, 01 Oct 2007 18:47:06 -0500 + +mythtv (0.20.2-0ubuntu8) gutsy; urgency=low + + [ Mario Limonciello ] + * debian/startmythtv.sh: + - Switch ~ to $HOME + - Only run mtd if not running. + * debian/control: + - Refresh dependencies for ubuntu-mythtv-frontend + to gutsy appropriate package names. + * debian/ubuntu-mythtv-frontend.postinst: + - Take ownership of ~/.mythtv if necessary. (LP: #145714) + + [ Michael Haas ] + * debian/startmythtv.sh: + - Correct minor typo in ${MYTHWELCOME}. (LP: #144541) + + [ Jo Shields ] + * Start mythtv-setup in a terminal. (LP: #147701) + + [ Brian J. Murrell ] + * Clarify text in mythtv-database.postinst (LP: #146328) + + -- Mario Limonciello Thu, 27 Sep 2007 02:00:01 -0500 + +mythtv (0.20.2-0ubuntu7) gutsy; urgency=low + + [ Mario Limonciello ] + * debian/control: + - Mark a 'replaces' for mythtv-backend-0.20.2-0ubuntu1 (LP: #140841) + - Make all instances of ntp, ntp | time-daemon (LP: #144268) + * Add debian/patches/26_edit_display.dpatch (LP: #139821) + * Add debian/patches/27_pulseaudio.dpatch (LP: #138810) + + [ Joel Ebel ] + * debian/startmythtv.sh: + - Add support to start mtd -d + - Add support to check for not executing irexec -d + + [ Michael Haas ] + * debian/startmythtv.sh: + - Create a frontend and welcome log file in /var/lib/mythtv. + + -- Mario Limonciello Sun, 23 Sep 2007 19:34:56 -0500 + +mythtv (0.20.2-0ubuntu6) gutsy; urgency=low + + * Add X-AppInstall-Package= to both .desktop files to ensure that + they install the 'mythtv' metapackage rather than mythtv-backend + or mythtv-frontend when selected in Add/Remove programs. + + -- Mario Limonciello Mon, 10 Sep 2007 00:23:26 -0500 + +mythtv (0.20.2-0ubuntu5) gutsy; urgency=low + + * Update 23_schedulesdirect.dpatch: + - Include [14430] & [14427] to drop TMS all together. + * Add 25_firewire.dpatch: + - Backports firewire fixes to prevent the need for currently + necessary workarounds. + + -- Mario Limonciello Thu, 06 Sep 2007 12:06:33 -0500 + +mythtv (0.20.2-0ubuntu4) gutsy; urgency=low + + * debian/control: + - Make update-notifier | adept-notifier recommends so + gnome/kde users benefit without harming non users. (LP: #135431) + * debian/mythtv-database.postinst: + - Check for $unud and only copy if it exists. + + -- Mario Limonciello Tue, 04 Sep 2007 22:17:13 -0500 + +mythtv (0.20.2-0ubuntu3) gutsy; urgency=low + + * Add 24_mythstream_typo.dpatch: + - Fixes mythstream load errors. (LP: #136483) + * debian/control: + - Depend on update-notifier | adept-notifier to not pull in + unnecessary dependencies for kubuntu users. (LP: #135431) + - Depend on usplash-theme-ubuntu | usplash to make backporting to + Dapper easier. + + -- Mario Limonciello Sun, 02 Sep 2007 04:52:33 -0500 + +mythtv (0.20.2-0ubuntu2) gutsy; urgency=low + + * Add 23_schedulesdirect.dpatch: + - Cherry pick [14307] [14324] [14348] to fix a few items + found related to schedules direct after 0.20.2 release. + + -- Mario Limonciello Tue, 28 Aug 2007 16:16:24 -0500 + +mythtv (0.20.2-0ubuntu1) gutsy; urgency=low + + [ Mario Limonciello ] + * New Upstream Checkout: + - Tagged release to 0.20.2. + - Removes deprecated datadirect support in favor of Schedules + Direct for North American users. + - Cleans up UPNP support. + - Checks for DTS libraries properly + * debian/control: + - Adjust Suggests for mythtv-frontend. + - Adjust recommends for ubuntu-mythtv-frontend + * debian/rules: + - Add support to show svn version number in mythfrontend --version. + - Add support for tagged releases that don't need +fixes appended. + * Cleanup source.lintian-overrides for additional warnings. + * Drop unnecessary libdts patch as dts has changed upstream to + detect when dts_pic is necessary. + * Use proper files for upnp support from backported -fixes on + mythtv-backend. + * Change section to multiverse/graphics so this can build on PPAs. + + [ Nick Hemsley ] + * Add support to check for ~/.mythtv/session upon startup for + ubuntu-mythtv-frontend meta. (LP: #134028) + + -- Mario Limonciello Mon, 20 Aug 2007 16:40:59 -0500 + +mythtv (0.20.1+fixes14194-0.0ubuntu1) gutsy; urgency=low + + * New upstream checkout: + - Includes support for mythstream in the menu system. + * Change background color to black in gdm configurations. + * debian/control: + - Move ntp | ntp-simple into metas only. + - Make ntp | ntp-simple Suggests on mythtv-frontend or mythtv-backend. + * debian/mythfrontend.sh: + - Make sure that exec mythfrontend to start + * Remove 20_backend_crash_without_tuner.dpatch. It's included + in the current 0.20-fixes branch. + + -- Mario Limonciello Tue, 14 Aug 2007 09:54:21 -0500 + +mythtv (0.20.1+fixes13837-0.0ubuntu2) gutsy; urgency=low + + * debian/control: + - Update to ${source:version}. (LP: #125685) + * Add additional function to ubuntu-mythtv-frontend's prerm. + * Source xmodmap configuration if the user has it. + + -- Mario Limonciello Mon, 9 Jul 2007 20:37:52 -0500 + +mythtv (0.20.1+fixes13837-0.0ubuntu1) gutsy; urgency=low + + * New svn fixes co, 13837. + * Correct minor typo in debian/control. + * Add the rest of mythbuntu-gdm.conf + * Myth mythtv-transcode-utils conflict older backends. + * Modify README.debian to clarify a contrib script. + * Prefill the database with populated information. + No longer is it "necessary" to run mythtv-setup before + starting mythfrontend. + * Provide debconf questions that can be used to change + bind settings for MySQL and MythTV. + + -- Mario Limonciello Mon, 25 Jun 2007 10:04:06 -0500 + +mythtv (0.20.1+fixes13737-0.0ubuntu1) gutsy; urgency=low + + * Update to new SVN Fixes co, 13737. + * Adapt new package naming structure. + * Add 21_openmedia_mheg5.dpatch importing many MHEG5 + fixes from trunk. (LP: 119984). + * Add 22_openmedia_livetv.dpatch importing many Livetv + fixes from trunk. (LP: 119884). + * debian/rules: + - Add support to grab the latest .orig.tar.gz. + - Add debconf-updatepo to the clean: target. + * Clean up all fields mismarked as translatable (LP: 118952) + * Add source.lintian-overrides to handle a few warnings + about binary NMU's. + * Add a mythbuntu gdm.conf that will use the mythbuntu-gdm-theme + if available at package installation. + * Update debian/ubuntu-mythtv-frontend.postinst to use the appropriate + gdm theme. + * Add mythbuntu-gdm-theme | feisty-gdm-themes to debian/control. + + -- Mario Limonciello Sun, 17 Jun 2007 11:53:58 -0500 + +mythtv (0.20-svn20070523-0.0ubuntu1) gutsy; urgency=low + + [ Mario Limonciello ] + * Merge with debian multimedia: + o New SVN release. (last change is 13496) + o Rename libmyth0.20-dev to libmyth-dev . + * Remaining changes: + o Drop 21_changeset12782_hd_homerun as its included in 13496. + o Make ubuntu-mythtv-frontend depend on mythbuntu-artwork-usplash + rather than the ubuntu artwork if available. + o Create mythtv-transcode-utils (LP: #92703) + o FE & BE depend on either fake-msttcorefonts or msttcorefonts. (LP: #110068) + o Bump debian/compat to 5. + o Add an option to /etc/mythtv/session-settings for controlling + if mythwelcome is used or mythfrontend. + o Add "ntp |" to all ntp-simple depends. (LP: 118705) + o Add update-notifier to mythtv-database depends (LP: # 109950) + + [ Nick Fox ] + * Add gnome-power-manager to startmythtv.sh script if installed + to properly control DPMS. + + -- Mario Limonciello Tue, 05 June 2007 12:26:31 -0500 + +mythtv (0.20-svn20070122-0.0ubuntu6) feisty; urgency=low + + [ Mario Limonciello ] + * debian/mythtv-database.postinst: + - Move "exit 0" after notifier install. (LP: #105948) + * debian/mythtv-reconfigure-required.update-notifier: + - Update text to more closely reflect packaging changes. + * debian/startmythtv.sh: + - Add checks to see if backend has been ran yet. (LP: #96737) + * debian/mythtv-setup.sh: + - Start/Stop mythbackend & offer to fill database for user. + * Add mythtv-setup.desktop. (LP: #106002) + + [ Tom Metro ] + * Fix minor typo in init mythtv-backend.init. (LP: #106012) + + -- Mario Limonciello Thu, 12 Apr 2007 14:17:14 -0500 + +mythtv (0.20-svn20070122-0.0ubuntu5) feisty; urgency=low + + * debian/mythtv-database.config: + - Change priority of questions. User will only get questions + when reconfiguring the package. (LP: #99916) + * debian/mythtv-common.templates & mythtv-common.postinst + - Tell the user about their MySQL password. (LP: #96739) + * debian/ubuntu-mythtv-frontend.postinst & mplayer-config + - Add mplayer config to make sure screensaver off. (LP: #103191) + * Add 07_alsa_default.dpatch to make ALSA default. (LP: #93341) + * debian/mythtv-backend.init: + - unset DISPLAY & SESSION_MANAGER to prevent ominous QT + authentication warnings. (LP: #55827) + * Clarify text of debian/dialog_functions.sh. + * Add 21_changeset12782_hd_homerun.dpatch (LP: #104965) + + -- Mario Limonciello Tue, 10 Apr 2007 03:50:16 -0500 + +mythtv (0.20-svn20070122-0.0ubuntu4) feisty; urgency=low + + * debian/control: + - msttcorefonts to mythtv-frontend and mythtv-backend. + Appears several themes DO use it. (LP: #93986, #96734, #96768) + * Update templates for correct wording about mythtv + users/groups (LP: #96739) + + -- Mario Limonciello Sat, 24 Mar 2007 19:30:53 -0500 + +mythtv (0.20-svn20070122-0.0ubuntu3) feisty; urgency=low + + [ Mario Limonciello ] + * Add new wrapper script for mythfrontend and mythtv-setup + to guarantee user is in the mythtv group. (LP: #93476). + * debian/control: Add zenity | kdebase-bin, gksu | kdebase-bin + for wrapper scripts to mythtv-backend and mythtv-frontend. + * debian/rules: Install wrapper scripts functions. + * debian/control: Add XSBC-Original-Maintainer field. + * debian/control: Drop msttcorefonts requirement + * debian/control: Add mythtv user to dialout group (LP: #95074). + + [ Kees Cook ] + * debian/patches/20_backend_crash_without_tuner.dpatch: stop backend + crashes when missing tuner info (LP: #93250). + + -- Kees Cook Fri, 23 Mar 2007 22:59:29 -0700 + +mythtv (0.20-svn20070122-0.0ubuntu2) feisty; urgency=low + + * debian/control: Trim down metapackages. + * debian/rules: adjusted config file locations. + * debian/*myth*.{pre,post}{inst,rm}: moved gdm link, built symlinks to + startup configs. Fixed insecure temp file. + * debian/patches/01_debian_patch: Use /var/lib/mythtv/recordings, + drop mythtv cron. + * Removed debian/mythtv-backend.cron.daily; the database fill must + happen from backend scheduler to take advantage of next-run hints. + + -- Kees Cook Mon, 19 Feb 2007 08:49:46 -0800 + +mythtv (0.20-svn20070122-0.0ubuntu1) feisty; urgency=low + + * Merge with debian multimedia: + o New svn release (12617). + o Install desktop file in the right package. + * Remaining Changes: + o Update debian/rules to more closely match debian multimedia. + + -- Mario Limonciello Mon, 22 Jan 2007 08:59:52 -0600 + +mythtv (0.20-svn20061209-0.3ubuntu1) feisty; urgency=low + + * Merge with debian multimedia: + o To re-enable dvb support in some archs (amd64, powerpc) : + - Build-depends on linux-kernel-headers instead of linux-headers-2.6 + - and don't set --dvb-path (not necessary). + o Call su with - in cron.daily for mythtv-backend package. + o Update --dvb-path option to use linux-headers-`uname -r` path. + o Build-Conflicts: libmyth-0.20-dev, build with --enable-opengl-vsync. + o Add mythtv user to the cdrom group. + o Add desktop file for GNOME. + o Call update-notifier if mysql-server isn't running + o Source /etc/mythtv/mysql.txt in cron.weekly for mythtv-database. + * Remaining changes: + o Add source.lintian-overrides to cover two lintian warnings + with explanations why they are safe to ignore. + o Switch to alternative's system for gdm.conf. + o Install openbox menu.xml only to /home/mythtv instead of /etc/mythtv. + o Remove openbox from PreDepends. + + -- Mario Limonciello Thu, 28 Dec 2006 15:20:21 -0600 + +mythtv (0.20-svn20061209-0.1ubuntu1) feisty; urgency=low + + * Merge with debian multimedia: + o Add all files in the contrib directory to the mythtv-backend package. + o New svn from 0.20 fixes branch (12227). + o Source /etc/mythtv/mysql.txt in cron.weekly for the mythtv-database package. + * Remaining Changes: + o Add a ubuntu-mythtv-frontend.postinst to set permissions on /home/mythtv + if it already exists. + o Add feisty-gdm-themes | edgy-gdm-themes to ubuntu-mythtv-frontend + depends. + o Add libgl1-mesa-glx to ubuntu-mythtv-frontend depends. + o Make sure gdm.conf-custom and openbox-menu.xml are placed in /etc/mythtv. + Create symlinks for them in /etc/gdm and /etc/xdg/openbox. + o Properly set up diversions for /etc/gdm/gdm.conf-custom & + /etc/xdg/openbox/menu.xml. + o Add a pre-depends to ubuntu-mythtv-frontend to make sure that + gdm.conf-custom and menu.xml are generated *before* the diversions. + o Add ubuntu-mythtv-secondary-backend metapackage for consistency. + o Add ntp-simple to several metapackages. + o Change default recordings directory to /media/mythtv/recordings. + + -- Mario Limonciello Sun, 10 Dec 2006 01:36:46 -0600 + +mythtv (0.20-0.5ubuntu2) feisty; urgency=low + + * Remove unnecessary mythtv-frontend.files.old. + * Make startmythtv.sh executable on installation. + * Fix depends on ubuntu-mythtv-secondary-backend-frontend. + * Update description for ubuntu-mythtv-secondary-backend-frontend. + * Add .dmrc to set default session for mythtv user in ubuntu-mythtv-frontend. + * Add feh to dependencies to set a nice background for ubuntu-mythtv-frontend. + * Provide background.xpm for ubuntu-mythtv-frontend. + * Provide menu.xml for openbox in ubuntu-mythtv-frontend. + * Provide gdm.conf-custom in ubuntu-mythtv-frontend. + * Add ubuntu-mythtv-frontend.preinst and .postrm for menu.xml, gdm.conf-custom diversions. + * Add mythtv-themes to Recommends for ubuntu-mythtv-frontend. + + -- Mario Limonciello Fri, 8 Dec 2006 20:13:36 -0600 + +mythtv (0.20-0.5ubuntu1) feisty; urgency=low + + * Merge with debian multimedia: + o Check in cron script if mythfilldatabase is here and executable. + o Updated 0.20 fixes patch (latest is 11627). + o Added patch from svn to fix hue when using XV. Mythtv bug 2241. + o Added support for make -j + o Make sure that mythtv is stopped before mysql in init script. + o Added /etc/cron/weekly/mythtv-database to backup mythconverg database. + o Added mythtv-backend.configfiles to preserve user changes. + o Move CDS_scpd.xml, CMGR_scpd.xml and upnpavcd.xml into + mythtv-backend. (Thanks Scott Davilla) + o Add ccache to build depends. + * Remaining Changes: + o Revert the --disable-ccache in debian/rules + o Be sure that debian/mythtv-database.prerm includes a DEBHELPER tag + o Remove patch #11365 for mythreplex bug. + Included in new 0.20-fixes patch from debian multimedia. + o Update maintainer, "MythTV Ubuntu Maintainers " + o Add mysql-server to 'mythtv' metapackage, so that this package + can again be used for a quick install on top of a desktop to + properly get all necessary dependencies. + o Begin to introduce the idea of "profile metapackages" to be used for + standalone Ubuntu machines intended soley for mythtv usage. + - ubuntu-mythtv-master-backend + - ubuntu-mythtv-frontend + - ubuntu-mythtv-master-backend-frontend + - ubuntu-mythtv-secondary-backend-frontend + o Create GDM xsession to be used in frontend profiles + o Create openbox startup script to be used in frontend profiles + - Include support for irexec, nvidia-settings, gnome-screensaver + o Be sure that "mythtv" is added to the cdrom group. This will make + sure that mtd will be able to rip dvds. (Closes: #69651) + o Rename 05_gnomescreensaver.dpatch to 06_gnomescreensaver.dpatch + to make room for upstream patch 05_11372.dpatch + o Update author on 06_gnomescreensaver.dpatch. + + -- Mario Limonciello Mon, 04 Dec 2006 02:52:20 -0600 + +mythtv (0.20-0.2ubuntu3) edgy; urgency=low + + * Silently fail more gracefully during dist-upgrades if mysql-server isn't + running. Instead provide a update-notifier notification to the user to + reconfigure the database. (Closes Ubuntu: #67696, 41339, 58155, 68400) + + -- Mario Limonciello Sat, 28 Oct 2006 11:38:27 -0500 + +mythtv (0.20-0.2ubuntu2) edgy; urgency=low + + * Import changeset #11365 from mythtv SVN to resolve mythreplex bug + (Closes Ubuntu: #65790) + * Update maintainer to be MOTU-Media + + -- Mario Limonciello Sun, 15 Oct 2006 13:18:12 -0500 + +mythtv (0.20-0.2ubuntu1) edgy; urgency=low + + * Merge with debian multimedia. Remaining changes: + * Keep --enable-opengl-vsync enabled + * Remove mythtv-debug from suggests in debian/control + * Rename 04_gnomescreensaver.dpatch to 05_gnomescreensaver.dpatch + to make room for 04_0.20-fixes.dpatch from debian multimedia. + * Compile with --compile-type=debug to adhere to requirements + for pkg-create-dbgsym. All debugging symbols are still stripped, + but placed in a .ddeb by pkg-create-dbgsym. + + -- Mario Limonciello Thu, 5 Oct 2006 12:47:25 -0500 + +mythtv (0.20-0.0ubuntu4) edgy; urgency=low + + * Adds a menu file for mythfrontend (Closes Ubuntu: #737). + + -- Mario Limonciello Tue, 3 Oct 2006 12:45:37 -0500 + +mythtv (0.20-0.0ubuntu3) edgy; urgency=low + + * Fix gnome-screensaver patch to properly disable screensaver + * Explicitly enable MMX for i386 + + -- Mario Limonciello Fri, 29 Sep 2006 01:31:16 -0500 + +mythtv (0.20-0.0ubuntu2) edgy; urgency=low + + * Added --disable-ccache to debain/rules so it doesnt try to use + ccache on the buildd's + + -- Brandon Holtsclaw Thu, 28 Sep 2006 00:22:27 -0500 + +mythtv (0.20-0.0ubuntu1) edgy; urgency=low + + [ Mario Limonciello ] + * Syncronize with debian-multimedia + * Add 04_gnomescreensaver.dpatch to disable gnome-screensaver instead of xscreensaver + + -- Brandon Holtsclaw Thu, 14 Sep 2006 23:42:09 -0500 + +mythtv (0.20-0.0) unstable; urgency=low + + * New upstream release + * Removed sparc patch. + * Removed --enable-dvb-eit who has been removed. + * Replace debconf dependency by ${misc:Depends}. + * mythtv-database should depends on mysql-client instead of mysql-server. + + -- Christian Marillat Tue, 12 Sep 2006 08:46:02 +0200 + +mythtv (0.19-0.10) unstable; urgency=low + + * Add 02_0.19-fixes patch. This patch add all the changes from the + 0.19-fixes svn branch. + * New patch to fix build on alpha. + * Delete the mythtv user on purge. + + -- Christian Marillat Sat, 1 Jul 2006 15:24:40 +0200 + +mythtv (0.19-0.9) unstable; urgency=low + + * Really apply the libdts patch. + + -- Christian Marillat Wed, 28 Jun 2006 10:55:30 +0200 + +mythtv (0.19-0.8) unstable; urgency=low + + * The dts patch should be applied for all archs. + * Build with -fPIC + + -- Christian Marillat Tue, 27 Jun 2006 15:01:58 +0200 + +mythtv (0.19-0.7) unstable; urgency=low + + * Fix typo (a space character) in 01_debian patch. Thanks to Andrew Ruthven. + * Set QMAKE_PROJECT_DEPTH to 1 in settings.pro + + -- Christian Marillat Mon, 12 Jun 2006 15:16:53 +0200 + +mythtv (0.19-0.6) unstable; urgency=low + + * Oooops, update-rc.d was called with wrong arguments. + + -- Christian Marillat Fri, 24 Mar 2006 14:40:58 +0100 + +mythtv (0.19-0.5) unstable; urgency=low + + * Create /etc/mythtv directories in mythtv-common package. + * Start the backend more later than the mysql serveur (24 instead of 20). + + -- Christian Marillat Wed, 22 Mar 2006 13:58:46 +0100 + +mythtv (0.19-0.4) unstable; urgency=low + + * Added a patch from svn to fix a problem with mysql 5 (mythtv lose + "Recording Schedule"). + + -- Christian Marillat Wed, 8 Mar 2006 10:04:49 +0100 + +mythtv (0.19-0.3) unstable; urgency=low + + * Doesn't use CFLAGS but instead --extra-cflags for special gcc flags (sparc). + * Remove the pid file when stop is invoked in the mythbackend init.d + script so start can work has expected. Thanks to Sebastian Bremicker. + * debian/control replace libmysqlclient-dev by libmysqlclient12-dev. + * Fix for ppc from Magnus Ihse Bursie to link against libdts. + * XvMC is also disabled for ppc. + + -- Christian Marillat Sat, 18 Feb 2006 14:46:03 +0100 + +mythtv (0.19-0.2) unstable; urgency=low + + * libmyth-0.19-dev and mythtv-debug should depends on libmyth-0.19 instead + of libmyth-0.18.1 + * Build with "--compile-type=debug" for the debug package (Thanks to Brad Fritz). + * Revert "Move debug libraries in the right place." introduced in 0.18.1-11 + + -- Christian Marillat Thu, 16 Feb 2006 09:57:35 +0100 + +mythtv (0.19-0.1) unstable; urgency=low + + * Forgot to add Guido's changes. + * Add libjack-dev and libdts-dev in Build-Depends. + * Doesn't build XvMC support for amd64 (doesn't compile). + * New amd64 patch to fix link problem with libdts. + + -- Christian Marillat Wed, 15 Feb 2006 14:40:14 +0100 + +mythtv (0.19-0.0) unstable; urgency=low + + * New upstream release. + + -- Christian Marillat Tue, 14 Feb 2006 18:52:34 +0100 + +mythtv (0.18.1-11) unstable; urgency=low + + * Move debug libraries in the right place. + + -- Christian Marillat Thu, 26 Jan 2006 11:14:44 +0100 + +mythtv (0.18.1-10) unstable; urgency=low + + * Doh ! Forget to write the test command in my test. + + -- Christian Marillat Wed, 11 Jan 2006 08:57:12 +0100 + +mythtv (0.18.1-9) unstable; urgency=low + + * Doesn't restart the backend if already running in postinst. + * Patch from Peter Kahle no not use repeat who is a keyword in mysql 5.0 + * mythtv-database.postinst If hostname is blank set to localhost. + + -- Christian Marillat Tue, 10 Jan 2006 16:01:07 +0100 + +mythtv (0.18.1-8) unstable; urgency=low + + * Changes from Micah F. Galizia + o Use --tune=i486 instead of pentium4. + o Enable vld XvMC and XvMC. + + -- Christian Marillat Tue, 3 Jan 2006 15:59:56 +0100 + +mythtv (0.18.1-7) unstable; urgency=low + + * Move patches in the diff to dpatch. + * gettextize debconf templates files. + + -- Christian Marillat Fri, 23 Dec 2005 15:49:52 +0100 + +mythtv (0.18.1-6) unstable; urgency=low + + * Rebuild after removing the fglrx-driver package. + * Add a versioned libiec61883-dev in Build-Depends. + * Add libavc1394-dev in Build-Depends. + + -- Christian Marillat Tue, 20 Dec 2005 16:40:07 +0100 + +mythtv (0.18.1-5) unstable; urgency=low + + * Prefer libmysqlclient15-dev in Build-Depends. + * Build with --enable-dvb-eit and --enable-dvb + + -- Christian Marillat Sat, 17 Dec 2005 16:32:28 +0100 + +mythtv (0.18.1-4) unstable; urgency=low + + * Prefer libmysqlclient14-dev + + -- Matt Zimmerman Mon, 29 Aug 2005 15:16:34 -0700 + +mythtv (0.18.1-3) unstable; urgency=low + + * Fix menu entry to refer to mythtv-frontend, rather than mythtv (thanks + to Paul Andreassen) + * Disable silly xinit test entirely + + -- Matt Zimmerman Sat, 11 Jun 2005 12:51:58 -0700 + +mythtv (0.18.1-2) unstable; urgency=low + + * Fix configure test for xinit to work on Debian as well + + -- Matt Zimmerman Sat, 11 Jun 2005 12:07:11 -0700 + +mythtv (0.18.1-1) unstable; urgency=low + + * New upstream release + * Changes from Micah Galizia + - Patch configure to allow xvmc-vld + * Use gcc-3.4 rather than -3.3 (ABI transition for libmyth-0.18.1) + * Fix configure xinit test to be compatible with Ubuntu breezy (where + xinit has moved to /usr/bin) + * Adjust dependencies on libqt3-mt-mysql to accomodate systems both + before and after the gcc-4.0 transition + * Include static libraries in libmyth-0.18.1-dev where available + + -- Matt Zimmerman Fri, 10 Jun 2005 12:53:11 -0700 + +mythtv (0.18-3) unstable; urgency=low + + * Add /usr/X11R6/include to INCLUDEPATH for libmyth + + -- Matt Zimmerman Sun, 29 May 2005 18:57:30 -0700 + +mythtv (0.18-2) breezy; urgency=low + + * mythtv Recommends: mythtv-themes + * Build-Depends: libxext-dev + * Update README.Debian to reflect that running as alternate users + doesn't quite work anymore (patches welcome) + * Configure with --cpu=i486 --tune=pentium4 --enable-mmx + + -- Matt Zimmerman Thu, 26 May 2005 14:27:54 -0700 + +mythtv (0.18-1) breezy; urgency=low + + * New upstream release + - Use gcc-3.3 explicitly, and build-depend on it, so as to continue to + build on Breezy (at least libavcodec doesn't compile with 4.0) + - mythtv-setup is now installed for us, no need to do it in debian/rules + - Set QMAKE_LIBDIR_X11 in settings.pro + - Comment out code in configure which disables x11 support based on + presence of xinit(?!) + * Explicitly enable lirc, alsa, oss, jack, arts, xvmc, opengl-vsync, dvb, + firewire, ivtv and joystick-menu + - Add build-depends: libdvb-dev + * Build-Depends: libdvb-dev, gcc-3.3 + + -- Matt Zimmerman Sun, 1 May 2005 21:22:54 -0700 + +mythtv (0.17-3) hoary; urgency=low + + * Fix bad merge of backendsettings.cpp + + -- Matt Zimmerman Mon, 14 Feb 2005 09:50:35 -0800 + +mythtv (0.17-2) hoary; urgency=low + + * Fix CXXFLAGS to -O2 -g all around (fixes FTBFS on amd64) + + -- Matt Zimmerman Sun, 13 Feb 2005 23:24:53 -0800 + +mythtv (0.17-1) unstable; urgency=low + + * New upstream release + * Add build-depends: libxinerama-dev | xlibs-static-dev (<< 6.8.1-1), libxxf86vm-dev | xlibs-static-dev (<< 6.8.1-1) + * Add debian/mysql.txt.dist as template; upstream no longer ships one + + -- Matt Zimmerman Sat, 12 Feb 2005 23:10:39 -0800 + +mythtv (0.16-2) unstable; urgency=low + + * Drop alternative dependency on libqt3-mt-mysql, since woody isn't + really supported anymore anyway, and it was causing confusion + + -- Matt Zimmerman Fri, 11 Feb 2005 19:33:06 -0800 + +mythtv (0.16-1) unstable; urgency=low + + * New upstream release + * Add an explanation to the package description of mythtv-debug + explaining its use + * Build without -march=i686 + * Add a Depends: line to mythtv-debug to appease linda + + -- Matt Zimmerman Fri, 10 Sep 2004 17:46:18 -0700 + +mythtv (0.15.1-1) unstable; urgency=low + + * New upstream release + * Add mythtv-backend.NEWS file with pointer to datadirect upgrade + instructions + + -- Matt Zimmerman Tue, 1 Jun 2004 12:12:09 -0700 + +mythtv (0.15-1) unstable; urgency=low + + * New upstream release + - Includes support for Zap2It Data Direct service (you'll need to + switch to this if you used tv_grab_na with 0.14) + * Downgrade xmltv-util dependency to a Recommends, since it's now + optional for North American users + + -- Matt Zimmerman Wed, 26 May 2004 22:53:35 -0700 + +mythtv (0.14-6) unstable; urgency=low + + * Use copytruncate in logrotate config, so that mythbackend is always + writing to mythbackend.log, as a workaround until such time as I get + around to adding a signal handler to mythtv to reopen the logfile + (thanks to Brad Fritz) + * Remove build-depends: linux-kernel-headers + * Provide concrete alternative libmysqlclient10-dev for virtual package + libmysqlclient-dev + + -- Matt Zimmerman Mon, 29 Mar 2004 19:43:31 -0800 + +mythtv (0.14-5) unstable; urgency=low + + * Include ALSA and ARTS support + * Preserve permissions on /etc/mythtv/mysql.txt if they are changed + + -- Matt Zimmerman Fri, 20 Feb 2004 15:32:58 -0800 + +mythtv (0.14-4) unstable; urgency=low + + * Add missing ttf-freefont dependency + + -- Matt Zimmerman Wed, 18 Feb 2004 23:36:29 -0800 + +mythtv (0.14-3) unstable; urgency=low + + * Replace FreeMono.ttf, FreeSans.ttf with a symlink to the one in ttf-freefont + * Move setup.xml and font symlinks into mythtv-common, since they're + needed by mythtv-setup + + -- Matt Zimmerman Wed, 18 Feb 2004 11:09:21 -0800 + +mythtv (0.14-2) unstable; urgency=low + + * Move themes into mythtv-common, as they're needed for the backend + setup as well + * mythtv-common Replaces mythtv-frontend (<< 0.14-2) + * New binary package mythtv-debug, which has debugging symbols for + mythtv-frontend, mythtv-backend and libmyth. No more recompiling just + to get backtraces. + * Build with -O2 -g -march=pentiumpro (rather than -O3 -fomit-frame-pointer) + + -- Matt Zimmerman Sat, 31 Jan 2004 20:35:36 -0800 + +mythtv (0.14-1) unstable; urgency=low + + * New upstream release + + -- Matt Zimmerman Sat, 31 Jan 2004 14:43:48 -0800 + +mythtv (0.13-6) unstable; urgency=low + + * Add a check to ensure that the package isn't being built under /usr, + due to #180240 (which shows no signs of being fixed) + * Remove debconf prompts from mythtv-frontend which used to be used to + configure the backend location; this is now done inside the UI + + -- Matt Zimmerman Sat, 24 Jan 2004 12:29:06 -0800 + +mythtv (0.13-5) unstable; urgency=low + + * Don't compress the mythbackend log when rotating it (it doesn't get + reopened yet) + * Install configfiles/* as examples + + -- Matt Zimmerman Mon, 12 Jan 2004 09:54:06 -0800 + +mythtv (0.13-4) unstable; urgency=low + + * Enable DVB and LIRC support + + -- Matt Zimmerman Sun, 14 Dec 2003 11:57:23 -0800 + +mythtv (0.13-3) unstable; urgency=low + + * Apply tvformat.fix.0.13.diff to fix problem where tvformat column was + not properly initialized + + -- Matt Zimmerman Sat, 13 Dec 2003 23:43:53 -0800 + +mythtv (0.13-2) unstable; urgency=low + + * Include mythtvosd in mythtv-frontend until such time as I decide where + it really belongs + + -- Matt Zimmerman Sat, 13 Dec 2003 16:00:49 -0800 + +mythtv (0.13-1) unstable; urgency=low + + * New upstream release (packaged at last) + * No more database upgrade scripts (hurrah) + + -- Matt Zimmerman Fri, 12 Dec 2003 15:14:01 -0800 + +mythtv (0.11-6) unstable; urgency=low + + * Rebuild with gcc 3.3.2-0pre2. Building with 3.3.2-0pre3 is broken due to + #210848 + + -- Matt Zimmerman Thu, 18 Sep 2003 10:47:50 -0400 + +mythtv (0.11-5) unstable; urgency=low + + * Make sure that debian/mythsql is executable (it is created by the + Debian diff) + + -- Matt Zimmerman Tue, 16 Sep 2003 09:06:10 -0400 + +mythtv (0.11-4) unstable; urgency=low + + * Fix another problem initializing the database on fresh installs + + -- Matt Zimmerman Wed, 20 Aug 2003 22:29:48 -0400 + +mythtv (0.11-3) unstable; urgency=low + + * Add Suggests for the various add-ons + * Fix a strange problem in the mythtv-database postinst which broke + fresh installs + + -- Matt Zimmerman Wed, 20 Aug 2003 21:30:51 -0400 + +mythtv (0.11-2) unstable; urgency=low + + * Clean up database handling a bunch, adding a script (mythsql) which + can be used by the add-ons to initialize their database without messy + postinst tricks + * mythtv-common Depends: mysql-client + * Fix description for libmyth-0.11-dev + + -- Matt Zimmerman Fri, 15 Aug 2003 23:28:39 -0400 + +mythtv (0.11-1) unstable; urgency=low + + * New upstream release + * Run qmake before make, because qmake puts broken dependencies into the + Makefile + + -- Matt Zimmerman Fri, 15 Aug 2003 15:24:48 -0400 + +mythtv (0.10-4) unstable; urgency=low + + * Don't attempt to drop the database in postrm. Too many people screw up + the username/password configuration and then can't purge it + + -- Matt Zimmerman Wed, 30 Jul 2003 09:03:17 -0400 + +mythtv (0.10-3) unstable; urgency=low + + * Include mythcommflag in mythtv-backend. Thanks to Jim + for pointing this out. + * Include i18n files for mythfrontend + * Include mythtranscode binary in mythtv-backend + * Build-Depend on libfreetype6-dev rather than libttf-dev. Thanks to + Eduardo P?rez Ureta + + -- Matt Zimmerman Tue, 22 Jul 2003 20:03:46 -0400 + +mythtv (0.10-2) unstable; urgency=low + + * Add /etc/default/mythtv-backend with some handy options for controlling + the startup of the backend + * Include patch from upstream CVS to work correctly with xmltv 0.5.15 + * Use exact versioned dependencies for the mythtv metapackage to make it + easy to keep everything in sync + + -- Matt Zimmerman Thu, 10 Jul 2003 00:02:57 -0400 + +mythtv (0.10-1) unstable; urgency=low + + * New upstream release + + -- Matt Zimmerman Tue, 1 Jul 2003 21:22:40 -0400 + +mythtv (0.9.1-1) unstable; urgency=low + + * New upstream release + * Add keys.txt to documentation + + -- Matt Zimmerman Tue, 10 Jun 2003 16:51:45 -0400 + +mythtv (0.9-2) unstable; urgency=low + + * Fix permissions on /var/lib/mythtv and /var/cache/mythtv + + -- Matt Zimmerman Tue, 10 Jun 2003 14:33:02 -0400 + +mythtv (0.9-1) unstable; urgency=low + + * New upstream release + * Recommend mythtv-doc in a few places + * Fix default paths in backend setup; apparently this was lost in the 0.8 + merge. The correct defaults are /var/lib/mythtv and /var/cache/mythtv for + recordings and live tv, respectively. Permissions are automatically set + appropriately on these directories by default. + + -- Matt Zimmerman Wed, 4 Jun 2003 23:12:05 -0400 + +mythtv (0.8-11) unstable; urgency=low + + * Print a warning if any old myth stuff is found in /usr/local + (too many complaints about "broken" packages caused by old libraries and + binaries) + + -- Matt Zimmerman Fri, 4 Apr 2003 15:10:00 -0500 + +mythtv (0.8-10) unstable; urgency=low + + * Clean /var/log/mythtv on purge of mythtv-backend + * Clarify the debconf note which explains about running setup, so that + it includes a note about X and explains how to start the backend + afterward. + * Clarify package descriptions to explain their relationships + * Raise the priority of the question about the mysql admin password to + 'high', and add some additional info to it. There is a dilemma here + between confusing users by asking this question (when they have not + set a password), and confusing them by skipping it (when the user has + set a password) + * Move the dependency on the Qt mysql module to libmyth-0.8 where it is + shared by all packages which depend on it + + -- Matt Zimmerman Thu, 20 Mar 2003 09:34:41 -0500 + +mythtv (0.8-9) unstable; urgency=low + + * Fix display of hostname in informational message in postinst + * Fix log rotation (mythfilldatabase.log no longer exists, rotate + mythbackend.log) + * Fix permissions on /var/log/mythtv in mythtv-backend postinst + * Move database drop from mythtv-common to mythtv-database + * Fix removal of /etc/mythtv in mythtv-common on purge + * Create mythbackend.log with proper permissions + * Generate the random database password in mythtv-common, not + mythtv-database (would end up with a blank password in + /etc/mythtv/mysql.txt) + + -- Matt Zimmerman Wed, 19 Mar 2003 10:40:37 -0500 + +mythtv (0.8-8) unstable; urgency=low + + * Fix error introduced in 0.8-7 + + -- Matt Zimmerman Mon, 17 Mar 2003 00:09:43 -0500 + +mythtv (0.8-7) unstable; urgency=low + + * Close all file descriptors when daemonizing the backend, to avoid a + hang when using debconf in mythtv-backend postinst + + -- Matt Zimmerman Sun, 16 Mar 2003 23:41:33 -0500 + +mythtv (0.8-6) unstable; urgency=low + + * Oops, load confmodule in mythtv-backend.postinst + * mythtv-backend Depends: debconf + + -- Matt Zimmerman Sun, 16 Mar 2003 23:30:26 -0500 + +mythtv (0.8-5) unstable; urgency=low + + * Finish moving creation of v4l devices to mythtv-backend from + mythtv-common + + -- Matt Zimmerman Sun, 16 Mar 2003 23:19:05 -0500 + +mythtv (0.8-4) unstable; urgency=low + + * Make 'mythtv' Architecture: all, since it is just a metapackage now + * Do automated database upgrade from 0.7 + * Fix cron.daily pathname in informational message in setup + * Fix quoting in cron.daily/mythtv-backend + + -- Matt Zimmerman Sun, 16 Mar 2003 23:04:16 -0500 + +mythtv (0.8-3) unstable; urgency=low + + * Return proper exit status from DoSQL in postinst (broke initial + creation of the database and error detection) + + -- Matt Zimmerman Sun, 16 Mar 2003 22:43:25 -0500 + +mythtv (0.8-2) unstable; urgency=low + + * Split database configuration into a separate package, mythtv-database, + which should be installed where the mysql server is + * Make config file substitution in postinst scripts a bit more robust + * Add mythtv-doc package with HOWTO + + -- Matt Zimmerman Sun, 16 Mar 2003 17:14:46 -0500 + +mythtv (0.8-1) unstable; urgency=low + + * New upstream release + * Split up backend and frontend into separate packages + * Add some error checking in postinst to give more meaningful error + messages when database operations fail + * Attempt to migrate cron and logrotate config from mythtv to + mythtv-backend + * Install new program mythprogfind + * Fix up copyright file + * Use --quiet in mythfilldatabase cron job, and report errors via cron, + rather than writing a logfile + * mythtv-backend Depends: libqt3c102-mt-mysql | libqt3-mt-mysql, to + support unstable + * Clean up dependencies a bit, so they should work correctly for + distributed setups (though I have none to test at present) + + -- Matt Zimmerman Sun, 16 Mar 2003 12:52:31 -0500 + +mythtv (0.7-12) unstable; urgency=low + + * Add missing '-c' option in example for running mythtv-setup + + -- Matt Zimmerman Thu, 21 Nov 2002 16:27:25 -0500 + +mythtv (0.7-11) unstable; urgency=low + + * Improve the run_setup template to omit the now-unnecessary --shell + option to su, and to give some instruction on how to properly start + mythtv for those who don't read README.Debian. + * Add workaround for pwgen bug #118181, which exists in woody and was + causing the strange failures with exit code 160. + + -- Matt Zimmerman Tue, 19 Nov 2002 11:24:23 -0500 + +mythtv (0.7-10) unstable; urgency=low + + * Add Bugs: header to control file. Please use reportbug to report + problems with these packages + * Include keys.txt in documentation (describes key bindings) + + -- Matt Zimmerman Sun, 17 Nov 2002 17:22:11 -0500 + +mythtv (0.7-9) unstable; urgency=low + + * When generating a random password, store it in the debconf database for + next time + + -- Matt Zimmerman Fri, 15 Nov 2002 18:16:06 -0500 + +mythtv (0.7-8) unstable; urgency=low + + * Fix sections + * Redirect mythfilldatabase stderr to the logfile, as well as stdout + (filed Debian bug #169157 against xmltv to get this fixed right) + * Add missing dependency on pwgen + + -- Matt Zimmerman Thu, 14 Nov 2002 21:24:31 -0500 + +mythtv (0.7-7) unstable; urgency=low + + * Depend on pwgen, and generate a random password if none is specified + * Fix setup text to not recommend "su --shell" since the mythtv user now + has a real shell + + -- Matt Zimmerman Wed, 13 Nov 2002 23:47:55 -0500 + +mythtv (0.7-6) unstable; urgency=low + + * Depend on adduser + * Ensure that we are doing an upgrade before comparing the version + number + + -- Matt Zimmerman Wed, 13 Nov 2002 23:19:12 -0500 + +mythtv (0.7-5) unstable; urgency=low + + * Split libmyth into its own package(s) in order to facilitate packaging + of add-ons such as mythmusic and mythweb + + -- Matt Zimmerman Wed, 13 Nov 2002 19:45:51 -0500 + +mythtv (0.7-4) unstable; urgency=low + + * Add a real package description + * Add a README.Debian + * Create the mythtv user with shell /bin/sh, and change the shell on + upgrade from a previous version + * Flesh out some of the debconf questions with more explanations + + -- Matt Zimmerman Tue, 12 Nov 2002 23:17:58 -0500 + +mythtv (0.7-3) unstable; urgency=low + + * Revert to the RingBuffer in 0.7-1 for now + * Build against woody libc6 + + -- Matt Zimmerman Sun, 10 Nov 2002 18:44:49 -0500 + +mythtv (0.7-2) unstable; urgency=low + + * Revert RingBuffer changes, which caused a drastic performance decrease on + my installation + * Improve clean target + + -- Matt Zimmerman Sat, 9 Nov 2002 22:19:17 -0500 + +mythtv (0.7-1) unstable; urgency=low + + * New upstream release + + -- Matt Zimmerman Sat, 9 Nov 2002 17:38:51 -0500 + +mythtv (0.6+cvs.20021109-1) unstable; urgency=low + + * Synched with upstream CVS + * Make a shlibs file and corresponding virtual package for libmyth + * Add dependency on wget, used for fetching channel logos + * Fix permissions on configuration files + + -- Matt Zimmerman Sat, 9 Nov 2002 15:56:47 -0500 + +mythtv (0.6+cvs.20021106-3) unstable; urgency=low + + * Grant privileges to user@localhost as well as user@'%' so that stuff + should work with a local database + * Add documentation + * Call MAKEDEV to create v4l devices with appropriate permissions + * Create database tables using mc.sql + * Add lots more configuration options + * Patch setup to explain how to run mythfilldatabase as the mythtv user + + -- Matt Zimmerman Sat, 9 Nov 2002 15:20:32 -0500 + +mythtv (0.6+cvs.20021106-2) unstable; urgency=low + + * First attempt at database setup at install time + + -- Matt Zimmerman Wed, 6 Nov 2002 23:28:39 -0500 + +mythtv (0.6+cvs.20021106-1) unstable; urgency=low + + * Synched with upstream CVS + + -- Matt Zimmerman Wed, 6 Nov 2002 19:38:20 -0500 + +mythtv (0.6+cvs.20021105-1) unstable; urgency=low + + * Synched with upstream CVS + + -- Matt Zimmerman Tue, 5 Nov 2002 22:51:35 -0500 + +mythtv (0.6+cvs.20021031-1) unstable; urgency=low + + * Synched with upstream CVS + * Move config files to /etc/mythtv + * postinst: Create mythtv user and set permissions + + -- Matt Zimmerman Thu, 31 Oct 2002 22:28:33 -0500 + +mythtv (0.6-1) unstable; urgency=low + + * Initial Release. + + -- Matt Zimmerman Wed, 16 Oct 2002 23:20:56 -0400 + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.files +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.files @@ -0,0 +1 @@ +usr/share/mythtv/sql --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.postrm +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.postrm @@ -0,0 +1,26 @@ +#!/bin/sh -e + +case "$1" in + purge) + + rm -f /var/log/mythtv/mythbackend.log* + if test -d /var/log/mythtv; then + rmdir --ignore-fail-on-non-empty /var/log/mythtv + fi + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv_0.20.1.sql +++ mythtv-0.21.0+fixes18207/debian/mythtv_0.20.1.sql @@ -0,0 +1,2088 @@ +-- Dump of Mythconverg database - +-- Dumped via MythTV 0.20.1+fixes13716 +-- by Mario Limonciello +-- using MySQL dump 10.11 +-- +-- Currently this file has all instances of +-- the hostname set as OLDHOSTNAME +-- +-- All instances of the ip address are set +-- as 127.0.0.1 +-- +-- The language setting has been removed +-- +-- +-- Host: OLDHOSTNAME Database: mythconverg +-- ------------------------------------------------------ +-- Server version 5.0.41-Debian_1-log + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `archiveitems` +-- + +DROP TABLE IF EXISTS `archiveitems`; +CREATE TABLE `archiveitems` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `type` set('Recording','Video','File') default NULL, + `title` varchar(128) default NULL, + `subtitle` varchar(128) default NULL, + `description` text, + `startdate` varchar(30) default NULL, + `starttime` varchar(30) default NULL, + `size` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `hascutlist` tinyint(1) NOT NULL default '0', + `cutlist` text, + PRIMARY KEY (`intid`), + KEY `title` (`title`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `archiveitems` +-- + +LOCK TABLES `archiveitems` WRITE; +/*!40000 ALTER TABLE `archiveitems` DISABLE KEYS */; +/*!40000 ALTER TABLE `archiveitems` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `callsignnetworkmap` +-- + +DROP TABLE IF EXISTS `callsignnetworkmap`; +CREATE TABLE `callsignnetworkmap` ( + `id` int(11) NOT NULL auto_increment, + `callsign` varchar(20) NOT NULL default '', + `network` varchar(20) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `callsign` (`callsign`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `callsignnetworkmap` +-- + +LOCK TABLES `callsignnetworkmap` WRITE; +/*!40000 ALTER TABLE `callsignnetworkmap` DISABLE KEYS */; +/*!40000 ALTER TABLE `callsignnetworkmap` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `capturecard` +-- + +DROP TABLE IF EXISTS `capturecard`; +CREATE TABLE `capturecard` ( + `cardid` int(10) unsigned NOT NULL auto_increment, + `videodevice` varchar(128) default NULL, + `audiodevice` varchar(128) default NULL, + `vbidevice` varchar(128) default NULL, + `cardtype` varchar(32) default 'V4L', + `defaultinput` varchar(32) default 'Television', + `audioratelimit` int(11) default NULL, + `hostname` varchar(255) default NULL, + `dvb_swfilter` int(11) default '0', + `dvb_recordts` int(11) default '1', + `dvb_sat_type` int(11) NOT NULL default '0', + `dvb_wait_for_seqstart` int(11) NOT NULL default '1', + `skipbtaudio` tinyint(1) default '0', + `dvb_on_demand` tinyint(4) NOT NULL default '0', + `dvb_diseqc_type` smallint(6) default NULL, + `firewire_port` int(10) unsigned NOT NULL default '0', + `firewire_node` int(10) unsigned NOT NULL default '2', + `firewire_speed` int(10) unsigned NOT NULL default '0', + `firewire_model` varchar(32) default NULL, + `firewire_connection` int(10) unsigned NOT NULL default '0', + `dvb_hw_decoder` int(11) default '0', + `dbox2_port` int(10) unsigned NOT NULL default '31338', + `dbox2_httpport` int(10) unsigned NOT NULL default '80', + `dbox2_host` varchar(32) default NULL, + `signal_timeout` int(11) NOT NULL default '1000', + `channel_timeout` int(11) NOT NULL default '3000', + `parentid` int(10) NOT NULL default '0', + `dvb_tuning_delay` int(10) unsigned NOT NULL default '0', + `contrast` int(11) NOT NULL default '0', + `brightness` int(11) NOT NULL default '0', + `colour` int(11) NOT NULL default '0', + `hue` int(11) NOT NULL default '0', + `diseqcid` int(10) unsigned default NULL, + PRIMARY KEY (`cardid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `capturecard` +-- + +LOCK TABLES `capturecard` WRITE; +/*!40000 ALTER TABLE `capturecard` DISABLE KEYS */; +/*!40000 ALTER TABLE `capturecard` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `cardinput` +-- + +DROP TABLE IF EXISTS `cardinput`; +CREATE TABLE `cardinput` ( + `cardinputid` int(10) unsigned NOT NULL auto_increment, + `cardid` int(10) unsigned NOT NULL default '0', + `sourceid` int(10) unsigned NOT NULL default '0', + `inputname` varchar(32) NOT NULL default '', + `externalcommand` varchar(128) default NULL, + `preference` int(11) NOT NULL default '0', + `shareable` char(1) default 'N', + `tunechan` varchar(10) default NULL, + `startchan` varchar(10) default NULL, + `freetoaironly` tinyint(1) default '1', + `diseqc_port` smallint(6) default NULL, + `diseqc_pos` float default NULL, + `lnb_lof_switch` int(11) default '11700000', + `lnb_lof_hi` int(11) default '10600000', + `lnb_lof_lo` int(11) default '9750000', + `displayname` varchar(64) NOT NULL default '', + `radioservices` tinyint(1) default '1', + `childcardid` int(10) NOT NULL default '0', + `dishnet_eit` tinyint(1) NOT NULL default '0', + `recpriority` int(11) NOT NULL default '0', + PRIMARY KEY (`cardinputid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `cardinput` +-- + +LOCK TABLES `cardinput` WRITE; +/*!40000 ALTER TABLE `cardinput` DISABLE KEYS */; +/*!40000 ALTER TABLE `cardinput` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `channel` +-- + +DROP TABLE IF EXISTS `channel`; +CREATE TABLE `channel` ( + `chanid` int(10) unsigned NOT NULL default '0', + `channum` varchar(10) NOT NULL default '', + `freqid` varchar(10) default NULL, + `sourceid` int(10) unsigned default NULL, + `callsign` varchar(20) NOT NULL default '', + `name` varchar(64) NOT NULL default '', + `icon` varchar(255) NOT NULL default 'none', + `finetune` int(11) default NULL, + `videofilters` varchar(255) NOT NULL default '', + `xmltvid` varchar(64) NOT NULL default '', + `recpriority` int(10) NOT NULL default '0', + `contrast` int(11) default '32768', + `brightness` int(11) default '32768', + `colour` int(11) default '32768', + `hue` int(11) default '32768', + `tvformat` varchar(10) NOT NULL default 'Default', + `commfree` tinyint(4) NOT NULL default '0', + `visible` tinyint(1) NOT NULL default '1', + `outputfilters` varchar(255) NOT NULL default '', + `useonairguide` tinyint(1) default '0', + `mplexid` smallint(6) default NULL, + `serviceid` mediumint(8) unsigned default NULL, + `atscsrcid` int(11) default NULL, + `tmoffset` int(11) NOT NULL default '0', + `atsc_major_chan` int(10) unsigned NOT NULL default '0', + `atsc_minor_chan` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`chanid`), + KEY `channel_src` (`channum`,`sourceid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `channel` +-- + +LOCK TABLES `channel` WRITE; +/*!40000 ALTER TABLE `channel` DISABLE KEYS */; +/*!40000 ALTER TABLE `channel` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `codecparams` +-- + +DROP TABLE IF EXISTS `codecparams`; +CREATE TABLE `codecparams` ( + `profile` int(10) unsigned NOT NULL default '0', + `name` varchar(128) NOT NULL default '', + `value` varchar(128) default NULL, + PRIMARY KEY (`profile`,`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `codecparams` +-- + +LOCK TABLES `codecparams` WRITE; +/*!40000 ALTER TABLE `codecparams` DISABLE KEYS */; +/*!40000 ALTER TABLE `codecparams` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `credits` +-- + +DROP TABLE IF EXISTS `credits`; +CREATE TABLE `credits` ( + `person` mediumint(8) unsigned NOT NULL default '0', + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`), + KEY `person` (`person`,`role`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `credits` +-- + +LOCK TABLES `credits` WRITE; +/*!40000 ALTER TABLE `credits` DISABLE KEYS */; +/*!40000 ALTER TABLE `credits` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `customexample` +-- + +DROP TABLE IF EXISTS `customexample`; +CREATE TABLE `customexample` ( + `rulename` varchar(64) NOT NULL, + `fromclause` text NOT NULL, + `whereclause` text NOT NULL, + PRIMARY KEY (`rulename`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `customexample` +-- + +LOCK TABLES `customexample` WRITE; +/*!40000 ALTER TABLE `customexample` DISABLE KEYS */; +/*!40000 ALTER TABLE `customexample` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `diseqc_config` +-- + +DROP TABLE IF EXISTS `diseqc_config`; +CREATE TABLE `diseqc_config` ( + `cardinputid` int(10) unsigned NOT NULL, + `diseqcid` int(10) unsigned NOT NULL, + `value` varchar(16) NOT NULL default '', + KEY `id` (`cardinputid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `diseqc_config` +-- + +LOCK TABLES `diseqc_config` WRITE; +/*!40000 ALTER TABLE `diseqc_config` DISABLE KEYS */; +/*!40000 ALTER TABLE `diseqc_config` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `diseqc_tree` +-- + +DROP TABLE IF EXISTS `diseqc_tree`; +CREATE TABLE `diseqc_tree` ( + `diseqcid` int(10) unsigned NOT NULL auto_increment, + `parentid` int(10) unsigned default NULL, + `ordinal` tinyint(3) unsigned NOT NULL, + `type` varchar(16) NOT NULL default '', + `subtype` varchar(16) NOT NULL default '', + `description` varchar(32) NOT NULL default '', + `switch_ports` tinyint(3) unsigned NOT NULL default '0', + `rotor_hi_speed` float NOT NULL default '0', + `rotor_lo_speed` float NOT NULL default '0', + `rotor_positions` varchar(255) NOT NULL default '', + `lnb_lof_switch` int(10) NOT NULL default '0', + `lnb_lof_hi` int(10) NOT NULL default '0', + `lnb_lof_lo` int(10) NOT NULL default '0', + `cmd_repeat` int(11) NOT NULL default '1', + PRIMARY KEY (`diseqcid`), + KEY `parentid` (`parentid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `diseqc_tree` +-- + +LOCK TABLES `diseqc_tree` WRITE; +/*!40000 ALTER TABLE `diseqc_tree` DISABLE KEYS */; +/*!40000 ALTER TABLE `diseqc_tree` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dtv_multiplex` +-- + +DROP TABLE IF EXISTS `dtv_multiplex`; +CREATE TABLE `dtv_multiplex` ( + `mplexid` smallint(6) NOT NULL auto_increment, + `sourceid` smallint(6) default NULL, + `transportid` int(11) default NULL, + `networkid` int(11) default NULL, + `frequency` int(11) default NULL, + `inversion` char(1) default 'a', + `symbolrate` int(11) default NULL, + `fec` varchar(10) default 'auto', + `polarity` char(1) default NULL, + `modulation` varchar(10) default 'auto', + `bandwidth` char(1) default 'a', + `lp_code_rate` varchar(10) default 'auto', + `transmission_mode` char(1) default 'a', + `guard_interval` varchar(10) default 'auto', + `visible` smallint(1) NOT NULL default '0', + `constellation` varchar(10) default 'auto', + `hierarchy` varchar(10) default 'auto', + `hp_code_rate` varchar(10) default 'auto', + `sistandard` varchar(10) default 'dvb', + `serviceversion` smallint(6) default '33', + `updatetimestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + PRIMARY KEY (`mplexid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `dtv_multiplex` +-- + +LOCK TABLES `dtv_multiplex` WRITE; +/*!40000 ALTER TABLE `dtv_multiplex` DISABLE KEYS */; +/*!40000 ALTER TABLE `dtv_multiplex` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dtv_privatetypes` +-- + +DROP TABLE IF EXISTS `dtv_privatetypes`; +CREATE TABLE `dtv_privatetypes` ( + `sitype` varchar(4) NOT NULL default '', + `networkid` int(11) NOT NULL default '0', + `private_type` varchar(20) NOT NULL default '', + `private_value` varchar(100) NOT NULL default '' +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `dtv_privatetypes` +-- + +LOCK TABLES `dtv_privatetypes` WRITE; +/*!40000 ALTER TABLE `dtv_privatetypes` DISABLE KEYS */; +INSERT INTO `dtv_privatetypes` VALUES ('dvb',9018,'channel_numbers','131'),('dvb',9018,'guide_fixup','2'),('dvb',256,'guide_fixup','1'),('dvb',257,'guide_fixup','1'),('dvb',256,'tv_types','1,150,134,133'),('dvb',257,'tv_types','1,150,134,133'),('dvb',4100,'sdt_mapping','1'),('dvb',4101,'sdt_mapping','1'),('dvb',4102,'sdt_mapping','1'),('dvb',4103,'sdt_mapping','1'),('dvb',4104,'sdt_mapping','1'),('dvb',4105,'sdt_mapping','1'),('dvb',4106,'sdt_mapping','1'),('dvb',4107,'sdt_mapping','1'),('dvb',4097,'sdt_mapping','1'),('dvb',4098,'sdt_mapping','1'),('dvb',4100,'tv_types','1,145,154'),('dvb',4101,'tv_types','1,145,154'),('dvb',4102,'tv_types','1,145,154'),('dvb',4103,'tv_types','1,145,154'),('dvb',4104,'tv_types','1,145,154'),('dvb',4105,'tv_types','1,145,154'),('dvb',4106,'tv_types','1,145,154'),('dvb',4107,'tv_types','1,145,154'),('dvb',4097,'tv_types','1,145,154'),('dvb',4098,'tv_types','1,145,154'),('dvb',4100,'guide_fixup','1'),('dvb',4101,'guide_fixup','1'),('dvb',4102,'guide_fixup','1'),('dvb',4103,'guide_fixup','1'),('dvb',4104,'guide_fixup','1'),('dvb',4105,'guide_fixup','1'),('dvb',4106,'guide_fixup','1'),('dvb',4107,'guide_fixup','1'),('dvb',4096,'guide_fixup','5'),('dvb',4097,'guide_fixup','1'),('dvb',4098,'guide_fixup','1'),('dvb',94,'tv_types','1,128'),('atsc',1793,'guide_fixup','3'),('dvb',40999,'guide_fixup','4'),('dvb',70,'force_guide_present','yes'),('dvb',70,'guide_ranges','80,80,96,96'),('dvb',4112,'channel_numbers','131'),('dvb',4115,'channel_numbers','131'),('dvb',4116,'channel_numbers','131'),('dvb',12802,'channel_numbers','131'),('dvb',12803,'channel_numbers','131'),('dvb',12829,'channel_numbers','131'),('dvb',40999,'parse_subtitle_list','1070,1308,1041,1306,1307,1030,1016,1131,1068,1069'),('dvb',4096,'guide_fixup','5'); +/*!40000 ALTER TABLE `dtv_privatetypes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dvdinput` +-- + +DROP TABLE IF EXISTS `dvdinput`; +CREATE TABLE `dvdinput` ( + `intid` int(10) unsigned NOT NULL, + `hsize` int(10) unsigned default NULL, + `vsize` int(10) unsigned default NULL, + `ar_num` int(10) unsigned default NULL, + `ar_denom` int(10) unsigned default NULL, + `fr_code` int(10) unsigned default NULL, + `letterbox` tinyint(1) default NULL, + `v_format` varchar(16) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `dvdinput` +-- + +LOCK TABLES `dvdinput` WRITE; +/*!40000 ALTER TABLE `dvdinput` DISABLE KEYS */; +INSERT INTO `dvdinput` VALUES (1,720,480,16,9,1,1,'ntsc'),(2,720,480,16,9,1,0,'ntsc'),(3,720,480,4,3,1,1,'ntsc'),(4,720,480,4,3,1,0,'ntsc'),(5,720,576,16,9,3,1,'pal'),(6,720,576,16,9,3,0,'pal'),(7,720,576,4,3,3,1,'pal'),(8,720,576,4,3,3,0,'pal'); +/*!40000 ALTER TABLE `dvdinput` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dvdtranscode` +-- + +DROP TABLE IF EXISTS `dvdtranscode`; +CREATE TABLE `dvdtranscode` ( + `intid` int(11) NOT NULL auto_increment, + `input` int(10) unsigned default NULL, + `name` varchar(128) NOT NULL, + `sync_mode` int(10) unsigned default NULL, + `use_yv12` tinyint(1) default NULL, + `cliptop` int(11) default NULL, + `clipbottom` int(11) default NULL, + `clipleft` int(11) default NULL, + `clipright` int(11) default NULL, + `f_resize_h` int(11) default NULL, + `f_resize_w` int(11) default NULL, + `hq_resize_h` int(11) default NULL, + `hq_resize_w` int(11) default NULL, + `grow_h` int(11) default NULL, + `grow_w` int(11) default NULL, + `clip2top` int(11) default NULL, + `clip2bottom` int(11) default NULL, + `clip2left` int(11) default NULL, + `clip2right` int(11) default NULL, + `codec` varchar(128) NOT NULL, + `codec_param` varchar(128) default NULL, + `bitrate` int(11) default NULL, + `a_sample_r` int(11) default NULL, + `a_bitrate` int(11) default NULL, + `two_pass` tinyint(1) default NULL, + `tc_param` varchar(128) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `dvdtranscode` +-- + +LOCK TABLES `dvdtranscode` WRITE; +/*!40000 ALTER TABLE `dvdtranscode` DISABLE KEYS */; +INSERT INTO `dvdtranscode` VALUES (1,1,'Good',2,1,16,16,0,0,2,0,0,0,0,0,32,32,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(2,2,'Excellent',2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(3,2,'Good',2,1,0,0,8,8,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(4,2,'Medium',2,1,0,0,8,8,5,5,0,0,0,0,0,0,0,0,'divx5',NULL,1200,NULL,NULL,0,NULL),(5,3,'Good',2,1,0,0,0,0,0,0,0,0,2,0,80,80,8,8,'divx5',NULL,0,NULL,NULL,0,NULL),(6,4,'Excellent',2,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(7,4,'Good',2,1,0,0,8,8,0,2,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(8,5,'Good',1,1,16,16,0,0,5,0,0,0,0,0,40,40,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(9,6,'Good',1,1,0,0,16,16,5,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(10,7,'Good',1,1,0,0,0,0,1,0,0,0,0,0,76,76,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(11,8,'Good',1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL); +/*!40000 ALTER TABLE `dvdtranscode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `eit_cache` +-- + +DROP TABLE IF EXISTS `eit_cache`; +CREATE TABLE `eit_cache` ( + `chanid` int(10) NOT NULL, + `eventid` smallint(5) unsigned NOT NULL, + `tableid` tinyint(3) unsigned NOT NULL, + `version` tinyint(3) unsigned NOT NULL, + `endtime` int(10) unsigned NOT NULL, + PRIMARY KEY (`chanid`,`eventid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `eit_cache` +-- + +LOCK TABLES `eit_cache` WRITE; +/*!40000 ALTER TABLE `eit_cache` DISABLE KEYS */; +/*!40000 ALTER TABLE `eit_cache` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `favorites` +-- + +DROP TABLE IF EXISTS `favorites`; +CREATE TABLE `favorites` ( + `favid` int(11) unsigned NOT NULL auto_increment, + `userid` int(11) unsigned NOT NULL default '0', + `chanid` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`favid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `favorites` +-- + +LOCK TABLES `favorites` WRITE; +/*!40000 ALTER TABLE `favorites` DISABLE KEYS */; +/*!40000 ALTER TABLE `favorites` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `filemarkup` +-- + +DROP TABLE IF EXISTS `filemarkup`; +CREATE TABLE `filemarkup` ( + `filename` text NOT NULL, + `mark` bigint(20) NOT NULL, + `offset` varchar(32) default NULL, + `type` int(11) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `filemarkup` +-- + +LOCK TABLES `filemarkup` WRITE; +/*!40000 ALTER TABLE `filemarkup` DISABLE KEYS */; +/*!40000 ALTER TABLE `filemarkup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gallerymetadata` +-- + +DROP TABLE IF EXISTS `gallerymetadata`; +CREATE TABLE `gallerymetadata` ( + `image` varchar(255) NOT NULL, + `angle` int(11) NOT NULL, + PRIMARY KEY (`image`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `gallerymetadata` +-- + +LOCK TABLES `gallerymetadata` WRITE; +/*!40000 ALTER TABLE `gallerymetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `gallerymetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gamemetadata` +-- + +DROP TABLE IF EXISTS `gamemetadata`; +CREATE TABLE `gamemetadata` ( + `system` varchar(128) NOT NULL default '', + `romname` varchar(128) NOT NULL default '', + `gamename` varchar(128) NOT NULL default '', + `genre` varchar(128) NOT NULL default '', + `year` varchar(10) NOT NULL default '', + `publisher` varchar(128) NOT NULL default '', + `favorite` tinyint(1) default NULL, + `rompath` varchar(255) NOT NULL default '', + `gametype` varchar(64) NOT NULL default '', + `diskcount` tinyint(1) NOT NULL default '1', + `country` varchar(128) NOT NULL default '', + `crc_value` varchar(64) NOT NULL default '', + `display` tinyint(1) NOT NULL default '1', + `version` varchar(64) NOT NULL default '', + KEY `system` (`system`), + KEY `year` (`year`), + KEY `romname` (`romname`), + KEY `gamename` (`gamename`), + KEY `genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `gamemetadata` +-- + +LOCK TABLES `gamemetadata` WRITE; +/*!40000 ALTER TABLE `gamemetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `gamemetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gameplayers` +-- + +DROP TABLE IF EXISTS `gameplayers`; +CREATE TABLE `gameplayers` ( + `gameplayerid` int(10) unsigned NOT NULL auto_increment, + `playername` varchar(64) NOT NULL default '', + `workingpath` varchar(255) NOT NULL default '', + `rompath` varchar(255) NOT NULL default '', + `screenshots` varchar(255) NOT NULL default '', + `commandline` text NOT NULL, + `gametype` varchar(64) NOT NULL default '', + `extensions` varchar(128) NOT NULL default '', + `spandisks` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`gameplayerid`), + UNIQUE KEY `playername` (`playername`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `gameplayers` +-- + +LOCK TABLES `gameplayers` WRITE; +/*!40000 ALTER TABLE `gameplayers` DISABLE KEYS */; +/*!40000 ALTER TABLE `gameplayers` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `housekeeping` +-- + +DROP TABLE IF EXISTS `housekeeping`; +CREATE TABLE `housekeeping` ( + `tag` varchar(64) NOT NULL default '', + `lastrun` datetime default NULL, + PRIMARY KEY (`tag`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `housekeeping` +-- + +LOCK TABLES `housekeeping` WRITE; +/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */; +INSERT INTO `housekeeping` VALUES ('DailyCleanup','2007-06-27 20:33:37'),('JobQueueRecover-OLDHOSTNAME','2007-06-27 20:33:37'); +/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `inuseprograms` +-- + +DROP TABLE IF EXISTS `inuseprograms`; +CREATE TABLE `inuseprograms` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `recusage` varchar(128) NOT NULL default '', + `lastupdatetime` datetime NOT NULL default '0000-00-00 00:00:00', + `hostname` varchar(255) NOT NULL default '', + KEY `chanid` (`chanid`,`starttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `inuseprograms` +-- + +LOCK TABLES `inuseprograms` WRITE; +/*!40000 ALTER TABLE `inuseprograms` DISABLE KEYS */; +/*!40000 ALTER TABLE `inuseprograms` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `jobqueue` +-- + +DROP TABLE IF EXISTS `jobqueue`; +CREATE TABLE `jobqueue` ( + `id` int(11) NOT NULL auto_increment, + `chanid` int(10) NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `inserttime` datetime NOT NULL default '0000-00-00 00:00:00', + `type` int(11) NOT NULL default '0', + `cmds` int(11) NOT NULL default '0', + `flags` int(11) NOT NULL default '0', + `status` int(11) NOT NULL default '0', + `statustime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `hostname` varchar(255) NOT NULL default '', + `args` blob NOT NULL, + `comment` varchar(128) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `chanid` (`chanid`,`starttime`,`type`,`inserttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `jobqueue` +-- + +LOCK TABLES `jobqueue` WRITE; +/*!40000 ALTER TABLE `jobqueue` DISABLE KEYS */; +/*!40000 ALTER TABLE `jobqueue` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `jumppoints` +-- + +DROP TABLE IF EXISTS `jumppoints`; +CREATE TABLE `jumppoints` ( + `destination` varchar(128) NOT NULL default '', + `description` varchar(255) default NULL, + `keylist` varchar(128) default NULL, + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`destination`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `jumppoints` +-- + +LOCK TABLES `jumppoints` WRITE; +/*!40000 ALTER TABLE `jumppoints` DISABLE KEYS */; +INSERT INTO `jumppoints` VALUES ('Reload Theme',NULL,'','OLDHOSTNAME'),('Main Menu',NULL,'','OLDHOSTNAME'),('Program Guide',NULL,'','OLDHOSTNAME'),('Program Finder',NULL,'','OLDHOSTNAME'),('Manage Recordings / Fix Conflicts',NULL,'','OLDHOSTNAME'),('Program Recording Priorities',NULL,'','OLDHOSTNAME'),('Channel Recording Priorities',NULL,'','OLDHOSTNAME'),('TV Recording Playback',NULL,'','OLDHOSTNAME'),('TV Recording Deletion',NULL,'','OLDHOSTNAME'),('Live TV',NULL,'','OLDHOSTNAME'),('Live TV In Guide',NULL,'','OLDHOSTNAME'),('Manual Record Scheduling',NULL,'','OLDHOSTNAME'),('Status Screen',NULL,'','OLDHOSTNAME'),('Previously Recorded',NULL,'','OLDHOSTNAME'),('Play DVD',NULL,'','OLDHOSTNAME'),('Play VCD',NULL,'','OLDHOSTNAME'),('Rip DVD',NULL,'','OLDHOSTNAME'),('Netflix Browser',NULL,'','OLDHOSTNAME'),('Netflix Queue',NULL,'','OLDHOSTNAME'),('Netflix History',NULL,'','OLDHOSTNAME'),('MythGallery',NULL,'','OLDHOSTNAME'),('MythGame',NULL,'','OLDHOSTNAME'),('Play music',NULL,'','OLDHOSTNAME'),('Select music playlists',NULL,'','OLDHOSTNAME'),('Rip CD',NULL,'','OLDHOSTNAME'),('Scan music',NULL,'','OLDHOSTNAME'),('MythNews',NULL,'','OLDHOSTNAME'),('MythVideo',NULL,'','OLDHOSTNAME'),('Video Manager',NULL,'','OLDHOSTNAME'),('Video Browser',NULL,'','OLDHOSTNAME'),('Video Listings',NULL,'','OLDHOSTNAME'),('Video Gallery',NULL,'','OLDHOSTNAME'),('MythWeather',NULL,'','OLDHOSTNAME'); +/*!40000 ALTER TABLE `jumppoints` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `keybindings` +-- + +DROP TABLE IF EXISTS `keybindings`; +CREATE TABLE `keybindings` ( + `context` varchar(32) NOT NULL default '', + `action` varchar(32) NOT NULL default '', + `description` varchar(255) default NULL, + `keylist` varchar(128) default NULL, + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`context`,`action`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `keybindings` +-- + +LOCK TABLES `keybindings` WRITE; +/*!40000 ALTER TABLE `keybindings` DISABLE KEYS */; +INSERT INTO `keybindings` VALUES ('Global','UP','Up Arrow','Up','OLDHOSTNAME'),('Global','DOWN','Down Arrow','Down','OLDHOSTNAME'),('Global','LEFT','Left Arrow','Left','OLDHOSTNAME'),('Global','RIGHT','Right Arrow','Right','OLDHOSTNAME'),('Global','SELECT','Select','Return,Enter,Space','OLDHOSTNAME'),('Global','ESCAPE','Escape','Esc','OLDHOSTNAME'),('Global','MENU','Pop-up menu','M','OLDHOSTNAME'),('Global','INFO','More information','I','OLDHOSTNAME'),('Global','PAGEUP','Page Up','PgUp','OLDHOSTNAME'),('Global','PAGEDOWN','Page Down','PgDown','OLDHOSTNAME'),('Global','PREVVIEW','Previous View','Home','OLDHOSTNAME'),('Global','NEXTVIEW','Next View','End','OLDHOSTNAME'),('Global','HELP','Help','F1','OLDHOSTNAME'),('Global','EJECT','Eject Removable Media','','OLDHOSTNAME'),('Global','0','0','0','OLDHOSTNAME'),('Global','1','1','1','OLDHOSTNAME'),('Global','2','2','2','OLDHOSTNAME'),('Global','3','3','3','OLDHOSTNAME'),('Global','4','4','4','OLDHOSTNAME'),('Global','5','5','5','OLDHOSTNAME'),('Global','6','6','6','OLDHOSTNAME'),('Global','7','7','7','OLDHOSTNAME'),('Global','8','8','8','OLDHOSTNAME'),('Global','9','9','9','OLDHOSTNAME'),('qt','DELETE','Delete','D','OLDHOSTNAME'),('qt','EDIT','Edit','E','OLDHOSTNAME'),('TV Frontend','PAGEUP','Page Up','3','OLDHOSTNAME'),('TV Frontend','PAGEDOWN','Page Down','9','OLDHOSTNAME'),('TV Frontend','DELETE','Delete Program','D','OLDHOSTNAME'),('TV Frontend','PLAYBACK','Play Program','P','OLDHOSTNAME'),('TV Frontend','TOGGLERECORD','Toggle recording status of current program','R','OLDHOSTNAME'),('TV Frontend','DAYLEFT','Page the program guide back one day','Home,7','OLDHOSTNAME'),('TV Frontend','DAYRIGHT','Page the program guide forward one day','End,1','OLDHOSTNAME'),('TV Frontend','PAGELEFT','Page the program guide left',',,<','OLDHOSTNAME'),('TV Frontend','PAGERIGHT','Page the program guide right','>,.','OLDHOSTNAME'),('TV Frontend','TOGGLEFAV','Toggle the current channel as a favorite','?','OLDHOSTNAME'),('TV Frontend','NEXTFAV','Toggle showing all channels or just favorites in the program guide.','/','OLDHOSTNAME'),('TV Frontend','CHANUPDATE','Switch channels without exiting guide in Live TV mode.','X','OLDHOSTNAME'),('TV Frontend','RANKINC','Increase program or channel rank','Right','OLDHOSTNAME'),('TV Frontend','RANKDEC','Decrease program or channel rank','Left','OLDHOSTNAME'),('TV Frontend','UPCOMING','List upcoming episodes','O','OLDHOSTNAME'),('TV Frontend','DETAILS','Show program details','U','OLDHOSTNAME'),('TV Frontend','VIEWCARD','Switch Capture Card view','Y','OLDHOSTNAME'),('TV Frontend','CUSTOMEDIT','Edit Custom Record Rule','E','OLDHOSTNAME'),('TV Playback','CLEAROSD','Clear OSD','Backspace','OLDHOSTNAME'),('TV Playback','PAUSE','Pause','P','OLDHOSTNAME'),('TV Playback','DELETE','Delete Program','D','OLDHOSTNAME'),('TV Playback','SEEKFFWD','Fast Forward','Right','OLDHOSTNAME'),('TV Playback','SEEKRWND','Rewind','Left','OLDHOSTNAME'),('TV Playback','ARBSEEK','Arbitrary Seek','*','OLDHOSTNAME'),('TV Playback','CHANNELUP','Channel up','Up','OLDHOSTNAME'),('TV Playback','CHANNELDOWN','Channel down','Down','OLDHOSTNAME'),('TV Playback','NEXTFAV','Switch to the next favorite channel','/','OLDHOSTNAME'),('TV Playback','PREVCHAN','Switch to the previous channel','H','OLDHOSTNAME'),('TV Playback','JUMPFFWD','Jump ahead','PgDown','OLDHOSTNAME'),('TV Playback','JUMPRWND','Jump back','PgUp','OLDHOSTNAME'),('TV Playback','JUMPBKMRK','Jump to bookmark','K','OLDHOSTNAME'),('TV Playback','FFWDSTICKY','Fast Forward (Sticky) or Forward one frame while paused','>,.','OLDHOSTNAME'),('TV Playback','RWNDSTICKY','Rewind (Sticky) or Rewind one frame while paused',',,<','OLDHOSTNAME'),('TV Playback','TOGGLEINPUTS','Toggle Inputs','C','OLDHOSTNAME'),('TV Playback','SWITCHCARDS','Switch Capture Cards','Y','OLDHOSTNAME'),('TV Playback','SKIPCOMMERCIAL','Skip Commercial','Z,End','OLDHOSTNAME'),('TV Playback','SKIPCOMMBACK','Skip Commercial (Reverse)','Q,Home','OLDHOSTNAME'),('TV Playback','JUMPSTART','Jump to the start of the recording.','Ctrl+B','OLDHOSTNAME'),('TV Playback','TOGGLEBROWSE','Toggle channel browse mode','O','OLDHOSTNAME'),('TV Playback','TOGGLERECORD','Toggle recording status of current program','R','OLDHOSTNAME'),('TV Playback','TOGGLEFAV','Toggle the current channel as a favorite','?','OLDHOSTNAME'),('TV Playback','VOLUMEDOWN','Volume down','[,{,F10','OLDHOSTNAME'),('TV Playback','VOLUMEUP','Volume up','],},F11','OLDHOSTNAME'),('TV Playback','MUTE','Mute','|,\\,F9','OLDHOSTNAME'),('TV Playback','TOGGLEPIPMODE','Toggle Picture-in-Picture mode','V','OLDHOSTNAME'),('TV Playback','TOGGLEPIPWINDOW','Toggle active PiP window','B','OLDHOSTNAME'),('TV Playback','SWAPPIP','Swap PiP/Main','N','OLDHOSTNAME'),('TV Playback','TOGGLEASPECT','Toggle the display aspect ratio','W','OLDHOSTNAME'),('TV Playback','TOGGLECC','Toggle any captions','T','OLDHOSTNAME'),('TV Playback','TOGGLETTC','Toggle Teletext Captions','','OLDHOSTNAME'),('TV Playback','TOGGLESUBTITLE','Toggle Subtitles','','OLDHOSTNAME'),('TV Playback','TOGGLECC608','Toggle VBI CC','','OLDHOSTNAME'),('TV Playback','TOGGLECC708','Toggle ATSC CC','','OLDHOSTNAME'),('TV Playback','TOGGLETTM','Toggle Teletext Menu','','OLDHOSTNAME'),('TV Playback','SELECTAUDIO_0','Play audio track 1','','OLDHOSTNAME'),('TV Playback','SELECTAUDIO_1','Play audio track 2','','OLDHOSTNAME'),('TV Playback','SELECTSUBTITLE_0','Display subtitle 1','','OLDHOSTNAME'),('TV Playback','SELECTSUBTITLE_1','Display subtitle 2','','OLDHOSTNAME'),('TV Playback','SELECTCC608_0','Display VBI CC1','','OLDHOSTNAME'),('TV Playback','SELECTCC608_1','Display VBI CC2','','OLDHOSTNAME'),('TV Playback','SELECTCC608_2','Display VBI CC3','','OLDHOSTNAME'),('TV Playback','SELECTCC608_3','Display VBI CC4','','OLDHOSTNAME'),('TV Playback','SELECTCC708_0','Display ATSC CC1','','OLDHOSTNAME'),('TV Playback','SELECTCC708_1','Display ATSC CC2','','OLDHOSTNAME'),('TV Playback','SELECTCC708_2','Display ATSC CC3','','OLDHOSTNAME'),('TV Playback','SELECTCC708_3','Display ATSC CC4','','OLDHOSTNAME'),('TV Playback','NEXTAUDIO','Next audio track','+','OLDHOSTNAME'),('TV Playback','PREVAUDIO','Previous audio track','-','OLDHOSTNAME'),('TV Playback','NEXTSUBTITLE','Next subtitle track','','OLDHOSTNAME'),('TV Playback','PREVSUBTITLE','Previous subtitle track','','OLDHOSTNAME'),('TV Playback','NEXTCC608','Next VBI CC track','','OLDHOSTNAME'),('TV Playback','PREVCC608','Previous VBI CC track','','OLDHOSTNAME'),('TV Playback','NEXTCC708','Next ATSC CC track','','OLDHOSTNAME'),('TV Playback','PREVCC708','Previous ATSC CC track','','OLDHOSTNAME'),('TV Playback','NEXTCC','Next of any captions','','OLDHOSTNAME'),('TV Playback','NEXTSCAN','Next video scan overidemode','','OLDHOSTNAME'),('TV Playback','QUEUETRANSCODE','Queue the current recording for transcoding','X','OLDHOSTNAME'),('TV Playback','SPEEDINC','Increase the playback speed','U','OLDHOSTNAME'),('TV Playback','SPEEDDEC','Decrease the playback speed','J','OLDHOSTNAME'),('TV Playback','ADJUSTSTRETCH','Turn on time stretch control','A','OLDHOSTNAME'),('TV Playback','STRETCHINC','Increase time stretch speed','','OLDHOSTNAME'),('TV Playback','STRETCHDEC','Decrease time stretch speed','','OLDHOSTNAME'),('TV Playback','TOGGLESTRETCH','Toggle time stretch speed','','OLDHOSTNAME'),('TV Playback','TOGGLEAUDIOSYNC','Turn on audio sync adjustment controls','','OLDHOSTNAME'),('TV Playback','TOGGLEPICCONTROLS','Playback picture adjustments','F','OLDHOSTNAME'),('TV Playback','TOGGLECHANCONTROLS','Recording picture adjustments for this channel','Ctrl+G','OLDHOSTNAME'),('TV Playback','TOGGLERECCONTROLS','Recording picture adjustments for this recorder','G','OLDHOSTNAME'),('TV Playback','TOGGLEEDIT','Start Edit Mode','E','OLDHOSTNAME'),('TV Playback','CYCLECOMMSKIPMODE','Cycle Commercial Skip mode','','OLDHOSTNAME'),('TV Playback','GUIDE','Show the Program Guide','S','OLDHOSTNAME'),('TV Playback','FINDER','Show the Program Finder','#','OLDHOSTNAME'),('TV Playback','TOGGLESLEEP','Toggle the Sleep Timer','F8','OLDHOSTNAME'),('TV Playback','PLAY','Play','Ctrl+P','OLDHOSTNAME'),('TV Playback','JUMPPREV','Jump to previously played recording','','OLDHOSTNAME'),('TV Playback','JUMPREC','Display menu of recorded programs to jump to','','OLDHOSTNAME'),('TV Playback','SIGNALMON','Monitor Signal Quality','F7','OLDHOSTNAME'),('TV Playback','JUMPTODVDROOTMENU','Jump to the DVD Root Menu','','OLDHOSTNAME'),('TV Editing','CLEARMAP','Clear editing cut points','C,Q,Home','OLDHOSTNAME'),('TV Editing','INVERTMAP','Invert Begin/End cut points','I','OLDHOSTNAME'),('TV Editing','LOADCOMMSKIP','Load cut list from commercial skips','Z,End','OLDHOSTNAME'),('TV Editing','NEXTCUT','Jump to the next cut point','PgDown','OLDHOSTNAME'),('TV Editing','PREVCUT','Jump to the previous cut point','PgUp','OLDHOSTNAME'),('TV Editing','BIGJUMPREW','Jump back 10x the normal amount',',,<','OLDHOSTNAME'),('TV Editing','BIGJUMPFWD','Jump forward 10x the normal amount','>,.','OLDHOSTNAME'),('TV Editing','TOGGLEEDIT','Exit out of Edit Mode','E','OLDHOSTNAME'),('Teletext Menu','NEXTPAGE','Next Page','Down','OLDHOSTNAME'),('Teletext Menu','PREVPAGE','Previous Page','Up','OLDHOSTNAME'),('Teletext Menu','NEXTSUBPAGE','Next Subpage','Right','OLDHOSTNAME'),('Teletext Menu','PREVSUBPAGE','Previous Subpage','Left','OLDHOSTNAME'),('Teletext Menu','TOGGLETT','Toggle Teletext','T','OLDHOSTNAME'),('Teletext Menu','MENURED','Menu Red','F2','OLDHOSTNAME'),('Teletext Menu','MENUGREEN','Menu Green','F3','OLDHOSTNAME'),('Teletext Menu','MENUYELLOW','Menu Yellow','F4','OLDHOSTNAME'),('Teletext Menu','MENUBLUE','Menu Blue','F5','OLDHOSTNAME'),('Teletext Menu','MENUWHITE','Menu White','F6','OLDHOSTNAME'),('Teletext Menu','TOGGLEBACKGROUND','Toggle Background','F7','OLDHOSTNAME'),('Teletext Menu','REVEAL','Reveal hidden Text','F8','OLDHOSTNAME'),('ITV Menu','MENURED','Menu Red','F2','OLDHOSTNAME'),('ITV Menu','MENUGREEN','Menu Green','F3','OLDHOSTNAME'),('ITV Menu','MENUYELLOW','Menu Yellow','F4','OLDHOSTNAME'),('ITV Menu','MENUBLUE','Menu Blue','F5','OLDHOSTNAME'),('ITV Menu','TEXTEXIT','Menu Exit','F6','OLDHOSTNAME'),('ITV Menu','MENUTEXT','Menu Text','F7','OLDHOSTNAME'),('ITV Menu','MENUEPG','Menu EPG','F12','OLDHOSTNAME'),('Archive','TOGGLECUT','Toggle use cut list state for selected program','C','OLDHOSTNAME'),('NetFlix','MOVETOTOP','Moves movie to top of queue','1','OLDHOSTNAME'),('NetFlix','REMOVE','Removes movie from queue','D','OLDHOSTNAME'),('Gallery','PLAY','Start/Stop Slideshow','P','OLDHOSTNAME'),('Gallery','HOME','Go to the first image in thumbnail view','Home','OLDHOSTNAME'),('Gallery','END','Go to the last image in thumbnail view','End','OLDHOSTNAME'),('Gallery','MENU','Toggle activating menu in thumbnail view','M','OLDHOSTNAME'),('Gallery','SLIDESHOW','Start Slideshow in thumbnail view','S','OLDHOSTNAME'),('Gallery','RANDOMSHOW','Start Random Slideshow in thumbnail view','R','OLDHOSTNAME'),('Gallery','ROTRIGHT','Rotate image right 90 degrees','],3','OLDHOSTNAME'),('Gallery','ROTLEFT','Rotate image left 90 degrees','[,1','OLDHOSTNAME'),('Gallery','ZOOMOUT','Zoom image out','7','OLDHOSTNAME'),('Gallery','ZOOMIN','Zoom image in','9','OLDHOSTNAME'),('Gallery','SCROLLUP','Scroll image up','2','OLDHOSTNAME'),('Gallery','SCROLLLEFT','Scroll image left','4','OLDHOSTNAME'),('Gallery','SCROLLRIGHT','Scroll image right','6','OLDHOSTNAME'),('Gallery','SCROLLDOWN','Scroll image down','8','OLDHOSTNAME'),('Gallery','RECENTER','Recenter image','5','OLDHOSTNAME'),('Gallery','FULLSIZE','Full-size (un-zoom) image','0','OLDHOSTNAME'),('Gallery','UPLEFT','Go to the upper-left corner of the image','PgUp','OLDHOSTNAME'),('Gallery','LOWRIGHT','Go to the lower-right corner of the image','PgDown','OLDHOSTNAME'),('Gallery','INFO','Toggle Showing Information about Image','I','OLDHOSTNAME'),('Gallery','DELETE','Delete marked images or current image if none are marked','D','OLDHOSTNAME'),('Gallery','MARK','Mark image','T','OLDHOSTNAME'),('Game','TOGGLEFAV','Toggle the current game as a favorite','?,/','OLDHOSTNAME'),('Game','INCSEARCH','Show incremental search dialog','Ctrl+S','OLDHOSTNAME'),('Game','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','OLDHOSTNAME'),('Music','DELETE','Delete track from playlist','D','OLDHOSTNAME'),('Music','NEXTTRACK','Move to the next track','>,.,Z,End','OLDHOSTNAME'),('Music','PREVTRACK','Move to the previous track',',,<,Q,Home','OLDHOSTNAME'),('Music','FFWD','Fast forward','PgDown','OLDHOSTNAME'),('Music','RWND','Rewind','PgUp','OLDHOSTNAME'),('Music','PAUSE','Pause/Start playback','P','OLDHOSTNAME'),('Music','STOP','Stop playback','O','OLDHOSTNAME'),('Music','VOLUMEDOWN','Volume down','[,{,F10','OLDHOSTNAME'),('Music','VOLUMEUP','Volume up','],},F11','OLDHOSTNAME'),('Music','MUTE','Mute','|,\\,F9','OLDHOSTNAME'),('Music','CYCLEVIS','Cycle visualizer mode','6','OLDHOSTNAME'),('Music','BLANKSCR','Blank screen','5','OLDHOSTNAME'),('Music','THMBUP','Increase rating','9','OLDHOSTNAME'),('Music','THMBDOWN','Decrease rating','7','OLDHOSTNAME'),('Music','REFRESH','Refresh music tree','8','OLDHOSTNAME'),('Music','FILTER','Filter All My Music','F','OLDHOSTNAME'),('Music','INCSEARCH','Show incremental search dialog','Ctrl+S','OLDHOSTNAME'),('Music','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','OLDHOSTNAME'),('News','RETRIEVENEWS','Update news items','I','OLDHOSTNAME'),('News','FORCERETRIEVE','Force update news items','M','OLDHOSTNAME'),('News','CANCEL','Cancel news item updating','C','OLDHOSTNAME'),('Phone','0','0','0','OLDHOSTNAME'),('Phone','1','1','1','OLDHOSTNAME'),('Phone','2','2','2','OLDHOSTNAME'),('Phone','3','3','3','OLDHOSTNAME'),('Phone','4','4','4','OLDHOSTNAME'),('Phone','5','5','5','OLDHOSTNAME'),('Phone','6','6','6','OLDHOSTNAME'),('Phone','7','7','7','OLDHOSTNAME'),('Phone','8','8','8','OLDHOSTNAME'),('Phone','9','9','9','OLDHOSTNAME'),('Phone','HASH','HASH','#','OLDHOSTNAME'),('Phone','STAR','STAR','*','OLDHOSTNAME'),('Phone','Up','Up','Up','OLDHOSTNAME'),('Phone','Down','Down','Down','OLDHOSTNAME'),('Phone','Left','Left','Left','OLDHOSTNAME'),('Phone','Right','Right','Right','OLDHOSTNAME'),('Phone','VOLUMEDOWN','Volume down','[,{,F10','OLDHOSTNAME'),('Phone','VOLUMEUP','Volume up','],},F11','OLDHOSTNAME'),('Phone','ZOOMIN','Zoom the video window in','>,.,Z,End','OLDHOSTNAME'),('Phone','ZOOMOUT','Zoom the video window out',',,<,Q,Home','OLDHOSTNAME'),('Phone','FULLSCRN','Show received video full-screen','P','OLDHOSTNAME'),('Phone','HANGUP','Hangup an active call','O','OLDHOSTNAME'),('Phone','MUTE','Mute','|,\\,F9','OLDHOSTNAME'),('Phone','LOOPBACK','Loopback Video','L','OLDHOSTNAME'),('Video','FILTER','Open video filter dialog','F','OLDHOSTNAME'),('Video','DELETE','Delete video','D','OLDHOSTNAME'),('Video','BROWSE','Change browsable in video manager','B','OLDHOSTNAME'),('Video','INCPARENT','Increase Parental Level','],},F11','OLDHOSTNAME'),('Video','DECPARENT','Decrease Parental Level','[,{,F10','OLDHOSTNAME'),('Video','HOME','Go to the first video','Home','OLDHOSTNAME'),('Video','END','Go to the last video','End','OLDHOSTNAME'),('Weather','PAUSE','Pause current page','P','OLDHOSTNAME'); +/*!40000 ALTER TABLE `keybindings` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `keyword` +-- + +DROP TABLE IF EXISTS `keyword`; +CREATE TABLE `keyword` ( + `phrase` varchar(128) NOT NULL default '', + `searchtype` int(10) unsigned NOT NULL default '3', + UNIQUE KEY `phrase` (`phrase`,`searchtype`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `keyword` +-- + +LOCK TABLES `keyword` WRITE; +/*!40000 ALTER TABLE `keyword` DISABLE KEYS */; +/*!40000 ALTER TABLE `keyword` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_albums` +-- + +DROP TABLE IF EXISTS `music_albums`; +CREATE TABLE `music_albums` ( + `album_id` int(11) unsigned NOT NULL auto_increment, + `artist_id` int(11) unsigned NOT NULL default '0', + `album_name` varchar(255) NOT NULL default '', + `year` smallint(6) NOT NULL default '0', + `compilation` tinyint(1) unsigned NOT NULL default '0', + PRIMARY KEY (`album_id`), + KEY `idx_album_name` (`album_name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_albums` +-- + +LOCK TABLES `music_albums` WRITE; +/*!40000 ALTER TABLE `music_albums` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_albums` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_artists` +-- + +DROP TABLE IF EXISTS `music_artists`; +CREATE TABLE `music_artists` ( + `artist_id` int(11) unsigned NOT NULL auto_increment, + `artist_name` varchar(255) NOT NULL default '', + PRIMARY KEY (`artist_id`), + KEY `idx_artist_name` (`artist_name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_artists` +-- + +LOCK TABLES `music_artists` WRITE; +/*!40000 ALTER TABLE `music_artists` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_artists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_genres` +-- + +DROP TABLE IF EXISTS `music_genres`; +CREATE TABLE `music_genres` ( + `genre_id` int(11) unsigned NOT NULL auto_increment, + `genre` varchar(25) NOT NULL default '', + PRIMARY KEY (`genre_id`), + KEY `idx_genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_genres` +-- + +LOCK TABLES `music_genres` WRITE; +/*!40000 ALTER TABLE `music_genres` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_genres` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_playlists` +-- + +DROP TABLE IF EXISTS `music_playlists`; +CREATE TABLE `music_playlists` ( + `playlist_id` int(11) unsigned NOT NULL auto_increment, + `playlist_name` varchar(255) NOT NULL default '', + `playlist_songs` text NOT NULL, + `last_accessed` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `length` int(11) unsigned NOT NULL default '0', + `songcount` smallint(8) unsigned NOT NULL default '0', + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`playlist_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_playlists` +-- + +LOCK TABLES `music_playlists` WRITE; +/*!40000 ALTER TABLE `music_playlists` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_playlists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylist_categories` +-- + +DROP TABLE IF EXISTS `music_smartplaylist_categories`; +CREATE TABLE `music_smartplaylist_categories` ( + `categoryid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + PRIMARY KEY (`categoryid`), + KEY `name` (`name`) +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_smartplaylist_categories` +-- + +LOCK TABLES `music_smartplaylist_categories` WRITE; +/*!40000 ALTER TABLE `music_smartplaylist_categories` DISABLE KEYS */; +INSERT INTO `music_smartplaylist_categories` VALUES (1,'Decades'),(2,'Favourite Tracks'),(3,'New Tracks'); +/*!40000 ALTER TABLE `music_smartplaylist_categories` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylist_items` +-- + +DROP TABLE IF EXISTS `music_smartplaylist_items`; +CREATE TABLE `music_smartplaylist_items` ( + `smartplaylistitemid` int(10) unsigned NOT NULL auto_increment, + `smartplaylistid` int(10) unsigned NOT NULL, + `field` varchar(50) NOT NULL, + `operator` varchar(20) NOT NULL, + `value1` varchar(255) NOT NULL, + `value2` varchar(255) NOT NULL, + PRIMARY KEY (`smartplaylistitemid`), + KEY `smartplaylistid` (`smartplaylistid`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_smartplaylist_items` +-- + +LOCK TABLES `music_smartplaylist_items` WRITE; +/*!40000 ALTER TABLE `music_smartplaylist_items` DISABLE KEYS */; +INSERT INTO `music_smartplaylist_items` VALUES (1,1,'Year','is between','1960','1969'),(2,2,'Year','is between','1970','1979'),(3,3,'Year','is between','1980','1989'),(4,4,'Year','is between','1990','1999'),(5,5,'Year','is between','2000','2009'),(6,6,'Rating','is greater than','7','0'),(7,7,'Play Count','is greater than','0','0'),(8,8,'Play Count','is equal to','0','0'); +/*!40000 ALTER TABLE `music_smartplaylist_items` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylists` +-- + +DROP TABLE IF EXISTS `music_smartplaylists`; +CREATE TABLE `music_smartplaylists` ( + `smartplaylistid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + `categoryid` int(10) unsigned NOT NULL, + `matchtype` set('All','Any') NOT NULL default 'All', + `orderby` varchar(128) NOT NULL default '', + `limitto` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`smartplaylistid`), + KEY `name` (`name`), + KEY `categoryid` (`categoryid`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_smartplaylists` +-- + +LOCK TABLES `music_smartplaylists` WRITE; +/*!40000 ALTER TABLE `music_smartplaylists` DISABLE KEYS */; +INSERT INTO `music_smartplaylists` VALUES (1,'1960\'s',1,'All','Artist (A)',0),(2,'1970\'s',1,'All','Artist (A)',0),(3,'1980\'s',1,'All','Artist (A)',0),(4,'1990\'s',1,'All','Artist (A)',0),(5,'2000\'s',1,'All','Artist (A)',0),(6,'Favorite Tracks',2,'All','Artist (A), Album (A)',0),(7,'100 Most Played Tracks',2,'All','Play Count (D)',100),(8,'Never Played Tracks',3,'All','Artist (A), Album (A)',0); +/*!40000 ALTER TABLE `music_smartplaylists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_songs` +-- + +DROP TABLE IF EXISTS `music_songs`; +CREATE TABLE `music_songs` ( + `song_id` int(11) unsigned NOT NULL auto_increment, + `filename` text NOT NULL, + `name` varchar(255) NOT NULL default '', + `track` smallint(6) unsigned NOT NULL default '0', + `artist_id` int(11) unsigned NOT NULL default '0', + `album_id` int(11) unsigned NOT NULL default '0', + `genre_id` int(11) unsigned NOT NULL default '0', + `year` smallint(6) NOT NULL default '0', + `length` int(11) unsigned NOT NULL default '0', + `numplays` int(11) unsigned NOT NULL default '0', + `rating` tinyint(4) unsigned NOT NULL default '0', + `lastplay` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `date_entered` datetime default NULL, + `date_modified` datetime default NULL, + `format` varchar(4) NOT NULL default '0', + `mythdigest` varchar(255) default NULL, + `size` bigint(20) unsigned default NULL, + `description` varchar(255) default NULL, + `comment` varchar(255) default NULL, + `disc_count` smallint(5) unsigned default '0', + `disc_number` smallint(5) unsigned default '0', + `track_count` smallint(5) unsigned default '0', + `start_time` int(10) unsigned default '0', + `stop_time` int(10) unsigned default NULL, + `eq_preset` varchar(255) default NULL, + `relative_volume` tinyint(4) default '0', + `sample_rate` int(10) unsigned default '0', + `bitrate` int(10) unsigned default '0', + `bpm` smallint(5) unsigned default NULL, + PRIMARY KEY (`song_id`), + KEY `idx_name` (`name`), + KEY `idx_mythdigest` (`mythdigest`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_songs` +-- + +LOCK TABLES `music_songs` WRITE; +/*!40000 ALTER TABLE `music_songs` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_songs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_stats` +-- + +DROP TABLE IF EXISTS `music_stats`; +CREATE TABLE `music_stats` ( + `num_artists` smallint(5) unsigned NOT NULL default '0', + `num_albums` smallint(5) unsigned NOT NULL default '0', + `num_songs` mediumint(8) unsigned NOT NULL default '0', + `num_genres` tinyint(3) unsigned NOT NULL default '0', + `total_time` varchar(12) NOT NULL default '0', + `total_size` varchar(10) NOT NULL default '0' +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `music_stats` +-- + +LOCK TABLES `music_stats` WRITE; +/*!40000 ALTER TABLE `music_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_stats` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `musicmetadata` +-- + +DROP TABLE IF EXISTS `musicmetadata`; +CREATE TABLE `musicmetadata` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `artist` varchar(128) NOT NULL, + `compilation_artist` varchar(128) NOT NULL, + `album` varchar(128) NOT NULL, + `title` varchar(128) NOT NULL, + `genre` varchar(128) NOT NULL, + `year` int(10) unsigned NOT NULL, + `tracknum` int(10) unsigned NOT NULL, + `length` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `rating` int(10) unsigned NOT NULL default '5', + `lastplay` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `playcount` int(10) unsigned NOT NULL default '0', + `mythdigest` varchar(255) default NULL, + `size` bigint(20) unsigned default NULL, + `date_added` datetime default NULL, + `date_modified` datetime default NULL, + `format` varchar(4) default NULL, + `description` varchar(255) default NULL, + `comment` varchar(255) default NULL, + `compilation` tinyint(4) default '0', + `composer` varchar(255) default NULL, + `disc_count` smallint(5) unsigned default '0', + `disc_number` smallint(5) unsigned default '0', + `track_count` smallint(5) unsigned default '0', + `start_time` int(10) unsigned default '0', + `stop_time` int(10) unsigned default NULL, + `eq_preset` varchar(255) default NULL, + `relative_volume` tinyint(4) default '0', + `sample_rate` int(10) unsigned default NULL, + `bpm` smallint(5) unsigned default NULL, + PRIMARY KEY (`intid`), + KEY `artist` (`artist`), + KEY `album` (`album`), + KEY `title` (`title`), + KEY `genre` (`genre`), + KEY `mythdigest` (`mythdigest`), + KEY `compilation_artist` (`compilation_artist`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `musicmetadata` +-- + +LOCK TABLES `musicmetadata` WRITE; +/*!40000 ALTER TABLE `musicmetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `musicmetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `musicplaylist` +-- + +DROP TABLE IF EXISTS `musicplaylist`; +CREATE TABLE `musicplaylist` ( + `playlistid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + `hostname` varchar(255) default NULL, + `songlist` text NOT NULL, + PRIMARY KEY (`playlistid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `musicplaylist` +-- + +LOCK TABLES `musicplaylist` WRITE; +/*!40000 ALTER TABLE `musicplaylist` DISABLE KEYS */; +/*!40000 ALTER TABLE `musicplaylist` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `mythlog` +-- + +DROP TABLE IF EXISTS `mythlog`; +CREATE TABLE `mythlog` ( + `logid` int(10) unsigned NOT NULL auto_increment, + `module` varchar(32) NOT NULL default '', + `priority` int(11) NOT NULL default '0', + `acknowledged` tinyint(1) default '0', + `logdate` datetime default NULL, + `host` varchar(128) default NULL, + `message` varchar(255) NOT NULL default '', + `details` text, + PRIMARY KEY (`logid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `mythlog` +-- + +LOCK TABLES `mythlog` WRITE; +/*!40000 ALTER TABLE `mythlog` DISABLE KEYS */; +/*!40000 ALTER TABLE `mythlog` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `networkiconmap` +-- + +DROP TABLE IF EXISTS `networkiconmap`; +CREATE TABLE `networkiconmap` ( + `id` int(11) NOT NULL auto_increment, + `network` varchar(20) NOT NULL default '', + `url` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `network` (`network`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `networkiconmap` +-- + +LOCK TABLES `networkiconmap` WRITE; +/*!40000 ALTER TABLE `networkiconmap` DISABLE KEYS */; +/*!40000 ALTER TABLE `networkiconmap` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldfind` +-- + +DROP TABLE IF EXISTS `oldfind`; +CREATE TABLE `oldfind` ( + `recordid` int(11) NOT NULL default '0', + `findid` int(11) NOT NULL default '0', + PRIMARY KEY (`recordid`,`findid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `oldfind` +-- + +LOCK TABLES `oldfind` WRITE; +/*!40000 ALTER TABLE `oldfind` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldfind` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldprogram` +-- + +DROP TABLE IF EXISTS `oldprogram`; +CREATE TABLE `oldprogram` ( + `oldtitle` varchar(128) NOT NULL default '', + `airdate` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`oldtitle`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `oldprogram` +-- + +LOCK TABLES `oldprogram` WRITE; +/*!40000 ALTER TABLE `oldprogram` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldprogram` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldrecorded` +-- + +DROP TABLE IF EXISTS `oldrecorded`; +CREATE TABLE `oldrecorded` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `seriesid` varchar(12) NOT NULL default '', + `programid` varchar(20) NOT NULL default '', + `findid` int(11) NOT NULL default '0', + `recordid` int(11) NOT NULL default '0', + `station` varchar(20) NOT NULL default '', + `rectype` int(10) unsigned NOT NULL default '0', + `duplicate` tinyint(1) NOT NULL default '0', + `recstatus` int(11) NOT NULL default '0', + `reactivate` smallint(6) NOT NULL default '0', + `generic` tinyint(1) default '0', + PRIMARY KEY (`station`,`starttime`,`title`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `recordid` (`recordid`), + KEY `recstatus` (`recstatus`,`programid`,`seriesid`), + KEY `recstatus_2` (`recstatus`,`title`,`subtitle`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `oldrecorded` +-- + +LOCK TABLES `oldrecorded` WRITE; +/*!40000 ALTER TABLE `oldrecorded` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldrecorded` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `people` +-- + +DROP TABLE IF EXISTS `people`; +CREATE TABLE `people` ( + `person` mediumint(8) unsigned NOT NULL auto_increment, + `name` char(128) NOT NULL default '', + PRIMARY KEY (`person`), + UNIQUE KEY `name` (`name`(41)) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `people` +-- + +LOCK TABLES `people` WRITE; +/*!40000 ALTER TABLE `people` DISABLE KEYS */; +/*!40000 ALTER TABLE `people` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `phonecallhistory` +-- + +DROP TABLE IF EXISTS `phonecallhistory`; +CREATE TABLE `phonecallhistory` ( + `recid` int(10) unsigned NOT NULL auto_increment, + `displayname` text NOT NULL, + `url` text NOT NULL, + `timestamp` text NOT NULL, + `duration` int(10) unsigned NOT NULL, + `directionin` int(10) unsigned NOT NULL, + `directoryref` int(10) unsigned default NULL, + PRIMARY KEY (`recid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `phonecallhistory` +-- + +LOCK TABLES `phonecallhistory` WRITE; +/*!40000 ALTER TABLE `phonecallhistory` DISABLE KEYS */; +/*!40000 ALTER TABLE `phonecallhistory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `phonedirectory` +-- + +DROP TABLE IF EXISTS `phonedirectory`; +CREATE TABLE `phonedirectory` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `nickname` text NOT NULL, + `firstname` text, + `surname` text, + `url` text NOT NULL, + `directory` text NOT NULL, + `photofile` text, + `speeddial` int(10) unsigned NOT NULL, + `onhomelan` int(10) unsigned default '0', + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `phonedirectory` +-- + +LOCK TABLES `phonedirectory` WRITE; +/*!40000 ALTER TABLE `phonedirectory` DISABLE KEYS */; +INSERT INTO `phonedirectory` VALUES (1,'Me(OLDHOSTNAME)','Local Myth Host','OLDHOSTNAME','','My MythTVs','',1,1); +/*!40000 ALTER TABLE `phonedirectory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pidcache` +-- + +DROP TABLE IF EXISTS `pidcache`; +CREATE TABLE `pidcache` ( + `chanid` smallint(6) NOT NULL default '0', + `pid` int(11) NOT NULL default '-1', + `tableid` int(11) NOT NULL default '-1', + KEY `chanid` (`chanid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `pidcache` +-- + +LOCK TABLES `pidcache` WRITE; +/*!40000 ALTER TABLE `pidcache` DISABLE KEYS */; +/*!40000 ALTER TABLE `pidcache` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `playgroup` +-- + +DROP TABLE IF EXISTS `playgroup`; +CREATE TABLE `playgroup` ( + `name` varchar(32) NOT NULL default '', + `titlematch` varchar(255) NOT NULL default '', + `skipahead` int(11) NOT NULL default '0', + `skipback` int(11) NOT NULL default '0', + `timestretch` int(11) NOT NULL default '0', + `jump` int(11) NOT NULL default '0', + PRIMARY KEY (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `playgroup` +-- + +LOCK TABLES `playgroup` WRITE; +/*!40000 ALTER TABLE `playgroup` DISABLE KEYS */; +INSERT INTO `playgroup` VALUES ('Default','',30,5,100,0); +/*!40000 ALTER TABLE `playgroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `profilegroups` +-- + +DROP TABLE IF EXISTS `profilegroups`; +CREATE TABLE `profilegroups` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) default NULL, + `cardtype` varchar(32) NOT NULL default 'V4L', + `is_default` int(1) default '0', + `hostname` varchar(255) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`,`hostname`) +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `profilegroups` +-- + +LOCK TABLES `profilegroups` WRITE; +/*!40000 ALTER TABLE `profilegroups` DISABLE KEYS */; +INSERT INTO `profilegroups` VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'MPEG-2 Encoders (PVR-x50, PVR-500)','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(9,'DBOX2 Input','DBOX2',1,NULL),(10,'Freebox Input','Freebox',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL); +/*!40000 ALTER TABLE `profilegroups` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `program` +-- + +DROP TABLE IF EXISTS `program`; +CREATE TABLE `program` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `category_type` varchar(64) NOT NULL default '', + `airdate` year(4) NOT NULL default '0000', + `stars` float NOT NULL default '0', + `previouslyshown` tinyint(4) NOT NULL default '0', + `title_pronounce` varchar(128) NOT NULL default '', + `stereo` tinyint(1) NOT NULL default '0', + `subtitled` tinyint(1) NOT NULL default '0', + `hdtv` tinyint(1) NOT NULL default '0', + `closecaptioned` tinyint(1) NOT NULL default '0', + `partnumber` int(11) NOT NULL default '0', + `parttotal` int(11) NOT NULL default '0', + `seriesid` varchar(12) NOT NULL default '', + `originalairdate` date default NULL, + `showtype` varchar(30) NOT NULL default '', + `colorcode` varchar(20) NOT NULL default '', + `syndicatedepisodenumber` varchar(20) NOT NULL default '', + `programid` varchar(20) NOT NULL default '', + `manualid` int(10) unsigned NOT NULL default '0', + `generic` tinyint(1) default '0', + `listingsource` int(11) NOT NULL default '0', + `first` tinyint(1) NOT NULL default '0', + `last` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`manualid`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `title_pronounce` (`title_pronounce`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `id_start_end` (`chanid`,`starttime`,`endtime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `program` +-- + +LOCK TABLES `program` WRITE; +/*!40000 ALTER TABLE `program` DISABLE KEYS */; +/*!40000 ALTER TABLE `program` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `programgenres` +-- + +DROP TABLE IF EXISTS `programgenres`; +CREATE TABLE `programgenres` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `relevance` char(1) NOT NULL default '', + `genre` char(30) default NULL, + PRIMARY KEY (`chanid`,`starttime`,`relevance`), + KEY `genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `programgenres` +-- + +LOCK TABLES `programgenres` WRITE; +/*!40000 ALTER TABLE `programgenres` DISABLE KEYS */; +/*!40000 ALTER TABLE `programgenres` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `programrating` +-- + +DROP TABLE IF EXISTS `programrating`; +CREATE TABLE `programrating` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `system` char(8) NOT NULL default '', + `rating` char(8) NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`), + KEY `starttime` (`starttime`,`system`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `programrating` +-- + +LOCK TABLES `programrating` WRITE; +/*!40000 ALTER TABLE `programrating` DISABLE KEYS */; +/*!40000 ALTER TABLE `programrating` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recgrouppassword` +-- + +DROP TABLE IF EXISTS `recgrouppassword`; +CREATE TABLE `recgrouppassword` ( + `recgroup` varchar(32) NOT NULL default '', + `password` varchar(10) NOT NULL default '', + PRIMARY KEY (`recgroup`), + UNIQUE KEY `recgroup` (`recgroup`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recgrouppassword` +-- + +LOCK TABLES `recgrouppassword` WRITE; +/*!40000 ALTER TABLE `recgrouppassword` DISABLE KEYS */; +/*!40000 ALTER TABLE `recgrouppassword` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `record` +-- + +DROP TABLE IF EXISTS `record`; +CREATE TABLE `record` ( + `recordid` int(10) unsigned NOT NULL auto_increment, + `type` int(10) unsigned NOT NULL default '0', + `chanid` int(10) unsigned default NULL, + `starttime` time NOT NULL default '00:00:00', + `startdate` date NOT NULL default '0000-00-00', + `endtime` time NOT NULL default '00:00:00', + `enddate` date NOT NULL default '0000-00-00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `profile` varchar(128) NOT NULL default 'Default', + `recpriority` int(10) NOT NULL default '0', + `autoexpire` int(11) NOT NULL default '0', + `maxepisodes` int(11) NOT NULL default '0', + `maxnewest` int(11) NOT NULL default '0', + `startoffset` int(11) NOT NULL default '0', + `endoffset` int(11) NOT NULL default '0', + `recgroup` varchar(32) NOT NULL default 'Default', + `dupmethod` int(11) NOT NULL default '6', + `dupin` int(11) NOT NULL default '15', + `station` varchar(20) NOT NULL default '', + `seriesid` varchar(12) NOT NULL default '', + `programid` varchar(20) NOT NULL default '', + `search` int(10) unsigned NOT NULL default '0', + `autotranscode` tinyint(1) NOT NULL default '0', + `autocommflag` tinyint(1) NOT NULL default '0', + `autouserjob1` tinyint(1) NOT NULL default '0', + `autouserjob2` tinyint(1) NOT NULL default '0', + `autouserjob3` tinyint(1) NOT NULL default '0', + `autouserjob4` tinyint(1) NOT NULL default '0', + `findday` tinyint(4) NOT NULL default '0', + `findtime` time NOT NULL default '00:00:00', + `findid` int(11) NOT NULL default '0', + `inactive` tinyint(1) NOT NULL default '0', + `parentid` int(11) NOT NULL default '0', + `transcoder` int(11) NOT NULL default '0', + `tsdefault` float NOT NULL default '1', + `playgroup` varchar(32) NOT NULL default 'Default', + `prefinput` int(10) NOT NULL default '0', + `next_record` datetime NOT NULL, + `last_record` datetime NOT NULL, + `last_delete` datetime NOT NULL, + PRIMARY KEY (`recordid`), + KEY `chanid` (`chanid`,`starttime`), + KEY `title` (`title`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `record` +-- + +LOCK TABLES `record` WRITE; +/*!40000 ALTER TABLE `record` DISABLE KEYS */; +/*!40000 ALTER TABLE `record` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recorded` +-- + +DROP TABLE IF EXISTS `recorded`; +CREATE TABLE `recorded` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `hostname` varchar(255) NOT NULL default '', + `bookmark` tinyint(1) NOT NULL default '0', + `editing` int(10) unsigned NOT NULL default '0', + `cutlist` tinyint(1) NOT NULL default '0', + `autoexpire` int(11) NOT NULL default '0', + `commflagged` int(10) unsigned NOT NULL default '0', + `recgroup` varchar(32) NOT NULL default 'Default', + `recordid` int(11) default NULL, + `seriesid` varchar(12) NOT NULL default '', + `programid` varchar(20) NOT NULL default '', + `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `filesize` bigint(20) NOT NULL default '0', + `stars` float NOT NULL default '0', + `previouslyshown` tinyint(1) default '0', + `originalairdate` date default NULL, + `preserve` tinyint(1) NOT NULL default '0', + `findid` int(11) NOT NULL default '0', + `deletepending` tinyint(1) NOT NULL default '0', + `transcoder` int(11) NOT NULL default '0', + `timestretch` float NOT NULL default '1', + `recpriority` int(11) NOT NULL default '0', + `basename` varchar(128) NOT NULL default '', + `progstart` datetime NOT NULL default '0000-00-00 00:00:00', + `progend` datetime NOT NULL default '0000-00-00 00:00:00', + `playgroup` varchar(32) NOT NULL default 'Default', + `profile` varchar(32) NOT NULL default '', + `duplicate` tinyint(1) NOT NULL default '0', + `transcoded` tinyint(1) NOT NULL default '0', + `watched` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`), + KEY `endtime` (`endtime`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `title` (`title`), + KEY `recordid` (`recordid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recorded` +-- + +LOCK TABLES `recorded` WRITE; +/*!40000 ALTER TABLE `recorded` DISABLE KEYS */; +/*!40000 ALTER TABLE `recorded` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedcredits` +-- + +DROP TABLE IF EXISTS `recordedcredits`; +CREATE TABLE `recordedcredits` ( + `person` mediumint(8) unsigned NOT NULL default '0', + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`), + KEY `person` (`person`,`role`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordedcredits` +-- + +LOCK TABLES `recordedcredits` WRITE; +/*!40000 ALTER TABLE `recordedcredits` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedcredits` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedmarkup` +-- + +DROP TABLE IF EXISTS `recordedmarkup`; +CREATE TABLE `recordedmarkup` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `mark` bigint(20) NOT NULL default '0', + `offset` varchar(32) default NULL, + `type` int(11) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordedmarkup` +-- + +LOCK TABLES `recordedmarkup` WRITE; +/*!40000 ALTER TABLE `recordedmarkup` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedmarkup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedprogram` +-- + +DROP TABLE IF EXISTS `recordedprogram`; +CREATE TABLE `recordedprogram` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `category_type` varchar(64) NOT NULL default '', + `airdate` year(4) NOT NULL default '0000', + `stars` float unsigned NOT NULL default '0', + `previouslyshown` tinyint(4) NOT NULL default '0', + `title_pronounce` varchar(128) NOT NULL default '', + `stereo` tinyint(1) NOT NULL default '0', + `subtitled` tinyint(1) NOT NULL default '0', + `hdtv` tinyint(1) NOT NULL default '0', + `closecaptioned` tinyint(1) NOT NULL default '0', + `partnumber` int(11) NOT NULL default '0', + `parttotal` int(11) NOT NULL default '0', + `seriesid` varchar(12) NOT NULL default '', + `originalairdate` date default NULL, + `showtype` varchar(30) NOT NULL default '', + `colorcode` varchar(20) NOT NULL default '', + `syndicatedepisodenumber` varchar(20) NOT NULL default '', + `programid` varchar(20) NOT NULL default '', + `manualid` int(10) unsigned NOT NULL default '0', + `generic` tinyint(1) default '0', + `listingsource` int(11) NOT NULL default '0', + `first` tinyint(1) NOT NULL default '0', + `last` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`manualid`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `title_pronounce` (`title_pronounce`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `id_start_end` (`chanid`,`starttime`,`endtime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordedprogram` +-- + +LOCK TABLES `recordedprogram` WRITE; +/*!40000 ALTER TABLE `recordedprogram` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedprogram` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedrating` +-- + +DROP TABLE IF EXISTS `recordedrating`; +CREATE TABLE `recordedrating` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `system` char(8) NOT NULL default '', + `rating` char(8) NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`), + KEY `starttime` (`starttime`,`system`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordedrating` +-- + +LOCK TABLES `recordedrating` WRITE; +/*!40000 ALTER TABLE `recordedrating` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedrating` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedseek` +-- + +DROP TABLE IF EXISTS `recordedseek`; +CREATE TABLE `recordedseek` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `mark` bigint(20) NOT NULL default '0', + `offset` varchar(32) default NULL, + `type` int(11) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordedseek` +-- + +LOCK TABLES `recordedseek` WRITE; +/*!40000 ALTER TABLE `recordedseek` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedseek` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordingprofiles` +-- + +DROP TABLE IF EXISTS `recordingprofiles`; +CREATE TABLE `recordingprofiles` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) default NULL, + `videocodec` varchar(128) default NULL, + `audiocodec` varchar(128) default NULL, + `profilegroup` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordingprofiles` +-- + +LOCK TABLES `recordingprofiles` WRITE; +/*!40000 ALTER TABLE `recordingprofiles` DISABLE KEYS */; +INSERT INTO `recordingprofiles` VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12); +/*!40000 ALTER TABLE `recordingprofiles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordmatch` +-- + +DROP TABLE IF EXISTS `recordmatch`; +CREATE TABLE `recordmatch` ( + `recordid` int(10) unsigned default NULL, + `chanid` int(10) unsigned default NULL, + `starttime` datetime default NULL, + `manualid` int(10) unsigned default NULL, + KEY `recordid` (`recordid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `recordmatch` +-- + +LOCK TABLES `recordmatch` WRITE; +/*!40000 ALTER TABLE `recordmatch` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordmatch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `romdb` +-- + +DROP TABLE IF EXISTS `romdb`; +CREATE TABLE `romdb` ( + `crc` varchar(64) NOT NULL default '', + `name` varchar(128) NOT NULL default '', + `description` varchar(128) NOT NULL default '', + `category` varchar(128) NOT NULL default '', + `year` varchar(10) NOT NULL default '', + `manufacturer` varchar(128) NOT NULL default '', + `country` varchar(128) NOT NULL default '', + `publisher` varchar(128) NOT NULL default '', + `platform` varchar(64) NOT NULL default '', + `filesize` int(12) default NULL, + `flags` varchar(64) NOT NULL default '', + `version` varchar(64) NOT NULL default '', + `binfile` varchar(64) NOT NULL default '', + KEY `crc` (`crc`), + KEY `year` (`year`), + KEY `category` (`category`), + KEY `name` (`name`), + KEY `description` (`description`), + KEY `platform` (`platform`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `romdb` +-- + +LOCK TABLES `romdb` WRITE; +/*!40000 ALTER TABLE `romdb` DISABLE KEYS */; +/*!40000 ALTER TABLE `romdb` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `schemalock` +-- + +DROP TABLE IF EXISTS `schemalock`; +CREATE TABLE `schemalock` ( + `schemalock` int(1) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `schemalock` +-- + +LOCK TABLES `schemalock` WRITE; +/*!40000 ALTER TABLE `schemalock` DISABLE KEYS */; +/*!40000 ALTER TABLE `schemalock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `settings` +-- + +DROP TABLE IF EXISTS `settings`; +CREATE TABLE `settings` ( + `value` varchar(128) NOT NULL default '', + `data` text, + `hostname` varchar(255) default NULL, + KEY `value` (`value`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `settings` +-- + +LOCK TABLES `settings` WRITE; +/*!40000 ALTER TABLE `settings` DISABLE KEYS */; +INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart',NULL,NULL),('mythfilldatabaseLastRunEnd',NULL,NULL),('mythfilldatabaseLastRunStatus',NULL,NULL),('DataDirectMessage',NULL,NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1160',NULL),('DefaultTranscoder','0',NULL),('MythFillSuggestedRunTime','1970-01-01T00:00:00',NULL),('MythFillGrabberSuggestsTime','1',NULL),('BackendServerIP','127.0.0.1','OLDHOSTNAME'),('BackendServerPort','6543','OLDHOSTNAME'),('BackendStatusPort','6544','OLDHOSTNAME'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('RecordFilePrefix','/var/lib/mythtv/recordings','OLDHOSTNAME'),('TruncateDeletesSlowly','0','OLDHOSTNAME'),('TVFormat','NTSC',NULL),('VbiFormat','None',NULL),('FreqTable','us-bcast',NULL),('TimeOffset','None',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('EITTimeOffset','Auto',NULL),('EITTransportTimeout','5',NULL),('EITIgnoresSource','0',NULL),('EITCrawIdleStart','60',NULL),('startupCommand','',NULL),('blockSDWUwithoutClient','1',NULL),('idleTimeoutSecs','0',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('SetWakeuptimeCommand','',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('preSDWUCheckCommand','',NULL),('WOLbackendReconnectWaitTime','0',NULL),('WOLbackendConnectRetry','5',NULL),('WOLbackendCommand','',NULL),('WOLslaveBackendsCommand','',NULL),('JobQueueMaxSimultaneousJobs','1','OLDHOSTNAME'),('JobQueueCheckFrequency','60','OLDHOSTNAME'),('JobQueueWindowStart','00:00','OLDHOSTNAME'),('JobQueueWindowEnd','23:59','OLDHOSTNAME'),('JobQueueCPU','0','OLDHOSTNAME'),('JobAllowCommFlag','1','OLDHOSTNAME'),('JobAllowTranscode','1','OLDHOSTNAME'),('JobAllowUserJob1','0','OLDHOSTNAME'),('JobAllowUserJob2','0','OLDHOSTNAME'),('JobAllowUserJob3','0','OLDHOSTNAME'),('JobAllowUserJob4','0','OLDHOSTNAME'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJob1','',NULL),('UserJobDesc2','User Job #2',NULL),('UserJob2','',NULL),('UserJobDesc3','User Job #3',NULL),('UserJob3','',NULL),('UserJobDesc4','User Job #4',NULL),('UserJob4','',NULL),('upnp:UDN:urn:schemas-upnp-org:device:MediaServer:1','256a89b4-1266-49ca-9ac7-f0b4b4641e7f','OLDHOSTNAME'),('Deinterlace','0','OLDHOSTNAME'),('DeinterlaceFilter','linearblend','OLDHOSTNAME'),('CustomFilters','','OLDHOSTNAME'),('PreferredMPEG2Decoder','ffmpeg','OLDHOSTNAME'),('UseOpenGLVSync','0','OLDHOSTNAME'),('RealtimePriority','1','OLDHOSTNAME'),('UseVideoTimebase','0','OLDHOSTNAME'),('DecodeExtraAudio','1','OLDHOSTNAME'),('AspectOverride','0','OLDHOSTNAME'),('PIPLocation','0','OLDHOSTNAME'),('PlaybackExitPrompt','0','OLDHOSTNAME'),('EndOfRecordingExitPrompt','0','OLDHOSTNAME'),('ClearSavedPosition','1','OLDHOSTNAME'),('AltClearSavedPosition','1','OLDHOSTNAME'),('UseOutputPictureControls','0','OLDHOSTNAME'),('AudioNag','1','OLDHOSTNAME'),('UDPNotifyPort','6948','OLDHOSTNAME'),('PlayBoxOrdering','1','OLDHOSTNAME'),('PlayBoxEpisodeSort','Date','OLDHOSTNAME'),('GeneratePreviewPixmaps','0','OLDHOSTNAME'),('PreviewPixmapOffset','64',NULL),('PreviewFromBookmark','1','OLDHOSTNAME'),('PlaybackPreview','1','OLDHOSTNAME'),('PlaybackPreviewLowCPU','0','OLDHOSTNAME'),('PlaybackBoxStartInTitle','1','OLDHOSTNAME'),('ShowGroupInfo','0','OLDHOSTNAME'),('AllRecGroupPassword','',NULL),('DisplayRecGroup','All Programs','OLDHOSTNAME'),('QueryInitialFilter','0','OLDHOSTNAME'),('RememberRecGroup','1','OLDHOSTNAME'),('DispRecGroupAsAllProg','0','OLDHOSTNAME'),('LiveTVInAllPrograms','0','OLDHOSTNAME'),('DisplayGroupDefaultView','0','OLDHOSTNAME'),('DisplayGroupTitleSort','0','OLDHOSTNAME'),('PVR350OutputEnable','0','OLDHOSTNAME'),('PVR350VideoDev','/dev/video16','OLDHOSTNAME'),('PVR350EPGAlphaValue','164','OLDHOSTNAME'),('PVR350InternalAudioOnly','0','OLDHOSTNAME'),('SmartForward','0','OLDHOSTNAME'),('StickyKeys','0','OLDHOSTNAME'),('FFRewReposTime','100','OLDHOSTNAME'),('FFRewReverse','1','OLDHOSTNAME'),('ExactSeeking','0','OLDHOSTNAME'),('AutoCommercialSkip','0','OLDHOSTNAME'),('CommRewindAmount','0','OLDHOSTNAME'),('CommNotifyAmount','0','OLDHOSTNAME'),('MaximumCommercialSkip','3600',NULL),('CommSkipAllBlanks','1',NULL),('VertScanPercentage','0','OLDHOSTNAME'),('HorizScanPercentage','0','OLDHOSTNAME'),('XScanDisplacement','0','OLDHOSTNAME'),('YScanDisplacement','0','OLDHOSTNAME'),('OSDTheme','blueosd','OLDHOSTNAME'),('OSDGeneralTimeout','2','OLDHOSTNAME'),('OSDProgramInfoTimeout','3','OLDHOSTNAME'),('OSDNotifyTimeout','5','OLDHOSTNAME'),('OSDFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCCFont','FreeMono.ttf','OLDHOSTNAME'),('OSDThemeFontSizeType','default','OLDHOSTNAME'),('CCBackground','0','OLDHOSTNAME'),('DefaultCCMode','0','OLDHOSTNAME'),('PersistentBrowseMode','1','OLDHOSTNAME'),('EnableMHEG','0','OLDHOSTNAME'),('OSDCC708TextZoom','100','OLDHOSTNAME'),('OSDCC708DefaultFontType','MonoSerif','OLDHOSTNAME'),('OSDCC708MonoSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSansSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSansSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CasualFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CursiveFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CapitalsFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSansSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSansSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CasualItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CursiveItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CapitalsItalicFont','FreeMono.ttf','OLDHOSTNAME'),('ChannelOrdering','channum','OLDHOSTNAME'),('ChannelFormat',' ','OLDHOSTNAME'),('LongChannelFormat',' ','OLDHOSTNAME'),('SmartChannelChange','0','OLDHOSTNAME'),('LastFreeCard','0',NULL),('AutoExpireMethod','2',NULL),('AutoExpireDayPriority','3',NULL),('AutoExpireDefault','1',NULL),('AutoExpireLiveTVMaxAge','1',NULL),('AutoExpireExtraSpace','1',NULL),('AutoCommercialFlag','1',NULL),('CommercialSkipMethod','255',NULL),('AggressiveCommDetect','1',NULL),('AutoTranscode','0',NULL),('AutoRunUserJob1','0',NULL),('AutoRunUserJob2','0',NULL),('AutoRunUserJob3','0',NULL),('AutoRunUserJob4','0',NULL),('RecordPreRoll','0',NULL),('RecordOverTime','0',NULL),('OverTimeCategory','category name',NULL),('CategoryOverTime','30',NULL),('ATSCCheckSignalThreshold','65',NULL),('ATSCCheckSignalWait','5000',NULL),('HDRingbufferSize','9400',NULL),('EPGFillType','10','OLDHOSTNAME'),('EPGShowCategoryColors','1','OLDHOSTNAME'),('EPGShowCategoryText','1','OLDHOSTNAME'),('EPGScrollType','1','OLDHOSTNAME'),('EPGShowChannelIcon','1','OLDHOSTNAME'),('EPGShowFavorites','0','OLDHOSTNAME'),('WatchTVGuide','0','OLDHOSTNAME'),('chanPerPage','5','OLDHOSTNAME'),('timePerPage','4','OLDHOSTNAME'),('UnknownTitle','Unknown','OLDHOSTNAME'),('UnknownCategory','Unknown','OLDHOSTNAME'),('DefaultTVChannel','3','OLDHOSTNAME'),('SelectChangesChannel','0','OLDHOSTNAME'),('SelChangeRecThreshold','16','OLDHOSTNAME'),('EPGEnableJumpToChannel','0',NULL),('Theme','G.A.N.T.','OLDHOSTNAME'),('ThemePainter','qt','OLDHOSTNAME'),('Style','','OLDHOSTNAME'),('ThemeFontSizeType','default','OLDHOSTNAME'),('RandomTheme','0','OLDHOSTNAME'),('MenuTheme','Default','OLDHOSTNAME'),('XineramaScreen','0','OLDHOSTNAME'),('XineramaMonitorAspectRatio','1.3333','OLDHOSTNAME'),('GuiWidth','0','OLDHOSTNAME'),('GuiHeight','0','OLDHOSTNAME'),('GuiOffsetX','0','OLDHOSTNAME'),('GuiOffsetY','0','OLDHOSTNAME'),('GuiSizeForTV','1','OLDHOSTNAME'),('HideMouseCursor','1','OLDHOSTNAME'),('RunFrontendInWindow','0','OLDHOSTNAME'),('UseVideoModes','0','OLDHOSTNAME'),('GuiVidModeResolution','640x480','OLDHOSTNAME'),('TVVidModeResolution','640x480','OLDHOSTNAME'),('TVVidModeForceAspect','0.0','OLDHOSTNAME'),('VidModeWidth0','0','OLDHOSTNAME'),('VidModeHeight0','0','OLDHOSTNAME'),('TVVidModeResolution0','640x480','OLDHOSTNAME'),('TVVidModeForceAspect0','0.0','OLDHOSTNAME'),('VidModeWidth1','0','OLDHOSTNAME'),('VidModeHeight1','0','OLDHOSTNAME'),('TVVidModeResolution1','640x480','OLDHOSTNAME'),('TVVidModeForceAspect1','0.0','OLDHOSTNAME'),('VidModeWidth2','0','OLDHOSTNAME'),('VidModeHeight2','0','OLDHOSTNAME'),('TVVidModeResolution2','640x480','OLDHOSTNAME'),('TVVidModeForceAspect2','0.0','OLDHOSTNAME'),('ISO639Language0','eng','OLDHOSTNAME'),('ISO639Language1','eng','OLDHOSTNAME'),('DateFormat','ddd MMM d','OLDHOSTNAME'),('ShortDateFormat','M/d','OLDHOSTNAME'),('TimeFormat','h:mm AP','OLDHOSTNAME'),('QtFontSmall','12','OLDHOSTNAME'),('QtFontMedium','16','OLDHOSTNAME'),('QtFontBig','25','OLDHOSTNAME'),('PlayBoxTransparency','1','OLDHOSTNAME'),('PlayBoxShading','0','OLDHOSTNAME'),('UseVirtualKeyboard','1','OLDHOSTNAME'),('LCDEnable','0','OLDHOSTNAME'),('LCDShowTime','1','OLDHOSTNAME'),('LCDShowMenu','1','OLDHOSTNAME'),('LCDShowMusic','1','OLDHOSTNAME'),('LCDShowMusicItems','ArtistTitle','OLDHOSTNAME'),('LCDShowChannel','1','OLDHOSTNAME'),('LCDShowRecStatus','0','OLDHOSTNAME'),('LCDShowVolume','1','OLDHOSTNAME'),('LCDShowGeneric','1','OLDHOSTNAME'),('LCDBacklightOn','1','OLDHOSTNAME'),('LCDHeartBeatOn','0','OLDHOSTNAME'),('LCDBigClock','0','OLDHOSTNAME'),('LCDKeyString','ABCDEF','OLDHOSTNAME'),('LCDPopupTime','5','OLDHOSTNAME'),('AudioOutputDevice','ALSA:default','OLDHOSTNAME'),('PassThruOutputDevice','Default','OLDHOSTNAME'),('AC3PassThru','0','OLDHOSTNAME'),('DTSPassThru','0','OLDHOSTNAME'),('AggressiveSoundcardBuffer','0','OLDHOSTNAME'),('MythControlsVolume','1','OLDHOSTNAME'),('MixerDevice','default','OLDHOSTNAME'),('MixerControl','PCM','OLDHOSTNAME'),('MasterMixerVolume','70','OLDHOSTNAME'),('PCMMixerVolume','70','OLDHOSTNAME'),('IndividualMuteControl','0','OLDHOSTNAME'),('AllowQuitShutdown','4','OLDHOSTNAME'),('NoPromptOnExit','1','OLDHOSTNAME'),('HaltCommand','halt','OLDHOSTNAME'),('LircKeyPressedApp','','OLDHOSTNAME'),('UseArrowAccels','1','OLDHOSTNAME'),('NetworkControlEnabled','0','OLDHOSTNAME'),('NetworkControlPort','6546','OLDHOSTNAME'),('SetupPinCodeRequired','0','OLDHOSTNAME'),('MonitorDrives','0','OLDHOSTNAME'),('EnableXbox','0','OLDHOSTNAME'),('LogEnabled','0',NULL),('LogPrintLevel','8','OLDHOSTNAME'),('LogCleanEnabled','0','OLDHOSTNAME'),('LogCleanPeriod','14','OLDHOSTNAME'),('LogCleanDays','14','OLDHOSTNAME'),('LogCleanMax','30','OLDHOSTNAME'),('LogMaxCount','100','OLDHOSTNAME'),('MythFillEnabled','0',NULL),('MythFillDatabasePath','/usr/bin/mythfilldatabase',NULL),('MythFillDatabaseArgs','',NULL),('MythFillDatabaseLog','',NULL),('MythFillPeriod','1',NULL),('MythFillMinHour','2',NULL),('MythFillMaxHour','5',NULL),('SchedMoveHigher','1',NULL),('DefaultStartOffset','0',NULL),('DefaultEndOffset','0',NULL),('ComplexPriority','0',NULL),('PrefInputPriority','2',NULL),('OnceRecPriority','0',NULL),('HDTVRecPriority','0',NULL),('CCRecPriority','0',NULL),('SingleRecordRecPriority','1',NULL),('OverrideRecordRecPriority','0',NULL),('FindOneRecordRecPriority','-1',NULL),('WeekslotRecordRecPriority','0',NULL),('TimeslotRecordRecPriority','0',NULL),('ChannelRecordRecPriority','0',NULL),('AllRecordRecPriority','0',NULL),('ArchiveDBSchemaVer','1000',NULL),('MythArchiveTempDir','','OLDHOSTNAME'),('MythArchiveShareDir','/usr/share/mythtv/mytharchive/','OLDHOSTNAME'),('MythArchiveVideoFormat','PAL','OLDHOSTNAME'),('MythArchiveFileFilter','*.mpg *.mov *.avi *.mpeg *.nuv','OLDHOSTNAME'),('MythArchiveDVDLocation','/dev/dvd','OLDHOSTNAME'),('MythArchiveEncodeToAc3','0','OLDHOSTNAME'),('MythArchiveCopyRemoteFiles','0','OLDHOSTNAME'),('MythArchiveAlwaysUseMythTranscode','1','OLDHOSTNAME'),('MythArchiveUseFIFO','1','OLDHOSTNAME'),('MythArchiveMainMenuAR','16:9','OLDHOSTNAME'),('MythArchiveChapterMenuAR','Video','OLDHOSTNAME'),('MythArchiveDateFormat','%a %b %d','OLDHOSTNAME'),('MythArchiveTimeFormat','%I:%M %p','OLDHOSTNAME'),('MythArchiveFfmpegCmd','ffmpeg','OLDHOSTNAME'),('MythArchiveMplexCmd','mplex','OLDHOSTNAME'),('MythArchiveDvdauthorCmd','dvdauthor','OLDHOSTNAME'),('MythArchiveSpumuxCmd','spumux','OLDHOSTNAME'),('MythArchiveMpeg2encCmd','mpeg2enc','OLDHOSTNAME'),('MythArchiveMkisofsCmd','mkisofs','OLDHOSTNAME'),('MythArchiveGrowisofsCmd','growisofs','OLDHOSTNAME'),('MythArchiveTcrequantCmd','tcrequant','OLDHOSTNAME'),('MythArchivePng2yuvCmd','png2yuv','OLDHOSTNAME'),('DVDDBSchemaVer','1002',NULL),('DVDDeviceLocation','/dev/dvd','OLDHOSTNAME'),('VCDDeviceLocation','/dev/cdrom','OLDHOSTNAME'),('DVDOnInsertDVD','1','OLDHOSTNAME'),('mythdvd.DVDPlayerCommand','Internal','OLDHOSTNAME'),('VCDPlayerCommand','mplayer vcd:// -cdrom-device %d -fs -zoom -vo xv','OLDHOSTNAME'),('DVDRipLocation','/var/lib/mythdvd/temp','OLDHOSTNAME'),('TitlePlayCommand','mplayer dvd://%t -dvd-device %d -fs -zoom -vo xv -aid %a -channels %c','OLDHOSTNAME'),('SubTitleCommand','-sid %s','OLDHOSTNAME'),('TranscodeCommand','transcode','OLDHOSTNAME'),('MTDPort','2442','OLDHOSTNAME'),('MTDNiceLevel','20','OLDHOSTNAME'),('MTDConcurrentTranscodes','1','OLDHOSTNAME'),('MTDRipSize','0','OLDHOSTNAME'),('MTDLogFlag','0','OLDHOSTNAME'),('MTDac3Flag','0','OLDHOSTNAME'),('MTDxvidFlag','1','OLDHOSTNAME'),('mythvideo.TrustTranscodeFRDetect','1','OLDHOSTNAME'),('GalleryDBSchemaVer','1000',NULL),('GalleryDir','/var/lib/mythtv/pictures','OLDHOSTNAME'),('GalleryThumbnailLocation','1','OLDHOSTNAME'),('GallerySortOrder','20','OLDHOSTNAME'),('GalleryImportDirs','/media/cdrom:/media/usbdisk','OLDHOSTNAME'),('GalleryMoviePlayerCmd','mplayer -fs %s','OLDHOSTNAME'),('SlideshowOpenGLTransition','none','OLDHOSTNAME'),('SlideshowOpenGLTransitionLength','2000','OLDHOSTNAME'),('GalleryOverlayCaption','0','OLDHOSTNAME'),('SlideshowTransition','none','OLDHOSTNAME'),('SlideshowBackground','','OLDHOSTNAME'),('SlideshowDelay','5','OLDHOSTNAME'),('GameDBSchemaVer','1012',NULL),('MusicDBSchemaVer','1006',NULL),('MusicLocation','/var/lib/mythtv/music/','OLDHOSTNAME'),('MusicAudioDevice','default','OLDHOSTNAME'),('CDDevice','/dev/cdrom','OLDHOSTNAME'),('TreeLevels','splitartist artist album title','OLDHOSTNAME'),('NonID3FileNameFormat','GENRE/ARTIST/ALBUM/TRACK_TITLE','OLDHOSTNAME'),('Ignore_ID3','0','OLDHOSTNAME'),('AutoLookupCD','1','OLDHOSTNAME'),('AutoPlayCD','0','OLDHOSTNAME'),('KeyboardAccelerators','1','OLDHOSTNAME'),('CDWriterEnabled','1','OLDHOSTNAME'),('CDDiskSize','1','OLDHOSTNAME'),('CDCreateDir','1','OLDHOSTNAME'),('CDWriteSpeed','0','OLDHOSTNAME'),('CDBlankType','fast','OLDHOSTNAME'),('PlayMode','Normal','OLDHOSTNAME'),('IntelliRatingWeight','35','OLDHOSTNAME'),('IntelliPlayCountWeight','25','OLDHOSTNAME'),('IntelliLastPlayWeight','25','OLDHOSTNAME'),('IntelliRandomWeight','15','OLDHOSTNAME'),('MusicShowRatings','0','OLDHOSTNAME'),('ShowWholeTree','0','OLDHOSTNAME'),('ListAsShuffled','0','OLDHOSTNAME'),('VisualMode','Random','OLDHOSTNAME'),('VisualCycleOnSongChange','0','OLDHOSTNAME'),('VisualModeDelay','0','OLDHOSTNAME'),('VisualScaleWidth','1','OLDHOSTNAME'),('VisualScaleHeight','1','OLDHOSTNAME'),('ParanoiaLevel','Full','OLDHOSTNAME'),('FilenameTemplate','ARTIST/ALBUM/TRACK-TITLE','OLDHOSTNAME'),('TagSeparator',' - ','OLDHOSTNAME'),('NoWhitespace','0','OLDHOSTNAME'),('PostCDRipScript','','OLDHOSTNAME'),('EjectCDAfterRipping','1','OLDHOSTNAME'),('OnlyImportNewMusic','0','OLDHOSTNAME'),('EncoderType','ogg','OLDHOSTNAME'),('DefaultRipQuality','0','OLDHOSTNAME'),('Mp3UseVBR','0','OLDHOSTNAME'),('PhoneDBSchemaVer','1001',NULL),('SipRegisterWithProxy','1','OLDHOSTNAME'),('SipProxyName','fwd.pulver.com','OLDHOSTNAME'),('SipProxyAuthName','','OLDHOSTNAME'),('SipProxyAuthPassword','','OLDHOSTNAME'),('MySipName','Me','OLDHOSTNAME'),('SipAutoanswer','0','OLDHOSTNAME'),('SipBindInterface','eth0','OLDHOSTNAME'),('SipLocalPort','5060','OLDHOSTNAME'),('NatTraversalMethod','None','OLDHOSTNAME'),('NatIpAddress','http://checkip.dyndns.org','OLDHOSTNAME'),('AudioLocalPort','21232','OLDHOSTNAME'),('VideoLocalPort','21234','OLDHOSTNAME'),('MicrophoneDevice','None','OLDHOSTNAME'),('CodecPriorityList','GSM;G.711u;G.711a','OLDHOSTNAME'),('PlayoutAudioCall','40','OLDHOSTNAME'),('PlayoutVideoCall','110','OLDHOSTNAME'),('TxResolution','176x144','OLDHOSTNAME'),('TransmitFPS','5','OLDHOSTNAME'),('TransmitBandwidth','256','OLDHOSTNAME'),('CaptureResolution','352x288','OLDHOSTNAME'),('TimeToAnswer','10','OLDHOSTNAME'),('DefaultVxmlUrl','http://127.0.0.1/vxml/index.vxml','OLDHOSTNAME'),('DefaultVoicemailPrompt','I am not at home, please leave a message after the tone','OLDHOSTNAME'),('VideoDBSchemaVer','1010',NULL),('VideoStartupDir','/var/lib/mythtv/videos','OLDHOSTNAME'),('VideoArtworkDir','/home/mythtv/.mythtv/MythVideo','OLDHOSTNAME'),('VideoDefaultParentalLevel','4','OLDHOSTNAME'),('VideoAggressivePC','0','OLDHOSTNAME'),('Default MythVideo View','1','OLDHOSTNAME'),('VideoListUnknownFiletypes','1','OLDHOSTNAME'),('VideoBrowserNoDB','0','OLDHOSTNAME'),('VideoGalleryNoDB','0','OLDHOSTNAME'),('VideoTreeNoDB','0','OLDHOSTNAME'),('VideoTreeLoadMetaData','1','OLDHOSTNAME'),('VideoNewBrowsable','1','OLDHOSTNAME'),('mythvideo.sort_ignores_case','1','OLDHOSTNAME'),('mythvideo.db_folder_view','1','OLDHOSTNAME'),('mythvideo.ImageCacheSize','50','OLDHOSTNAME'),('MovieListCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -M tv=no;video=no','OLDHOSTNAME'),('MoviePosterCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -P','OLDHOSTNAME'),('MovieDataCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -D','OLDHOSTNAME'),('VideoGalleryColsPerPage','4','OLDHOSTNAME'),('VideoGalleryRowsPerPage','3','OLDHOSTNAME'),('VideoGallerySubtitle','1','OLDHOSTNAME'),('VideoGalleryAspectRatio','1','OLDHOSTNAME'),('VideoDefaultPlayer','mplayer -fs -zoom -quiet -vo xv %s','OLDHOSTNAME'); +/*!40000 ALTER TABLE `settings` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `tvchain` +-- + +DROP TABLE IF EXISTS `tvchain`; +CREATE TABLE `tvchain` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `chainid` varchar(128) NOT NULL default '', + `chainpos` int(10) NOT NULL default '0', + `discontinuity` tinyint(1) NOT NULL default '0', + `watching` int(10) NOT NULL default '0', + `hostprefix` varchar(128) NOT NULL default '', + `cardtype` varchar(32) NOT NULL default 'V4L', + `input` varchar(32) NOT NULL default '', + `channame` varchar(32) NOT NULL default '', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`chanid`,`starttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `tvchain` +-- + +LOCK TABLES `tvchain` WRITE; +/*!40000 ALTER TABLE `tvchain` DISABLE KEYS */; +/*!40000 ALTER TABLE `tvchain` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videocategory` +-- + +DROP TABLE IF EXISTS `videocategory`; +CREATE TABLE `videocategory` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `category` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videocategory` +-- + +LOCK TABLES `videocategory` WRITE; +/*!40000 ALTER TABLE `videocategory` DISABLE KEYS */; +/*!40000 ALTER TABLE `videocategory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videocountry` +-- + +DROP TABLE IF EXISTS `videocountry`; +CREATE TABLE `videocountry` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `country` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videocountry` +-- + +LOCK TABLES `videocountry` WRITE; +/*!40000 ALTER TABLE `videocountry` DISABLE KEYS */; +/*!40000 ALTER TABLE `videocountry` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videogenre` +-- + +DROP TABLE IF EXISTS `videogenre`; +CREATE TABLE `videogenre` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `genre` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videogenre` +-- + +LOCK TABLES `videogenre` WRITE; +/*!40000 ALTER TABLE `videogenre` DISABLE KEYS */; +/*!40000 ALTER TABLE `videogenre` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadata` +-- + +DROP TABLE IF EXISTS `videometadata`; +CREATE TABLE `videometadata` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `title` varchar(128) NOT NULL, + `director` varchar(128) NOT NULL, + `plot` text, + `rating` varchar(128) NOT NULL, + `inetref` varchar(32) NOT NULL, + `year` int(10) unsigned NOT NULL, + `userrating` float NOT NULL, + `length` int(10) unsigned NOT NULL, + `showlevel` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `coverfile` text NOT NULL, + `childid` int(11) NOT NULL default '-1', + `browse` tinyint(1) NOT NULL default '1', + `playcommand` varchar(255) default NULL, + `category` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`intid`), + KEY `director` (`director`), + KEY `title` (`title`), + KEY `title_2` (`title`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videometadata` +-- + +LOCK TABLES `videometadata` WRITE; +/*!40000 ALTER TABLE `videometadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadatacountry` +-- + +DROP TABLE IF EXISTS `videometadatacountry`; +CREATE TABLE `videometadatacountry` ( + `idvideo` int(10) unsigned NOT NULL, + `idcountry` int(10) unsigned NOT NULL, + KEY `idvideo` (`idvideo`), + KEY `idcountry` (`idcountry`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videometadatacountry` +-- + +LOCK TABLES `videometadatacountry` WRITE; +/*!40000 ALTER TABLE `videometadatacountry` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadatacountry` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadatagenre` +-- + +DROP TABLE IF EXISTS `videometadatagenre`; +CREATE TABLE `videometadatagenre` ( + `idvideo` int(10) unsigned NOT NULL, + `idgenre` int(10) unsigned NOT NULL, + KEY `idvideo` (`idvideo`), + KEY `idgenre` (`idgenre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videometadatagenre` +-- + +LOCK TABLES `videometadatagenre` WRITE; +/*!40000 ALTER TABLE `videometadatagenre` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadatagenre` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videosource` +-- + +DROP TABLE IF EXISTS `videosource`; +CREATE TABLE `videosource` ( + `sourceid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL default '', + `xmltvgrabber` varchar(128) default NULL, + `userid` varchar(128) NOT NULL default '', + `freqtable` varchar(16) NOT NULL default 'default', + `lineupid` varchar(64) default NULL, + `password` varchar(64) default NULL, + `useeit` smallint(6) NOT NULL default '0', + PRIMARY KEY (`sourceid`), + UNIQUE KEY `name` (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videosource` +-- + +LOCK TABLES `videosource` WRITE; +/*!40000 ALTER TABLE `videosource` DISABLE KEYS */; +/*!40000 ALTER TABLE `videosource` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videotypes` +-- + +DROP TABLE IF EXISTS `videotypes`; +CREATE TABLE `videotypes` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `extension` varchar(128) NOT NULL, + `playcommand` varchar(255) NOT NULL, + `f_ignore` tinyint(1) default NULL, + `use_default` tinyint(1) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `videotypes` +-- + +LOCK TABLES `videotypes` WRITE; +/*!40000 ALTER TABLE `videotypes` DISABLE KEYS */; +INSERT INTO `videotypes` VALUES (1,'txt','',1,0),(2,'log','',1,0),(3,'mpg','Internal',0,0),(4,'avi','',0,1),(5,'vob','Internal',0,0),(6,'mpeg','Internal',0,0),(7,'VIDEO_TS','Internal',0,0),(8,'iso','Internal',0,0),(9,'img','Internal',0,0); +/*!40000 ALTER TABLE `videotypes` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2007-06-28 0:33:46 --- mythtv-0.21.0+fixes18207.orig/debian/rules +++ mythtv-0.21.0+fixes18207/debian/rules @@ -0,0 +1,252 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 + +# Watch out for superfluous whitespaces here! +SVN_PACKAGE+=mythtv +SVN_TYPE+=fixes +SVN_MAJOR_RELEASE+=21 +SVN_MINOR_RELEASE+=0 +SVN_REVISION+=18207 +SVN_BRANCH+= http://svn.mythtv.org/svn/branches/release-0-$(SVN_MAJOR_RELEASE)-$(SVN_TYPE)/$(SVN_PACKAGE) +#SVN_BRANCH+= http://svn.mythtv.org/svn/$(SVN_TYPE)/$(SVN_PACKAGE) +GREATER+=true +TAGGED_RELEASE+= + +ifneq "$(SVN_MINOR_RELEASE)" "" + SVN_RELEASE+=0.$(SVN_MAJOR_RELEASE).$(SVN_MINOR_RELEASE) +else + SVN_RELEASE+=0.$(SVN_MAJOR_RELEASE) +endif +ifeq "$(TAGGED_RELEASE)" "" + ifeq "$(GREATER)" "true" + SUFFIX+="+$(SVN_TYPE)$(SVN_REVISION)" + else + SUFFIX+="~$(SVN_TYPE)$(SVN_REVISION)" + endif +endif +TARFILE+=$(SVN_PACKAGE)_$(SVN_RELEASE)$(SUFFIX).orig.tar.gz + +get-orig-source: + svn export -r $(SVN_REVISION) $(SVN_BRANCH) $(SVN_PACKAGE)-$(SVN_RELEASE)$(SUFFIX) + tar czf $(CURDIR)/../$(TARFILE) $(SVN_PACKAGE)-$(SVN_RELEASE)$(SUFFIX) + rm -rf $(CURDIR)/$(SVN_PACKAGE)-$(SVN_RELEASE)$(SUFFIX) + +NCPUS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) + +ifeq ($(NCPUS),-1) + NCPUS:=1 +endif + +ifeq ($(NCPUS),0) + NCPUS:=1 +endif + +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) + +include /usr/share/dpatch/dpatch.make + +CFLAGS += -fPIC -DPIC + +CONFIGURE_OPTS += --compile-type=profile + +#These aren't mentioned in ./configure --help +TOP_SECRET_OPTS += --enable-libfaad --enable-libfaac --enable-libmp3lame \ + --enable-libx264 --enable-libxvid --enable-libfftw3 + +# --enable-glx-procaddrarb is a top secret option, but it's currently only +# useful with Nvidia drivers which is why we only add it to amd64 and i386 + +ifeq "$(DEB_BUILD_ARCH)" "i386" + CONFIGURE_OPTS += --cpu=i686 --enable-mmx --enable-xvmc --enable-xvmc-vld --enable-xvmc-pro --enable-glx-procaddrarb +else +ifeq "$(DEB_BUILD_ARCH)" "sparc" + CONFIGURE_OPTS += --enable-xvmc --enable-xvmc-vld --enable-xvmc-pro --extra-cflags="-mcpu=ultrasparc -mvis" +else +ifeq "$(DEB_BUILD_ARCH)" "powerpc" + CONFIGURE_OPTS += +else +ifeq "$(DEB_BUILD_ARCH)" "amd64" + CONFIGURE_OPTS += --enable-xvmc --enable-xvmc-vld --enable-xvmc-pro --enable-glx-procaddrarb +endif +endif +endif +endif + +configure: configure-stamp +configure-stamp: patch-stamp + dh_testdir + + #give us firewire testing support (from contrib) + ln -sf ../../contrib/firewire_tester.c programs/firewire_tester + + #update SVN REVISION to show the right version + sed -i -e "s/\`(svnversion \$$\$${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$(SVN_REVISION)/" version.pro + + CFLAGS="$(CFLAGS)" ./configure --prefix=/usr --enable-lirc --enable-audio-alsa \ + --enable-audio-oss --enable-audio-jack --enable-audio-arts --enable-dvb \ + --enable-ivtv --enable-firewire --enable-joystick-menu \ + --enable-opengl-vsync --with-bindings=perl --enable-opengl-video \ + --enable-ffmpeg-pthreads\ + $(CONFIGURE_OPTS) $(TOP_SECRET_OPTS) + + touch configure-stamp + +build: configure-stamp build-stamp +build-stamp: + dh_testdir + + $(CCVARS) qmake -o Makefile PREFIX=/usr mythtv.pro + + $(MAKE) -j $(NCPUS) $(CCVARS) + + touch build-stamp + +clean: + dh_testdir + dh_testroot + debconf-updatepo + rm -f build-stamp configure-stamp + + [ ! -f Makefile ] || $(MAKE) distclean + + find . -name '.qmake*' | xargs --no-run-if-empty rm -f + rm -f config.mak config.h + rm -rf debian/shlibs.local + + #this is a symlink manually added in + rm -f programs/firewire_tester.c + rm -f programs/firewire_tester/firewire_tester.c + + debian/rules unpatch + + dh_clean Makefile config.log setup/Makefile programs/mythbackend/version.cpp \ + programs/mythfrontend/version.cpp + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -A etc/mythtv + + chmod a+x debian/*.sh debian/*.d + dh_install -pmythtv-frontend debian/mythtv.desktop usr/share/applications + dh_install -pmythtv-backend debian/mythtv-setup.desktop usr/share/applications + dh_install -pmythtv-backend debian/41-mythtv-permissions.rules etc/udev/rules.d + dh_install -pmythtv-backend debian/mythtv-backend.if-up.d etc/network/if-up.d + dh_install -pmythtv-frontend debian/mythfrontend.sh usr/share/mythtv + dh_install -pmythtv-frontend debian/session-settings etc/mythtv + dh_install -pmythtv-backend debian/mythtv-setup.sh usr/share/mythtv + dh_install -pmythtv-common debian/dialog_functions.sh usr/share/mythtv + dh_install -pubuntu-mythtv-frontend debian/startmythtv.sh usr/share/mythtv + dh_install -pubuntu-mythtv-frontend debian/mythtv-xsession.desktop usr/share/xsessions + dh_install -pubuntu-mythtv-frontend debian/dmrc etc/mythtv + dh_install -pubuntu-mythtv-frontend debian/mplayer-config etc/mythtv + dh_install -pubuntu-mythtv-frontend debian/background.xpm usr/share/mythtv + dh_install -pubuntu-mythtv-frontend debian/openbox-menu.xml etc/mythtv + dh_install -pubuntu-mythtv-frontend debian/gdm.conf etc/xdg/mythtv-ubuntu/gdm + dh_install -pubuntu-mythtv-frontend debian/mythbuntu-gdm.conf etc/xdg/mythtv-ubuntu/gdm + dh_install -pmythtv-common debian/mysql.txt.dist debian/myth-halt.sh debian/myth-reboot.sh debian/myth-hibernate.sh usr/share/mythtv + + $(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/mythtv + mv debian/mythtv/usr/bin/mythfrontend debian/mythtv/usr/bin/mythfrontend.real + mv debian/mythtv/usr/bin/mythtv-setup debian/mythtv/usr/bin/mythtv-setup.real + dh_link -pmythtv-frontend usr/share/mythtv/mythfrontend.sh usr/bin/mythfrontend + dh_link -pmythtv-backend usr/share/mythtv/mythtv-setup.sh usr/bin/mythtv-setup + + install -d debian/mythtv/usr/share/mythtv/sql + install -m 644 database/*.sql debian/mythtv/usr/share/mythtv/sql + + rm -f debian/mythtv/usr/share/mythtv/FreeSans.ttf debian/mythtv/usr/share/mythtv/FreeMono.ttf + dh_link -pmythtv-common usr/share/fonts/truetype/freefont/FreeSans.ttf usr/share/mythtv/FreeSans.ttf + dh_link -pmythtv-common usr/share/fonts/truetype/freefont/FreeMono.ttf usr/share/mythtv/FreeMono.ttf + + dh_install --sourcedir=debian/mythtv -pmythtv-backend usr/share/mythtv/setup.xml + rm -f debian/mythtv/usr/share/mythtv/setup.xml + + find debian/mythtv/usr/share -type f -exec chmod 0644 {} \; + + dh_movefiles --sourcedir=debian/mythtv + + dh_install -pmythtv-common debian/mythsql usr/share/mythtv + # perl bindings +# dh_install -plibmyth-perl usr/share/perl/*/MythTV* + +# Autogenerated configuration files + set -e; \ + for cf in debian/mythtv-common/usr/share/mythtv/mysql.txt; do \ + ln -s /etc/mythtv/`basename $$cf` $$cf; \ + done + + cp debian/mythtv.desktop debian/mythtv-frontend/usr/share/applications + cp debian/mythtv-setup.desktop debian/mythtv-backend/usr/share/applications + +# Remove empty directories + find debian -type d | xargs rmdir -p --ignore-fail-on-non-empty + + dh_installdirs -pmythtv-backend var/lib/mythtv/recordings var/cache/mythtv \ + var/log/mythtv usr/share/doc/mythtv-backend + + dh_installdirs -pmythtv-frontend var/log/mythtv + + dh_installdirs -pmythtv-common /etc/mythtv + +# Install files in contrib directory. + + dh_install --exclude=configfiles --exclude=.svn -pmythtv-backend contrib usr/share/doc/mythtv-backend/ + + dh_install -pmythtv-database debian/mythtv-reconfigure-required.update-notifier usr/share/mythtv + dh_install -pmythtv-database debian/mythtv.cnf etc/mysql/conf.d + dh_install -pmythtv-database debian/mythtv_0.21.0.sql usr/share/mythtv/sql +# Build architecture-independent files here. +# Pass -i to all debhelper commands in this target to reduce clutter. +binary-indep: build install + dh_testdir -i + dh_testroot -i + dh_installdebconf -i + dh_installdocs -A README debian/README.Debian AUTHORS FAQ UPGRADING keys.txt + dh_installdocs -pmythtv-backend contrib/firewire_tester-README + dh_installdocs -pmythtv-doc docs/mythtv-HOWTO* + dh_installexamples -pmythtv-doc contrib/configfiles/* + dh_installcron -i + dh_installchangelogs -i + dh_pysupport -plibmyth-python + find debian/libmyth-python -name *.pyc | xargs rm || true + dh_link -i + dh_perl -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir -a + dh_testroot -a + dh_installdocs -a -A README debian/README.Debian AUTHORS keys.txt FAQ UPGRADING + dh_installdebconf -a + dh_installexamples -a + dh_installmenu -a + dh_installlogrotate -a + dh_installinit -a -u'defaults 24 16' + dh_installcron -a + dh_installinfo -a + dh_installchangelogs -a + dh_strip -a + dh_link -a + dh_compress -a + dh_fixperms -a + dh_makeshlibs -a -V -Xusr/lib/mythtv/filters + dh_installdeb -a +# dh_shlibdeps -a -ldebian/libmyth-0.19/usr/lib + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- mythtv-0.21.0+fixes18207.orig/debian/mythfrontend.sh +++ mythtv-0.21.0+fixes18207/debian/mythfrontend.sh @@ -0,0 +1,93 @@ +#!/bin/sh +# Mario Limonciello, March 2007 +# partially merged with startmythtv.sh by Michael Haas, October 2007 + +#source our dialog functions +. /usr/share/mythtv/dialog_functions.sh + +#find the session, dialog, and su manager we will be using for display +find_session +find_dialog +find_su + +#check that we are in the mythtv group +check_groups + +#create a symbolic link for mysql.txt so it can't be overwritten +mkdir -p $HOME/.mythtv +if [ ! -e $HOME/.mythtv/mysql.txt ]; then + ln -s /etc/mythtv/mysql.txt $HOME/.mythtv/mysql.txt +fi + +if [ "$1" = "--service" ]; then + #source frontend session settings + if [ -f /etc/mythtv/session-settings ]; then + . /etc/mythtv/session-settings + fi + echo "Please note: additional command line arguments will not be passed" + echo " to mythfrontend when using --service" + echo "Please set them in /etc/mythtv/session-settings instead" + + # set log files + MYTHFELOG="/var/log/mythtv/mythfrontend.log" + MYTHWELCOMELOG="/var/log/mythtv/mythwelcome.log" + + # make sure that our log files exist + # it's ok if we fail, we'll fall back to a different logfile location later on + if [ ! -f "${MYTHFELOG}" ]; then + touch "${MYTHFELOG}" || true + fi + if [ ! -f "${MYTHWELCOMELOG}" ]; then + touch "${MYTHWELCOMELOG}" || true + fi + # make sure log files are writeable by members of the "mythtv" group + # again, it's ok if we fail so we redirect STDERR to /dev/null + chgrp mythtv "${MYTHFELOG}" 2>/dev/null && \ + chmod g+rw "${MYTHFELOG}" 2>/dev/null || true + chgrp mythtv "${MYTHWELCOMELOG}" 2>/dev/null && \ + chmod g+rw "${MYTHWELCOMELOG}" 2>/dev/null || true + + # Are the log files writeable as well? If not, warn the user and + # fall back to tempory log location + if [ ! -w "${MYTHFELOG}" ]; then + echo "Sorry, "${MYTHFELOG}" is not writeable. Please make sure it's writeable" + echo " for the \"mythtv\" group." + echo "Logging to /tmp/mythfrontend.${$}.log instead" + MYTHFELOG="/tmp/mythfrontend.${$}.log" + fi + + if [ ! -w "${MYTHWELCOMELOG}" ]; then + echo "Sorry, "${MYTHWELCOMELOG}" is not writeable. Please make sure it's writeable" + echo " for the \"mythtv\" group." + echo "Logging to /tmp/mythwelcome.${$}.log instead" + MYTHWELCOMELOG="/tmp/mythwelcome.${$}.log" + fi + + + #if group membership is okay, go ahead and launch + if [ "$IGNORE_NOT" = "0" ]; then + # start mythtv frontend software + if [ "$MYTHWELCOME" = "true" ]; then + if [ ! -z $MYTHFRONTEND_OPTS ]; then + echo "Note: It looks like you set MYTHFRONTEND_OPTS in /etc/mythtv/session-settings" | tee -a "${MYTHWELCOMELOG}" + echo "However, mythwelcome won't recognize these." | tee -a "${MYTHWELCOMELOG}" + echo "You have to set to set your startup options in the mythwelcome settings screens" | tee -a "${MYTHWELCOMELOG}" + echo "Starting mythwelcome.." | tee -a "${MYTHWELCOMELOG}" + fi + # Note: if mythwelcome would support -O to override database settings, + # we could tell it to start the frontend with $MYTHFRONTEND_OPTS + # This is not possible yet, but maybe it'll happen in the future + exec mythwelcome | tee -a "${MYTHWELCOMELOG}" + else + echo "Starting mythfrontend.real.." >> "${MYTHFELOG}" + exec /usr/bin/mythfrontend.real --logfile "${MYTHFELOG}" "${MYTHFRONTEND_OPTS}" + fi + fi +# if we're not in --service mode, just behave normally +elif [ "$1" != "--service" ]; then + # if group membership is okay, go ahead and launch + if [ "$IGNORE_NOT" = "0" ]; then + exec /usr/bin/mythfrontend.real "$@" + fi +fi + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.templates +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.templates @@ -0,0 +1,19 @@ +Template: mythtv/create_v4l_devs +Type: boolean +Default: true +_Description: Is it OK to create the video4linux device nodes? + +Template: mythtv/run_setup +Type: note +_Description: mythtv-setup must be run in order to complete MythTV installation + You must run mythtv-setup as a user in the 'mythtv' group in order to complete + mythtv configuration. Note that this program requires an X display, so you must + either login to an X session as a user in the 'mythtv' group, or otherwise + arrange for that user to have access to your X display. + . + You must complete all four steps presented in the program. + . + Once you have done this, you may start the backend by executing the + following command: + . + sudo /etc/init.d/mythtv-backend start --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.configfiles +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.configfiles @@ -0,0 +1,4 @@ +/etc/logrotate.d/mythtv-backend +/etc/default/mythtv-backend +/etc/init.d/mythtv-backend +/etc/cron.daily/mythtv-backend --- mythtv-0.21.0+fixes18207.orig/debian/myth-hibernate.sh +++ mythtv-0.21.0+fixes18207/debian/myth-hibernate.sh @@ -0,0 +1,3 @@ +#!/bin/sh +# This script uses dbus to tell HAL to hibernate your computer +dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-transcode-utils.files +++ mythtv-0.21.0+fixes18207/debian/mythtv-transcode-utils.files @@ -0,0 +1 @@ +usr/bin/mythtranscode --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-common.postinst +++ mythtv-0.21.0+fixes18207/debian/mythtv-common.postinst @@ -0,0 +1,77 @@ +#!/bin/sh -e + +case "$1" in + configure) + . /usr/share/debconf/confmodule + + if [ -n "$2" ] && dpkg --compare-versions "$2" lt "0.7-4"; then + usermod -s /bin/sh mythtv + fi + adduser --quiet --system --group --disabled-password --system \ + --shell /bin/sh mythtv + adduser --quiet mythtv video + adduser --quiet mythtv audio + adduser --quiet mythtv cdrom + adduser --quiet mythtv dialout + + db_get mythtv/mysql_host + hostname="$RET" + db_get mythtv/mysql_mythtv_dbname + database="$RET" + + db_get mythtv/mysql_mythtv_user + mythtv_username="$RET" + db_get mythtv/mysql_mythtv_password + mythtv_password="$RET" + + if [ -z "$mythtv_password" ]; then + # workaround bug #118181 in woody + set +e + mythtv_password="$(pwgen -s 8)" + set -e + db_set mythtv/mysql_mythtv_password "$mythtv_password" + db_get mythtv/mysql_mythtv_password + db_subst mythtv/display_password password "$RET" + db_input high mythtv/display_password || true + db_go + fi + + NEW=$(mktemp -t mysql.txt-XXXXXX) + if [ -s /etc/mythtv/mysql.txt ]; then + INPUT=/etc/mythtv/mysql.txt + chown --reference="$INPUT" "$NEW" + chmod --reference="$INPUT" "$NEW" + else + INPUT=/usr/share/mythtv/mysql.txt.dist + chown mythtv:mythtv "$NEW" + chmod 660 "$NEW" + fi + + cat $INPUT | grep -v 'DBPassword=' | sed -e " +s/^\(\(str *\)\?DBHostName\)=.*$/\1=$hostname/g; +s/^\(\(str *\)\?DBUserName\)=.*$/\1=$mythtv_username/g; +s/^\(\(str *\)\?DBName\)=.*$/\1=$database/g;" > $NEW + cat <> $NEW +DBPassword=$mythtv_password +EOF + mv $NEW /etc/mythtv/mysql.txt + + if dpkg --compare-versions "$1" lt 0.9-1 && test -f /etc/mythtv/backend_settings.txt; then + mv /etc/mythtv/backend_settings.txt /etc/mythtv/backend_settings.txt.dpkg-old + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/session-settings +++ mythtv-0.21.0+fixes18207/debian/session-settings @@ -0,0 +1,25 @@ +############################################################################### +# This file is used if /usr/bin/mythfrontend is called with --service # +# For example, this happens in ubuntu-mythtv-frontend (in startmythtv.sh) # +# and in mythtv.desktop which ships with the mythtv-frontend package # +############################################################################### + +# Enable mythwelcome +# Note: if you enable this, MYTHFRONTEND_OPTS is ignored +# You will have to specify your startup options for mythfrontend in mythwelcome +# +# Note: a log file is available at /var/log/mythtv/mythwelcome.log +# which should also include mythfrontend output +# +# MYTHWELCOME=true + +# Startup options for mythfrontend +# "--verbose all,nodatabase" is just an example. You will get LOTS of output! +# To obtain a list of verbose levels, run "mythfrontend --verbose help" +# To find out more about other available options, run "mythfrontend --help" +# +# Note: a log file is already available at /var/log/mythtv/mythfrontend.log, +# so there's no need to specify --logfile (or -l) unless you want to log to a +# non-standard location +# +# MYTHFRONTEND_OPTS="--verbose all,nodatabase" --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-frontend.menu +++ mythtv-0.21.0+fixes18207/debian/mythtv-frontend.menu @@ -0,0 +1,2 @@ +?package(mythtv-frontend):needs="X11" section="Apps/Graphics" \ + title="MythTV" command="/usr/bin/mythfrontend" --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.NEWS +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.NEWS @@ -0,0 +1,12 @@ +mythtv (0.15.1-1) unstable; urgency=low + + * As of version 0.15-1, the tv_grab_na grabber from xmltv is now + deprecated in favour of the Zap2It Data Direct service. If you are + using tv_grab_na, you must register for the new service and run + mythtv-setup to configure MythTV to use it. See: + + http://www.mythtv.org/docs/mythtv-HOWTO-21.html#MigratingtoDD + + for instructions. + + -- Matt Zimmerman Wed, 26 May 2004 22:53:35 -0700 --- mythtv-0.21.0+fixes18207.orig/debian/ubuntu-mythtv-frontend.prerm +++ mythtv-0.21.0+fixes18207/debian/ubuntu-mythtv-frontend.prerm @@ -0,0 +1,11 @@ +#!/bin/sh -e + +if [ remove = "$1" ]; then + update-alternatives --remove gdm-config-derivative /etc/xdg/mythtv-ubuntu/gdm/gdm.conf + update-alternatives --remove gdm-config-derivative /etc/xdg/mythtv-ubuntu/gdm/mythbuntu-gdm.conf +fi + +#DEBHELPER# + +exit 0 + --- mythtv-0.21.0+fixes18207.orig/debian/mythbuntu-gdm.conf +++ mythtv-0.21.0+fixes18207/debian/mythbuntu-gdm.conf @@ -0,0 +1,96 @@ +[daemon] +AutomaticLoginEnable=true +AutomaticLogin=mythtv +TimedLoginEnable=true +TimedLogin=mythtv +TimedLoginDelay=5 +Greeter=/usr/lib/gdm/gdmgreeter +User=gdm +Group=gdm +LogDir=/var/log/gdm +PidFile=/var/run/gdm.pid +PostLoginScriptDir=/etc/gdm/PostLogin/ +PreSessionScriptDir=/etc/gdm/PreSession/ +PostSessionScriptDir=/etc/gdm/PostSession/ +DisplayInitDir=/etc/gdm/Init +XKeepsCrashing=/etc/gdm/XKeepsCrashing +RebootCommand=/sbin/shutdown -r now "Rebooted from gdm menu." +HaltCommand=/sbin/shutdown -h now "Halted from gdm menu." +SuspendCommand=/usr/sbin/pmi action sleep +HibernateCommand=/usr/sbin/pmi action hibernate +ServAuthDir=/var/lib/gdm +BaseXsession=/etc/gdm/Xsession +SessionDesktopDir=/etc/X11/sessions/:/etc/dm/Sessions/:/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/ +DefaultSession=default.desktop +UserAuthDir= +UserAuthFBDir=/tmp +UserAuthFile=.Xauthority +StandardXServer=/usr/bin/X +Xnest=/usr/bin/Xnest -br -br -audit 0 -name Xnest +FirstVT=7 +VTAllocation=true +SoundProgram=/usr/lib/gdmplay +GdmXserverTimeout=10 + +[security] +AllowRoot=false +AllowRemoteRoot=false +AllowRemoteAutoLogin=false +RelaxPermissions=0 +CheckDirOwner=true +DisallowTCP=true +PamStack=gdm + +[xdmcp] +Enable=false + +[gui] +GtkTheme=Mythbuntu +AllowGtkThemeChange=false + +[greeter] +Browser=true +MinimalUID=1000 +Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm +IncludeAll=true +LocaleFile=/etc/gdm/locale.conf +ConfigAvailable=false +DefaultWelcome=true +DefaultRemoteWelcome=true +BackgroundColor=#000000 +GraphicalThemedColor=#000000 +UseCirclesInEntry=true +GraphicalTheme=Mythbuntu +GraphicalThemeDir=/usr/share/gdm/themes/ +GraphicalThemeRand=false +SoundOnLogin=true +SoundOnLoginFile=/usr/share/sounds/question.wav +[chooser] +HostImageDir=/usr/share/hosts/ +Hosts= +Broadcast=true +Multicast=false + +[debug] +Enable=false +Gestures=false + +[servers] +0=Standard + +[server-Standard] +name=Standard server +command=/usr/bin/X -br -audit 0 +flexible=true + +[server-Terminal] +name=Terminal server +command=/usr/bin/X -br -audit 0 -terminate +flexible=false +handled=false + +[server-Chooser] +name=Chooser server +command=/usr/bin/X -br -audit 0 +flexible=false +chooser=true --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-common.config +++ mythtv-0.21.0+fixes18207/debian/mythtv-common.config @@ -0,0 +1,35 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +found_bogons="" +for bogon in bin/mythfilldatabase bin/mythfrontend bin/mythbackend \ + lib/libmyth-0.8.so.0; do + file=/usr/local/$bogon + if [ -f /usr/local/$bogon ]; then + found_bogons="$found_bogons $file" + fi +done + +if [ -n "$found_bogons" ]; then + db_subst mythtv/old_bins files "$found_bogons" + db_input high mythtv/old_bins || true +fi + +CONFIG=/etc/mythtv/mysql.txt +if [ -e $CONFIG ]; then + db_set mythtv/mysql_mythtv_dbname "`sed -n -e 's/^\(str *\)\?DBName=\(.*\)$/\2/gp;' $CONFIG`" + db_set mythtv/mysql_mythtv_user "`sed -n -e 's/^\(str *\)\?DBUserName=\(.*\)$/\2/gp;' $CONFIG`" + db_set mythtv/mysql_mythtv_password "`sed -n -e 's/^\(str *\)\?DBPassword=\(.*\)$/\2/gp;' $CONFIG`" + db_set mythtv/mysql_host "`sed -n -e 's/^\(str *\)\?DBHostName=\(.*\)$/\2/gp;' $CONFIG`" +fi + +db_input low mythtv/mysql_mythtv_dbname || true +db_input low mythtv/mysql_mythtv_user || true +db_input low mythtv/mysql_mythtv_password || true + +db_input medium mythtv/mysql_host || true + +db_go + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-xsession.desktop +++ mythtv-0.21.0+fixes18207/debian/mythtv-xsession.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=MythTV +Comment=Use this session to run MythTV +Exec=/usr/share/mythtv/startmythtv.sh +Icon= +Type=Application --- mythtv-0.21.0+fixes18207.orig/debian/libmyth-python.files +++ mythtv-0.21.0+fixes18207/debian/libmyth-python.files @@ -0,0 +1 @@ +usr/lib/python2.5/* --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.configfiles +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.configfiles @@ -0,0 +1 @@ +/etc/cron.weekly/mythtv-database --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.config +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.config @@ -0,0 +1,17 @@ +#!/bin/sh -e +#Try and connect to a sane default before +#actually looking for input +. /usr/share/debconf/confmodule + +db_input low mythtv/mysql_host || true +db_input low mythtv/mysql_admin_user || true +db_get mythtv/mysql_admin_user +USER="$RET" +db_subst mythtv/mysql_admin_password user "$USER" +db_input medium mythtv/mysql_admin_password || true + +#Ask the user about expandability +db_input high mythtv/public_bind || true +db_go || true + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-frontend.templates +++ mythtv-0.21.0+fixes18207/debian/mythtv-frontend.templates @@ -0,0 +1,9 @@ +Template: mythtv/server_host +Type: string +Default: localhost +_Description: What is the hostname of the system where the MythTV backend is installed: + +Template: mythtv/server_port +Type: string +Default: 6543 +_Description: On what port number is the MythTV server listening: --- mythtv-0.21.0+fixes18207.orig/debian/po/templates.pot +++ mythtv-0.21.0+fixes18207/debian/po/templates.pot @@ -0,0 +1,350 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/oc.po +++ mythtv-0.21.0+fixes18207/debian/po/oc.po @@ -0,0 +1,351 @@ +# Occitan (post 1500) translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-09-30 21:18+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Occitan (post 1500) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/es.po +++ mythtv-0.21.0+fixes18207/debian/po/es.po @@ -0,0 +1,402 @@ +# Spanish translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-09-18 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "¿Está bien crear los nodos del dispositivo video4linux?" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "mythtv-setup debe ejecutarse para completar la instalación de MythTV" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"Debe ejecutar mythtv-setup como un usuario que pertenezca al grupo 'mythtv' " +"para completar la configuración de mythtv. Note que este programa requiere " +"una visualización X, así que debe o entrar a una sesión X como un usuario " +"que pertenezca al grupo 'mythtv', o disponer el acceso a una visualización X " +"para ese usuario." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "Debe completar los cuatro pasos que se presentan en el programa." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" +"Una vez que ha hecho esto, puede iniciar el entorno ejecutando la orden " +"siguiente:" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" +"Qué base de datos debe utilizarse para guardar la información de MythTV:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "Si ya existe una base de datos con este nombre, se usará esa." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" +"Qué nombre de usuario debe utilizar MythTV para acceder a su base de datos:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" +"Este usuario recibirá automáticamente los permisos apropiados a la base de " +"datos." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "Qué contraseña debe utilizar MythTV para acceder a su base de datos:" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "Si introduce una contraseña vacía, se creará una aleatoria." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "En qué anfitrión reside el servidor MySQL:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"Debe ejecutar mythtv-setup como un usuario del grupo 'mythtv' para completar " +"la configuración." + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" +"Si no está en el grupo de mythtv cuando se inicie la instalación, se le dará " +"la oportunidad de añadirse automáticamente." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "Los paquetes MythTV de Ubuntu generan una contraseña MySQL aleatoria." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" +"La contraseña generada para esta máquina es '${password}'. Si está agregando " +"esta máquina a una red mythtv existente, tal vez quiera actualizar esta " +"contraseña a una en uso por la red después de completar la instalación." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "Esto puede se puede hacer con: 'sudo dpkg-reconfigure mythtv-common'." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" +"En caso de que olvide esta contraseña, esta se encuentra almacenada en '/etc/" +"mythtv/mysql.txt'." + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" +"Qué capturador de XMLTV debe usarse para recuperar las listas de programas:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" +" - tv_grab_na recupera listas de América Del Norte (EE. UU. y Canadá)\n" +"- tv_grab_de recupera listas de Alemania y Austria\n" +"- tv_grab_sn recupera listas de Suecia y Noruega\n" +"- tv_grab_uk recupera listas del Reino Unido\n" +"- tv_grab_uk_rt recupera listas del Reino Unido (alternativo)" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "Qué estándar de televisión debe utilizar MythTV:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "Qué tabla de frecuencias de canales debe utilizar MythTV:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "AVISO: se han encontrado antiguos binarios de MythTV" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"Aparentemente ha instalado mythtv desde el código fuente anteriormente, y " +"quedan algunos archivos de la instalación previa, que incluyen por lo menos:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"La instalación de estos paquetes será un éxito, pero DEBE eliminar estos " +"archivos para que la versión empaquetada de MythTV trabaje apropiadamente." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Cuál es el nombre de la cuenta de administrador de MySQL:" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" +"Esta información se usará para crear una base de datos y un usuario para " +"MythTV." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"Salvo que haya cambiado explícitamente esto en el servidor MySQL y " +"entendido el sistema de privilegios de MySQL, use por defecto «root»." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" +"Cuál es la contraseña para la cuenta de administrador de MySQL '${user}':" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" +"Salvo que haya cambiado explícitamente la contraseña en el servidor MySQL, " +"deje esto en blanco." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "¿Va a utilizar otros equipos ejecutando MythTV?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +#, fuzzy +#| msgid "" +#| "If you will be using any other computers with MythTV, this computer needs " +#| "to be configured to allow remote connections. Do you want to enable " +#| "remote connectivity?" +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" +"Si va a usar algún otro equipo con MythTV, este equipo debe configurarse " +"para permitir conexiones remotas. ¿Desea activar la conectividad remota?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" +"Sea consciente de que esto es un riesgo para la seguridad, puesto que tanto " +"el servicio de MythTV como el de MySQL serán visibles. Asegúrese de colocar " +"esta máquina detrás de un cortafuegos." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" +"Si tiene varias interfaces, será utilizada la primera que aparezca en " +"'ifconfig'." + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" +"Cuál es el nombre de host del sistema donde está instalado el backend de " +"MythTV:" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "En qué número de puerto está escuchando el servidor MythTV:" --- mythtv-0.21.0+fixes18207.orig/debian/po/de.po +++ mythtv-0.21.0+fixes18207/debian/po/de.po @@ -0,0 +1,395 @@ +# translation of de.po to Deutsch +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: de\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-06-05 12:54+0200\n" +"Last-Translator: laga\n" +"Language-Team: Deutsch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "Wäre es in Ordnung, die Geräteknoten für video4linux anzulegen?" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" +"mythtv-setup muss gestartet werden, um die Installation von MythTV " +"abzuschließen" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +#, fuzzy +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"Sie müssen mythtv-setup unter dem Benutzer 'mythtv' starten, um mythtv " +"einzurichten. Bedenken Sie bitte, dass dieses Programm ein X-Display " +"benötigt. Sie müssen sich entweder mit dem Benutzer 'mythtv' in einer X-" +"Sitzung anmelden oder ihm anderweitig Zugriff auf ihr X-Display gewähren." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" +"Sie müssen jeden der vier Schritte, die Ihnen dieses Programm vorgibt, " +"durchgehen." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +#, fuzzy +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" +"Wenn Sie dies getan haben, können Sie das Backend mit dem folgenden Befehl " +"(als root ausgeführt) starten:" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "Welche Datenbank soll die von MythTV benötigten Daten vorhalten:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" +"Falls eine Datenbank dieses Namens bereits existiert, wird sie benutzt " +"werden." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" +"Mit welchem Benutzernamen soll sich MythTV an seiner Datenbank anmelden?" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" +"Diesem Benutzer werden automatisch angemessene Zugriffsrechte für die " +"Datenbank gegeben." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "Mit welchem Passwort soll sich MythTV an seiner Datenbank anmelden?" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" +"Falls Sie ein leeres Passwort angeben, wird automatisch ein Zufallspasswort " +"erstellt." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "Auf welchem Host befindet sich der MySQL-Server?" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +#, fuzzy +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"Sie müssen mythtv-setup als Benutzer 'mythtv' starten, um die Konfiguration " +"von mythtv abzuschließen. Zum Beispiel: als root:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "Mit welchem XMLTV-Grabber möchten Sie EPG-Daten abrufen?" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "Welchen TV-Standard soll MythTV verwenden?" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "Welche Kanaltabelle soll MythTV benutzen?" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "Warnung: alte MythTV-Binaries (-Programme) gefunden" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"Es scheint als hätten Sie MythTV bereits manuell mittels des Quelltextes " +"installiert. Einige Dateien aus der alten Installation sind noch vorhanden. " +"Dazu gehören unter anderem:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"Die Installation dieser Pakete sollte funktionieren, aber sie MÜSSEN diese " +"Dateien entfernen, damit diese paketierte Version von MythTV ordnungsgemäß " +"funktioniert." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Wie ist der Benutzername des Administrator-Accounts von MySQL?" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +#, fuzzy +msgid "This information will be used to create a database and user for MythTV." +msgstr "" +"Diese Angaben werden benutzt, um eine Datenbank und einen Benutzer für " +"MythTV zu erstellen." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"Falls Sie dies nicht ausdrücklich im MySQL-Server verändert haben und die " +"Benutzer- und Rechteverwaltung von MySQL verstehen, benutzen Sie den " +"Standardwert 'root'." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "Wie lautet das Passwort für den Administrator-Account von MySQL?" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" +"Falls Sie diesen Wert nicht ausdrück im MySQL-Server verändert haben, lassen " +"Sie bitte dieses Feld leer." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" +"Wie lautet der Hostname des Systems, auf dem das Backend von MythTV " +"installiert ist?" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "Auf welchem Port ist der MythTV-Server erreichbar?" + +#~ msgid "" +#~ "and follow any instructions that it gives. Once you have done this, you " +#~ "should be able to run mythtv as the 'mythtv' user." +#~ msgstr "" +#~ "und befolgen Sie die dortigen Anweisungen. Anschließend sollten Sie in " +#~ "der Lage sein, mythtv unter dem Benutzer 'mythtv' zu starten." --- mythtv-0.21.0+fixes18207.orig/debian/po/it.po +++ mythtv-0.21.0+fixes18207/debian/po/it.po @@ -0,0 +1,406 @@ +# Italian translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-09-27 09:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "Creare i nodi per il device video4linux?" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" +"mythtv-setup deve essere eseguito per completare l'installazione di MythTV" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"È necessario eseguire mythtv-setup come un utente nel gruppo \"mythtv\" per " +"poter configurare completamente mythtv. Questo programma richiede un display " +"X, potrebbe quindi essere necessario accedere a una sessione X come l'utente " +"appartenente al gruppo \"mythtv\" oppure fare in modo che quell'utente abbia " +"accesso al proprio display X." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" +"È necessario completare tutti e quattro i passi presentati in questo " +"programma." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" +"Uno volta fatto questo, è possibile avviare il backend eseguendo il comando " +"seguente:" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "Il database da usare per archiviare i dati MythTV:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "Se esiste già un database con questo nome, verrà usato." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "Il nome utente da usare per accedere al database:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" +"A questo utente saranno concessi automaticamente i permessi necessari per il " +"database." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "La password da usare per accedere al database:" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "Non scrivendo alcuna password ne verrà generata una casuale." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "L'host in cui si trova il database MySQL:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"È necessario avviare \"mythtv-setup\" come un utente nel gruppo \"mythtv\" " +"per completare la configurazione di mythtv." + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" +"Se non si è nel gruppo mythtv quando viene lanciata la configurazione, è " +"possibile aggiungersi automaticamente." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "Il pacchetto MythTV di Ubuntu genera una password MySQL casuale." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" +"La password generata è \"${password}\". Nel caso si stia aggiungendo questo " +"computer all'interno di una mythtv-network, potrebbe essere necessario, al " +"termine dell'installazione, aggiornare la password con quella in uso nella " +"rete." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" +"Questo può essere fatto con il comando: \"sudo dpkg-reconfigure mythtv-common" +"\"." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" +"Nel caso in cui la password venga persa, è archiviata in \"/etc/mythtv/mysql." +"txt\"." + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" +"Quale strumento XMLTV usare per ottenere gli elenchi della programmazione:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" +" - tv_grab_na recupera gli elenchi per il nord Americo (US e Canada)\n" +" - tv_grab_de recupera gli elenchi per Germani e Austria\n" +" - tv_grab_sn recupera gli elenchi per Svezia e Norvegia\n" +" - tv_grab_uk recupera gli elenchi per la Gran Bretegna\n" +" - tv_grab_uk_rt retrieves recupera gli elenchi per la Gran Bretagna " +"(alternativo)" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "Lo standard televisivo da usaer con MythTV:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "La frequanza del canale da usare con MythTV:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "Attenzione: trovati binari di una vecchia versione di MythTV" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"Sembra che mythtv sia stato installato da sorgenti e sono rimasti alcuni " +"file dell'installazione precedente, compresi:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"L'installazione di questi pacchetti dovrebbe avere successo, ma è necessario " +"rimuovere questi file per fare in modo che la versione di MythTV " +"pacchettizzata funzioni correttamente." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Nome dell'account amministratore di MySQL:" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" +"Questa informazioni verrà utilizzata per creare un database e un utente per " +"MythTV." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"A meno che non sia stato cambiato nel server MySQL e si comprende il sistema " +"dei privilegi di MySQL, usare il predefinito di \"root\"." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "Password per l'account amministratore di MySQL \"${user}\":" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" +"A meno che non sia stata cambiata nel server MySQL, lasciare questo campo " +"vuoto." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "Verranno usati altri computer con MythTV?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +#, fuzzy +#| msgid "" +#| "If you will be using any other computers with MythTV, this computer needs " +#| "to be configured to allow remote connections. Do you want to enable " +#| "remote connectivity?" +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" +"Se verranno usati altri computer con MythTV, questo computer deve essere " +"configurato per consentire connessioni remote. Abilitare le connessioni " +"remote?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" +"Notare che potrebbe essere un rischio per la sicurezza, dato che entrambi i " +"servizi MythTV e MySQL saranno esposti. Assicurarsi di posizionare questo " +"computer dietro un firewall." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" +"Se si dispone di più di un'interfaccia, verrà usata la prima presente in " +"\"ifconfig\"." + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "Nome dell'host del sistema in cui è installato il backend MythTV:" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "Porta di ascolto del server MythTV:" --- mythtv-0.21.0+fixes18207.orig/debian/po/nl.po +++ mythtv-0.21.0+fixes18207/debian/po/nl.po @@ -0,0 +1,351 @@ +# Dutch translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/sv.po +++ mythtv-0.21.0+fixes18207/debian/po/sv.po @@ -0,0 +1,400 @@ +# Swedish translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-09-01 22:24+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "Är det OK att skapa video4linux-enhetsnoder?" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "mythtv-setup måste köras för att färdigställa installationen av MythTV" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"Du måste köra mythtv-setup som en användare i gruppen \"mythtv\" för att " +"färdigställa konfigurationen av mythtv. Observera att det här programmet " +"kräver en X-display så du måste antingen logga in i en X-session som en " +"användare i gruppen \"mythtv\" eller på andra sätt göra så att den " +"användaren får tillgång till din X-display." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "Du måste gå igenom alla fyra steg i programmet." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" +"När du är klar med det här kan du starta bakänden genom att köra följande " +"kommando:" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "Vilken databas ska användas för MythTV-data:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "Om en databas med det här namnet redan finns kommer den att användas." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "Vilket användarnamn ska MythTV använda för att komma åt dess databas:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" +"Den här användaren kommer automatiskt att ges lämpliga rättigheter i " +"databasen." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "Vilket lösenord ska MythTV använda för att komma åt dess databas:" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "Om du anger ett blankt lösenord kommer ett lösenord att slumpas fram." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "På vilken värd finns MySQL-servern:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"Du måste köra mythtv-setup som en användare i gruppen \"mythtv\" för att " +"färdigställa konfigurationen av MythTV." + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" +"Om du inte är medlem av gruppen mythtv när konfigurationen startas kommer du " +"att få möjligheten att läggas till automatiskt." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "Ubuntus MythTV-paket genererar ett slumpmässigt MySQL-lösenord." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" +"Det genererade lösenordet för den här maskinen är \"${password}\". Om du " +"lägger till den här maskinen till ett befintligt mythtv-network vill du " +"kanske uppdatera det här lösenordet till det som används av nätverket efter " +"att konfigurationen är färdig." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" +"Det här kan göras genom att köra \"sudo dpkg-reconfigure mythtv-common\"." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" +"Om du råkar glömma lösenordet så finns det även lagrat i \"/etc/mythtv/mysql." +"txt\"." + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" +"tv_grab_de, tv_grab_na, tv_grab_se_swedb, tv_grab_sn, tv_grab_uk, " +"tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "Vilken XMLTV-fångare ska användas för att hämta programtablåer:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" +" - tv_grab_na hämtar tablåer för Nordamerika (USA och Kanada)\n" +" - tv_grab_de hämtar tablåer för Tyskland och Österrika\n" +" - tv_grab_sn hämtar tablåer för Sverige och Norge\n" +" - tv_grab_uk hämtar tablåer för Storbritannien\n" +" - tv_grab_uk_rt hämtar tablåer för Storbritannien (alternativ)" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "Vilken tv-standard ska användas av MythTV:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "Vilken kanalfrekvenstabell ska användas av MythTV:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "VARNING: gamla MythTV-binärer hittades" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"Det verkar som om du tidigare har installerat mythtv från källkod och några " +"filer finns kvar från den tidigare installationen, bland annat dessa:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"Installationen av dessa paket bör fungera men du MÅSTE ta bort dessa filer " +"för att den paketerade versionen av MythTV ska fungera korrekt." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Vad är namnet på MySQL-administratörskontot:" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" +"Den här informationen kommer att användas för att skapa en databas och " +"användare för MythTV." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"Såvida du inte har uttryckligen ändrat det här på MySQL-servern och förstår " +"behörighetssystemet i MySQL kan du använda standardvärden för \"root\"." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "Vad är lösenordet för MySQL-administratörskontot \"${user}\":" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" +"Såvida du inte har uttryckligen ändrat lösenordet på MySQL-servern, lämna " +"det här blankt." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "Kommer du att använda andra datorer som kör MythTV?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +#, fuzzy +#| msgid "" +#| "If you will be using any other computers with MythTV, this computer needs " +#| "to be configured to allow remote connections. Do you want to enable " +#| "remote connectivity?" +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" +"Om du använder andra datorer med MythTV behöver den här datorn konfigureras " +"till att tillåta fjärranslutningar. Vill du aktivera fjärranslutningar?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" +"Observera att det här är en säkerhetsrisk eftersom både MythTV och MySQL-" +"tjänster kommer att exponeras. Försäkra dig om att den här maskinen står " +"bakom en brandvägg." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" +"Om du har flera gränssnitt kommer det första som listas i \"ifconfig\" att " +"användas." + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "Vad är värdnamnet på systemet där MythTV-bakänden finns installerad:" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "På vilket portnummer lyssnar MythTV-servern:" --- mythtv-0.21.0+fixes18207.orig/debian/po/pt_BR.po +++ mythtv-0.21.0+fixes18207/debian/po/pt_BR.po @@ -0,0 +1,352 @@ +# Brazilian Portuguese translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-08-31 15:38+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Brazilian Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "Se um banco de dados com este nome já existir, ele será utilizado." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" +"Isto pode ser finalizado através de: 'sudo dpkg-reconfigure mythtv-common'." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Qual o nome da conta administrativa do MySQL:" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/fr.po +++ mythtv-0.21.0+fixes18207/debian/po/fr.po @@ -0,0 +1,417 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2005 +# This file is distributed under the same license as the mythtv package. +# Chrstian Marillat , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv 0.18.1\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2005-12-23 15:48+0100\n" +"Last-Translator: Christian Marillat\n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +#, fuzzy +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" +"Étes vous d'accord pour créer les noeuds des périphériques vidéo4linux :" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "mythtv-setup doit être exécuter pour finir l'installation de MythTV." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +#, fuzzy +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"Vous devez exécuter mythtv-setup en tant qu'utilisateur 'mythtv' pour finir " +"la configuration. Notez que ce programme a besoin d'un interface graphique, " +"il faut donc vous connecter a une session X en tant qu'utilisateur 'mythtv, " +"ou vous arrangez pour donner accès à la session X pour cet utilisateur." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "Vous devez finir les 4 étapes présentées dans ce programme." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +#, fuzzy +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" +"Une fois que vous avez fini ceci, vous pouvez démarrer le 'backend' en " +"exécutant la commande suivante en tant que root :" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +#, fuzzy +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "/etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" +"Quelle base de donnée doit être utilisée pour stockée les donnée de MythTV :" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "Si une base de donnée avec ce nom existe déjà, elle sera utilisée." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" +"Quel est le nom de l'utilisateur que doit utiliser MythTV pour accéder à la " +"base de donnée :" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" +"Cet utilisateur aura automatiquement les bon droits pour gérer la base de " +"donnée." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" +"Quel est le mot de passe que MythTV doit utiliser pour accéder à la base de " +"donnée :" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "Si vous ne donnez pas de mot de passe, un mot aléatoire sera généré." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "Quel est le nom de la machine ou se trouve le serveur MySQL :" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +#, fuzzy +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"Vous devez exécuter mythtv-setup en tant qu'utilisateur 'mythtv' pour finir " +"la configuration de mythtv. Par exemple, en tant que root :" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "Quel est le nom du programme XMLTV qui doit être utilisé :" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "tv_grab_fr pour la France" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "Quel est le standard vidéo que doit utiliser MythTV :" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "Quel table de fréquence doit être utilisé par MythTV :" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "ATTENTION : un ancien binaire MythTV a été trouvé" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"Vous avez déjà installé mythtv à partir des sources, et quelques fichiers " +"sont encore présent, au moins ceux là :" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"L'installation de ses fichiers doit marcher, mais il est recommandé " +"d'enlever ses fichiers pour que le paquet marche correctement." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "Quel est le nom de l'administrateur MySQL :" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" +"Cet information sera utilisé pour créer la base de donnée et l'utilisateur " +"MythTV." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"A moins que vous ayez changé explicitement ceci sur le serveur MySQL, et " +"comprenez les privilèges d'un système MySQL, utilisez le défaut de 'root'." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "Quel est le mot de passe de l'administrateur MySQL '${user}' :" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" +"Sauf si vous avez changé le mot de passe du serveur MySQL, laissez celui-ci " +"vide." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "Quel est le nom de la machine ou MythTV backend est installé :" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "Quel est le numéro du port du serveur MythTV :" + +#~ msgid "mythconverg" +#~ msgstr "mythconverg" + +#~ msgid "mythtv" +#~ msgstr "mythtv" + +#~ msgid "localhost" +#~ msgstr "localhost" + +#~ msgid "su - mythtv -c mythtv-setup" +#~ msgstr "su - mythtv -c mythtv-setup" + +#~ msgid "" +#~ "and follow any instructions that it gives. Once you have done this, you " +#~ "should be able to run mythtv as the 'mythtv' user." +#~ msgstr "" +#~ "et suivre les instructions qu'il donne. Une fois fini ceci, vous devriez " +#~ "être capable d'utiliser mythtv en tant qu'utilisateur 'mythtv'." + +#~ msgid "NTSC, PAL, SECAM, PAL-NC, PAL-M, PAL-N, NTSC-JP" +#~ msgstr "NTSC, PAL, SECAM, PAL-NC, PAL-M, PAL-N, NTSC-JP" + +#~ msgid "" +#~ "us-bcast, us-cable, us-cable-hrc, japan-bcast, japan-cable, europe-west, " +#~ "europe-east, italy, newzealand, australia, ireland, france, china-bcast, " +#~ "southafrica, argentina, canada-cable, australia-optus" +#~ msgstr "" +#~ "us-bcast, us-cable, us-cable-hrc, japan-bcast, japan-cable, europe-west, " +#~ "europe-east, italy, newzealand, australia, ireland, france, china-bcast, " +#~ "southafrica, argentina, canada-cable, australia-optus" + +#~ msgid "root" +#~ msgstr "root" + +#~ msgid "6543" +#~ msgstr "6543" --- mythtv-0.21.0+fixes18207.orig/debian/po/zh_CN.po +++ mythtv-0.21.0+fixes18207/debian/po/zh_CN.po @@ -0,0 +1,351 @@ +# Simplified Chinese translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Simplified Chinese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/pl.po +++ mythtv-0.21.0+fixes18207/debian/po/pl.po @@ -0,0 +1,351 @@ +# Polish translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/fi.po +++ mythtv-0.21.0+fixes18207/debian/po/fi.po @@ -0,0 +1,351 @@ +# Finnish translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/po/POTFILES.in +++ mythtv-0.21.0+fixes18207/debian/po/POTFILES.in @@ -0,0 +1,4 @@ +[type: gettext/rfc822deb] mythtv-backend.templates +[type: gettext/rfc822deb] mythtv-common.templates +[type: gettext/rfc822deb] mythtv-database.templates +[type: gettext/rfc822deb] mythtv-frontend.templates --- mythtv-0.21.0+fixes18207.orig/debian/po/he.po +++ mythtv-0.21.0+fixes18207/debian/po/he.po @@ -0,0 +1,383 @@ +# Hebrew translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: 2007-09-08 21:57+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hebrew \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +#, fuzzy +msgid "Is it OK to create the video4linux device nodes?" +msgstr "האם זה בסדר ליצור את הקשרים להתקן video4linux?" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "עליך להריץ את mythtv-setup על מנת להשלים את התקנת MythTV" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" +"עליך להריץ את mythtv-setup בתור משתמש בקבוצת 'mythtv' על מנת להשלים את הגדרת " +"MythTV. סים לב שתוכנה זו דורשת תצוגת X, לכן עליך להתחבר בתור משתמש בתצורת X " +"בקבוצת 'mythtv', או שאחרת אפשר למשתמש זה לקבל גישה לתצוגת ה-X שלך." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "עליך להשלים את כל ארבעת הצעדים המוצגים בתוכנה." + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "לאחר שעשית זאת, תוכל להתחיל את מנוע הרקע על ידי הרצת הפקודה הבאה:" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "sudo /etc/init.d/mythtv-backend start" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "באיזה מסד נתונים יעשה שימוש על מנת לאחסן את נתוני MythTV:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "אם מסד נתונים עם שם זה כבר קיים, יעשה בו שימוש." + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "באיזה שם MythTV ישתמש על מנת לגשת למסד הנתונים:" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "משתמש זה יקבל את הרשאות הגישה המתאימות באופן אוטומטי למסד הנתונים." + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "באיזו סיסמא על MythTV להשתמש על מנת לגשת למסד הנתונים שלו:" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "אם תזין סיסמא ריקה, תיווצר סיסמא אקראית." + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "מהי כתובת מארח ה-MySQL:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" +"עליך להריץ את mythth-setup בתור משתמש בקבוצת 'mythtv' על מנת להשלים את הגדרת " +"mythtv." + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" +"אם אינך בקבוצת mythtv בזמן הפעלת ההתקנה, תינתן לך האפשרות להצטרף לקבוצה זו " +"באופן אוטומטי." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "חבילת ה-MythTV באובונטו תייצר סיסמאת MySQL אקראית." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" +"הסיסמא שיוצרה עבור מחשב זה הינה '${password}'. אם אתה מוסיף את המחשב הזה " +"לקבוצת מחשבי mythtv ייתכן ותרצה לעדכן את הסיסמא לאחת שתשמש את הרשת לאחר " +"השלמת ההתקנה." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "ניתן לעשות זאת על ידי: 'sudo dpkg-reconfigure mythtv-common'." + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "במידה ותשכח סיסמא זאת, היא גם תישמר במיקום '/etc/mythtv/mysql.txt'." + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "באיזה תופס XMLTV יש לעשות שימוש על מנת לאחזר לוחות שידורים:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" +" - tv_grab_na מאחזר את הרשימה עבור צפון אמריקה (ארה\"ב וקנדה)\n" +" - tv_grab_de מאחזר את הרשימות עבור גרמניה ואוסטריה\n" +" - tv_grab_sn מאחזר את הרשימות עבור נורבגיה\n" +" - tv_grab_uk מאחזר את הרשימות עבור אנגליה\n" +" - tv_grab_uk_rt מאחזר את הרשימות עבור אנגליה (חלופי)" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "באיזה תקן טלויזיה יש להשתמש עבור MythTV:" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "באיזו טבלת ערוצי תדרים יש לעשות שימוש עבור MythTV:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "אזהרה: נמצאו קבצים בינאריים ישנים של MythTV" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" +"נראה שהתקנת את mythtv מקבצי המקור קודם לכן, וכמה קבצים נשארו מההתקנה הקודמת, " +"נכללים לפחות:" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "${files}" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" +"התקנת חבילות אלה אמורה להצליח, אך עליך להסיר קבצים אלה על מנת שהגירסא הארוזה " +"של MythTV תעבוד כהלכה." + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "מהו שם חשבון המנהל של ה-MySQL:" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "מידע זה ישמש ליצירת מסד נתונים ומשתמש עבור MythTV." + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" +"אלא אם אם שינית זאת מפורשות בשרת ה-MySQL, והבנת את מערכת ההרשאות של MySQLף " +"השתמש בברירת המחדל 'root'." + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "מהי הסיסמא עבור חשבון מנהל ה-MySQL '${user}':" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "אלא אם כן שינית את הסיסמא עבור שרת ה-MySQl מפורשות, השאר זאת ריק." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "האם תשתמש במחשבים אחרים המריצים MythTV?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +#, fuzzy +#| msgid "" +#| "If you will be using any other computers with MythTV, this computer needs " +#| "to be configured to allow remote connections. Do you want to enable " +#| "remote connectivity?" +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" +"אם תעשה שימוש במחשבים נוספים עם MythTV, על מחשב זה להיות מוגדר על מנת לאפשר " +"התחברות מרוחקת. האם ברצונך לאפשר התחברות מרחוק?" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" +"שים לב שזוהי פירצת אבטחה, בעוד שגם שירותי ה-MythTV וה-MySQL יהיו חשופים. " +"וודא שמחשב זה יהיה מאחורי חומת אש (Firewall)." + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" +"אם יש ברשותך מספר ממשקי רשת, יעשה שימוש בממשק המופיע ראשון ב-'ifconfig'." + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "מהו שם המארח של המערכת בה מותקן מנוע הרקע של MythTV:" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "לאיזה מספר יציאה מאזין שרת ה-MythTV:" --- mythtv-0.21.0+fixes18207.orig/debian/po/ca.po +++ mythtv-0.21.0+fixes18207/debian/po/ca.po @@ -0,0 +1,351 @@ +# Catalan translation for mythtv +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mythtv package. +# FIRST AUTHOR , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mythtv\n" +"Report-Msgid-Bugs-To: ubuntu-mythtv@lists.ubuntu.com\n" +"POT-Creation-Date: 2007-08-08 01:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Catalan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2007-10-05 08:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. Type: boolean +#. Description +#: ../mythtv-backend.templates:1001 +msgid "Is it OK to create the video4linux device nodes?" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 ../mythtv-common.templates:5001 +msgid "mythtv-setup must be run in order to complete MythTV installation" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration. Note that this program requires an X " +"display, so you must either login to an X session as a user in the 'mythtv' " +"group, or otherwise arrange for that user to have access to your X display." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "You must complete all four steps presented in the program." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "" +"Once you have done this, you may start the backend by executing the " +"following command:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-backend.templates:2001 +msgid "sudo /etc/init.d/mythtv-backend start" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "What database should be used to hold MythTV data:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:1001 +msgid "If a database with this name already exists, it will be used." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "What username should MythTV use to access its database:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:2001 +msgid "" +"This user will automatically be granted appropriate permissions to the " +"database." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "What password should MythTV use to access its database:" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-common.templates:3001 +msgid "If you give an empty password, a random one will be generated." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-common.templates:4001 +msgid "On what host does the MySQL server reside:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"You must run mythtv-setup as a user in the 'mythtv' group in order to " +"complete mythtv configuration." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:5001 +msgid "" +"If you are not in the mythtv group when launching setup, you will be given " +"the opportunity to be automatically added." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "The Ubuntu MythTV packages generate a random MySQL password." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"The generated password for this machine is '${password}'. If you are adding " +"this machine to an existing mythtv-network, you will want to update this " +"password to the one in use by the network after completing installation." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "This can be done by: 'sudo dpkg-reconfigure mythtv-common'." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:6001 +msgid "" +"In case you forget this password, it is also stored in '/etc/mythtv/mysql." +"txt'." +msgstr "" + +#. Type: select +#. Choices +#: ../mythtv-common.templates:7001 +msgid "tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "Which XMLTV grabber should be used to retrieve program listings:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:7002 +msgid "" +" - tv_grab_na retrieves listings for North America (US and Canada)\n" +" - tv_grab_de retrieves listings for Germany and Austria\n" +" - tv_grab_sn retrieves listings for Sweden or Norway\n" +" - tv_grab_uk retrieves listings for the United Kingdom\n" +" - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate)" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:8001 +msgid "Which television standard should be used by MythTV:" +msgstr "" + +#. Type: select +#. Description +#: ../mythtv-common.templates:9001 +msgid "Which channel frequency table should be used by MythTV:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "WARNING: old MythTV binaries found" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"It appears that you have installed mythtv from source previously, and some " +"files remain from the previous installation, including at least:" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "${files}" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:10001 +msgid "" +"Installation of these packages should succeed, but you MUST remove these " +"files in order for the packaged version of MythTV to work properly." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Warning! These packages are experimental! Install?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "" +"You are about to install MythTV packages created from SVN trunk. These " +"packages should be considered experimental and may well break your existing " +"setup." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-common.templates:11001 +msgid "Choose \"Yes\" if you want to proceed at your own risk." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "Install canceled!" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"You have chosen to cancel the installation of the experimental MythTV " +"packages." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-common.templates:12001 +msgid "" +"Please use your favourite package manager (e.g. adept, synaptic or aptitude) " +"to remove these packages or to downgrade to a more stable version of MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "What is the name of the MySQL administrator account:" +msgstr "" + +#. Type: string +#. Description +#. Type: password +#. Description +#: ../mythtv-database.templates:1001 ../mythtv-database.templates:2001 +msgid "This information will be used to create a database and user for MythTV." +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-database.templates:1001 +msgid "" +"Unless you have explicitly changed this on the MySQL server, and understand " +"MySQL's privilege system, use the default of 'root'." +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "What is the password for the MySQL administrator account '${user}':" +msgstr "" + +#. Type: password +#. Description +#: ../mythtv-database.templates:2001 +msgid "" +"Unless you have explicitly changed the password on the MySQL server, leave " +"this blank." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "Will you be using other computers running MythTV?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you will be using any other computers (that includes other Front End " +"machines) with MythTV, this computer needs to be configured to allow remote " +"connections. Do you want to enable remote connectivity?" +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"Note that this is a security risk, as both the MythTV and MySQL services " +"will be exposed. Be sure to place this machine behind a firewall." +msgstr "" + +#. Type: boolean +#. Description +#: ../mythtv-database.templates:3001 +msgid "" +"If you have multiple interfaces, the first one listed in 'ifconfig' will be " +"used." +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "A backup of your database will be made" +msgstr "" + +#. Type: note +#. Description +#: ../mythtv-database.templates:4001 +msgid "" +"We'll now make a backup of your \"mythconverg\" database which holds all " +"your current settings. This database dump allows you to go back to your " +"previous packages more easily in case something breaks. It can usually be " +"found at /var/backups/mythconverg.sql.gz" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:1001 +msgid "" +"What is the hostname of the system where the MythTV backend is installed:" +msgstr "" + +#. Type: string +#. Description +#: ../mythtv-frontend.templates:2001 +msgid "On what port number is the MythTV server listening:" +msgstr "" --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-reconfigure-required.update-notifier +++ mythtv-0.21.0+fixes18207/debian/mythtv-reconfigure-required.update-notifier @@ -0,0 +1,16 @@ +Name: MythTV-Database reconfigure required +Priority: High +Terminal: False +DontShowAfterReboot: True +Description: The mythtv-database package was upgraded or installed, but was unable + to contact a MySQL server. + . + If you were in the process of dist-upgrading, this is normal as mysql-server + is stopped for a portion of the upgrade. + . + If this is a fresh package installation, verify that mysql-server is installed + and running. Once you have verified the server is running, you can reconfigure + the package by running 'sudo dpkg-reconfigure mythtv-database'. + . + If your root password or location of the MySQL server are non standard, you can + also update them via 'sudo dpkg-reconfigure mythtv-database'. --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.init +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.init @@ -0,0 +1,99 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: mythtv-backend +# Required-Start: $local_fs $remote_fs $network +# Required-Stop: $local_fs +# Default-Start: 50 +# Default-Stop: S +# Short-Description: Start/Stop the MythTV server. +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/mythbackend +NAME="mythbackend" +DESC="MythTV server" + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +set -e + +prime_firewire() +{ + if [ "$ENABLE_FIREWIRE" = "TRUE" ]; then + log_daemon_msg "Priming Firewire " + su - $USER -c "/usr/bin/mythprime" + log_end_msg $? + fi +} + +USER=mythtv +USER_HOME=$(grep ^$USER /etc/passwd | awk -F : '{print $6}') +RUNDIR=/var/run/mythtv +ARGS="--daemon --logfile /var/log/mythtv/mythbackend.log --pidfile $RUNDIR/$NAME.pid" +EXTRA_ARGS="" +NICE=0 + +if [ -f /etc/default/mythtv-backend ]; then + . /etc/default/mythtv-backend +fi + +ARGS="$ARGS $EXTRA_ARGS" + +mkdir -p $RUNDIR +chown -R $USER $RUNDIR + +unset DISPLAY +unset SESSION_MANAGER + +#create a symbolic link for mysql.txt so it can't be overwritten +mkdir -p $USER_HOME/.mythtv +chown -R $USER $USER_HOME/.mythtv +if [ ! -e $USER_HOME/.mythtv/mysql.txt ]; then + ln -s /etc/mythtv/mysql.txt $USER_HOME/.mythtv/mysql.txt +fi + +case "$1" in + start) + if [ -e $RUNDIR/$NAME.pid ]; then + PIDDIR=/proc/$(cat $RUNDIR/$NAME.pid) + if [ -d ${RUNDIR} -a "$(readlink -f ${RUNDIR}/exe)" = "${DAEMON}" ]; then + log_success_msg "$DESC already started; use restart instead." + exit 1 + else + log_success_msg "Removing stale PID file $RUNDIR/$NAME" + rm -f $RUNDIR/$NAME.pid + fi + fi + prime_firewire + log_daemon_msg "Starting $DESC: $NAME " + start-stop-daemon --start --pidfile $RUNDIR/$NAME.pid \ + --chuid $USER --nicelevel $NICE --exec $DAEMON -- $ARGS + log_end_msg $? + ;; + stop) + log_daemon_msg "Stopping $DESC: $NAME " + start-stop-daemon --stop --oknodo --pidfile $RUNDIR/$NAME.pid \ + --chuid $USER --exec $DAEMON -- $ARGS + log_end_msg $? + test -e $RUNDIR/$NAME.pid && rm $RUNDIR/$NAME.pid + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC: $NAME " + start-stop-daemon --stop --oknodo --pidfile $RUNDIR/$NAME.pid \ + --chuid $USER --exec $DAEMON -- $ARGS + sleep 3 + prime_firewire + start-stop-daemon --start --pidfile $RUNDIR/$NAME.pid \ + --chuid $USER --nicelevel $NICE --exec $DAEMON -- $ARGS + log_end_msg $? + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 2 + ;; +esac + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv.desktop +++ mythtv-0.21.0+fixes18207/debian/mythtv.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=MythTV Frontend +Comment=A frontend for all content on a mythtv-backend +GenericName=MythTV Viewer +Exec=mythfrontend --service +Type=Application +Encoding=UTF-8 +Icon=/usr/share/mythtv/themes/blue/myth_tv_logo.png +Categories=GNOME;Application;AudioVideo;Audio;Video +X-AppInstall-Package=mythtv --- mythtv-0.21.0+fixes18207.orig/debian/mplayer-config +++ mythtv-0.21.0+fixes18207/debian/mplayer-config @@ -0,0 +1,2 @@ +# Write your default config options here! +stop-xscreensaver=1 --- mythtv-0.21.0+fixes18207.orig/debian/41-mythtv-permissions.rules +++ mythtv-0.21.0+fixes18207/debian/41-mythtv-permissions.rules @@ -0,0 +1,5 @@ +#For firewire capture devices, we need access rights +#to raw1394. Note, that this may be a security risk +#because devices on firewire can then do anything they +#please as root on your system. +KERNEL=="raw1394", GROUP="mythtv" --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-common.templates +++ mythtv-0.21.0+fixes18207/debian/mythtv-common.templates @@ -0,0 +1,95 @@ +Template: mythtv/mysql_mythtv_dbname +Type: string +Default: mythconverg +_Description: What database should be used to hold MythTV data: + If a database with this name already exists, it will be used. + +Template: mythtv/mysql_mythtv_user +Type: string +Default: mythtv +_Description: What username should MythTV use to access its database: + This user will automatically be granted appropriate permissions to the + database. + +Template: mythtv/mysql_mythtv_password +Type: password +_Description: What password should MythTV use to access its database: + If you give an empty password, a random one will be generated. + +Template: mythtv/mysql_host +Type: string +Default: localhost +_Description: On what host does the MySQL server reside: + +Template: mythtv/run_setup +Type: note +_Description: mythtv-setup must be run in order to complete MythTV installation + You must run mythtv-setup as a user in the 'mythtv' group in order to complete mythtv + configuration. + . + If you are not in the mythtv group when launching setup, you will be given + the opportunity to be automatically added. + +Template: mythtv/display_password +Type: note +_Description: The Ubuntu MythTV packages generate a random MySQL password. + The generated password for this machine is '${password}'. If you are + adding this machine to an existing mythtv-network, you will want to update + this password to the one in use by the network after completing installation. + . + This can be done by: 'sudo dpkg-reconfigure mythtv-common'. + . + In case you forget this password, it is also stored in '/etc/mythtv/mysql.txt'. + +Template: mythtv/grabber +Type: select +_Choices: tv_grab_de, tv_grab_na, tv_grab_sn, tv_grab_uk, tv_grab_uk_rt +Default: tv_grab_na +_Description: Which XMLTV grabber should be used to retrieve program listings: + - tv_grab_na retrieves listings for North America (US and Canada) + - tv_grab_de retrieves listings for Germany and Austria + - tv_grab_sn retrieves listings for Sweden or Norway + - tv_grab_uk retrieves listings for the United Kingdom + - tv_grab_uk_rt retrieves listings for the United Kingdom (alternate) + +Template: mythtv/tv_format +Type: select +Choices: NTSC, PAL, SECAM, PAL-NC, PAL-M, PAL-N, NTSC-JP +Default: NTSC +_Description: Which television standard should be used by MythTV: + +Template: mythtv/freqtable +Type: select +Choices: us-bcast, us-cable, us-cable-hrc, japan-bcast, japan-cable, europe-west, europe-east, italy, newzealand, australia, ireland, france, china-bcast, southafrica, argentina, canada-cable, australia-optus +Default: us-cable +_Description: Which channel frequency table should be used by MythTV: + +Template: mythtv/old_bins +Type: note +_Description: WARNING: old MythTV binaries found + It appears that you have installed mythtv from source previously, and some + files remain from the previous installation, including at least: + . + ${files} + . + Installation of these packages should succeed, but you MUST remove these + files in order for the packaged version of MythTV to work properly. + +Template: mythtv/svn_warning +Type: boolean +_Description: Warning! These packages are experimental! Install? + You are about to install MythTV packages created from SVN trunk. + These packages should be considered experimental and may well + break your existing setup. + . + Choose "Yes" if you want to proceed at your own risk. + +Template: mythtv/abort_svn_install +Type: note +_Description: Install canceled! + You have chosen to cancel the installation of + the experimental MythTV packages. + . + Please use your favourite package manager (e.g. adept, + synaptic or aptitude) to remove these packages or + to downgrade to a more stable version of MythTV. --- mythtv-0.21.0+fixes18207.orig/debian/patches/09_perl_bindings_prefix.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/09_perl_bindings_prefix.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 09_perl_bindings_prefix.dpatch by laga <> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Force PERL bindings to be installed into $PREFIX + +@DPATCH@ +diff -urNad mythtv-0.21.0~fixes16127~/bindings/perl/perl.pro mythtv-0.21.0~fixes16127/bindings/perl/perl.pro +--- mythtv-0.21.0~fixes16127~/bindings/perl/perl.pro 2008-02-16 19:21:09.000000000 -0600 ++++ mythtv-0.21.0~fixes16127/bindings/perl/perl.pro 2008-02-17 20:53:13.000000000 -0600 +@@ -4,12 +4,12 @@ + + mythperlbindings.target = Makefile.perl + mythperlbindings.depends = Makefile.PL +-contains(PREFIX, ^/usr(/local)?/?$) { +- mythperlbindings.commands = perl Makefile.PL MAKEFILE=Makefile.perl +-} +-else { ++#contains(PREFIX, ^/usr(/local)?/?$) { ++# mythperlbindings.commands = perl Makefile.PL MAKEFILE=Makefile.perl ++#} ++#else { + mythperlbindings.commands = perl Makefile.PL MAKEFILE=Makefile.perl PREFIX=$${PREFIX} +-} ++#} + + mythperbindingsbuild.target = perl_build + mythperbindingsbuild.depends = Makefile.perl +@@ -20,7 +20,7 @@ + + perl_install.target = install + perl_install.depends = all +-perl_install.commands = $(MAKE) -f Makefile.perl pure_install PERL_INSTALL_ROOT="$(INSTALL_ROOT)" ++perl_install.commands = $(MAKE) -f Makefile.perl pure_install INSTALLDIRS=vendor PREFIX="../../debian/libmyth-perl/usr" + + QMAKE_LINK=@-echo + PRE_TARGETDEPS += perl_build --- mythtv-0.21.0+fixes18207.orig/debian/patches/12_add_firewire_tester.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/12_add_firewire_tester.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 12_add_firewire_tester.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mythtv-0.21.0~/programs/firewire_tester/firewire_tester.pro mythtv-0.21.0/programs/firewire_tester/firewire_tester.pro +--- mythtv-0.21.0~/programs/firewire_tester/firewire_tester.pro 1969-12-31 18:00:00.000000000 -0600 ++++ mythtv-0.21.0/programs/firewire_tester/firewire_tester.pro 2008-03-16 20:13:12.000000000 -0500 +@@ -0,0 +1,14 @@ ++include ( ../../config.mak ) ++include ( ../../settings.pro ) ++include ( ../../version.pro ) ++include ( ../programs-libs.pro ) ++ ++TEMPLATE = app ++CONFIG += thread ++TARGET = firewire_tester ++target.path = $${PREFIX}/bin ++INSTALLS = target ++ ++QMAKE_CLEAN += $(TARGET) ++ ++SOURCES += firewire_tester.c +diff -urNad mythtv-0.21.0~/programs/programs.pro mythtv-0.21.0/programs/programs.pro +--- mythtv-0.21.0~/programs/programs.pro 2008-03-16 20:13:12.000000000 -0500 ++++ mythtv-0.21.0/programs/programs.pro 2008-03-16 20:13:12.000000000 -0500 +@@ -13,6 +13,7 @@ + using_backend { + SUBDIRS += mythbackend mythfilldatabase mythtv-setup + SUBDIRS += mythprime ++ SUBDIRS += firewire_tester + } + + using_frontend:using_backend { --- mythtv-0.21.0+fixes18207.orig/debian/patches/26_h264_ffmpeg_merge.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/26_h264_ffmpeg_merge.dpatch @@ -0,0 +1,11227 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 26_h264_ffmpeg_merge.dpatch by Michael Haas +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Pull h264.c updates and related changesets from ffmpeg trunk +## DP: See http://svn.mythtv.org/trac/ticket/5645 for upstream inclusion status +## DP: h264-resync-fixes.tar.gz in that ticket contains the complete patch +## DP: series + +@DPATCH@ + +Index: mythtv/libs/libavutil/mathematics.c +=================================================================== +--- mythtv/libs/libavutil/mathematics.c (revision 18209) ++++ mythtv/libs/libavutil/mathematics.c (working copy) +@@ -113,7 +113,7 @@ + #if 0 + #include "integer.h" + #undef printf +-main(){ ++main(void){ + int64_t a,b,c,d,e; + + for(a=7; a<(1LL<<62); a+=a/3+1){ +Index: mythtv/libs/libavutil/crc.c +=================================================================== +--- mythtv/libs/libavutil/crc.c (revision 18209) ++++ mythtv/libs/libavutil/crc.c (working copy) +@@ -107,7 +107,7 @@ + + #ifdef TEST + #undef printf +-main(){ ++main(void){ + uint8_t buf[1999]; + int i; + int p[4][4]={{1, 32, AV_CRC_32_IEEE_LE, 0x3D5CDD04}, +Index: mythtv/libs/libavutil/md5.c +=================================================================== +--- mythtv/libs/libavutil/md5.c (revision 18209) ++++ mythtv/libs/libavutil/md5.c (working copy) +@@ -164,7 +164,7 @@ + #ifdef TEST + #include + #undef printf +-main(){ ++main(void){ + uint64_t md5val; + int i; + uint8_t in[1000]; +Index: mythtv/libs/libavutil/lls.c +=================================================================== +--- mythtv/libs/libavutil/lls.c (revision 18209) ++++ mythtv/libs/libavutil/lls.c (working copy) +@@ -113,7 +113,7 @@ + #include + #include + +-int main(){ ++int main(void){ + LLSModel m; + int i, order; + +Index: mythtv/libs/libavutil/tree.c +=================================================================== +--- mythtv/libs/libavutil/tree.c (revision 18209) ++++ mythtv/libs/libavutil/tree.c (working copy) +@@ -132,7 +132,7 @@ + return a-b; + } + +-int main(){ ++int main(void){ + int i,j,k; + AVTreeNode *root= NULL; + +Index: mythtv/libs/libavutil/softfloat.c +=================================================================== +--- mythtv/libs/libavutil/softfloat.c (revision 18209) ++++ mythtv/libs/libavutil/softfloat.c (working copy) +@@ -27,7 +27,7 @@ + + #undef printf + +-int main(){ ++int main(void){ + SoftFloat one= av_int2sf(1, 0); + SoftFloat sf1, sf2; + double d1, d2; +Index: mythtv/libs/libavutil/aes.c +=================================================================== +--- mythtv/libs/libavutil/aes.c (revision 18209) ++++ mythtv/libs/libavutil/aes.c (working copy) +@@ -194,7 +194,7 @@ + #ifdef TEST + #include "log.h" + +-int main(){ ++int main(void){ + int i,j; + AVAES ae, ad, b; + uint8_t rkey[2][16]= { +Index: mythtv/libs/libavutil/mem.h +=================================================================== +--- mythtv/libs/libavutil/mem.h (revision 18209) ++++ mythtv/libs/libavutil/mem.h (working copy) +@@ -28,8 +28,10 @@ + + #ifdef __GNUC__ + #define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) ++ #define DECLARE_ASM_CONST(n,t,v) static const t v attribute_used __attribute__ ((aligned (n))) + #else + #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v ++ #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v + #endif + + /** +Index: mythtv/libs/libavutil/adler32.c +=================================================================== +--- mythtv/libs/libavutil/adler32.c (revision 18209) ++++ mythtv/libs/libavutil/adler32.c (working copy) +@@ -54,7 +54,7 @@ + #include "log.h" + #define LEN 7001 + volatile int checksum; +-int main(){ ++int main(void){ + int i; + char data[LEN]; + av_log_level = AV_LOG_DEBUG; +Index: mythtv/libs/libavutil/sha1.c +=================================================================== +--- mythtv/libs/libavutil/sha1.c (revision 18209) ++++ mythtv/libs/libavutil/sha1.c (working copy) +@@ -149,7 +149,7 @@ + #include + #undef printf + +-int main(){ ++int main(void){ + int i, k; + AVSHA1 ctx; + unsigned char digest[20]; +Index: mythtv/libs/libavutil/integer.c +=================================================================== +--- mythtv/libs/libavutil/integer.c (revision 18209) ++++ mythtv/libs/libavutil/integer.c (working copy) +@@ -171,7 +171,7 @@ + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 + }; + +-main(){ ++main(void){ + int64_t a,b; + + for(a=7; a<256*256*256; a+=13215){ +Index: mythtv/libs/libavutil/common.h +=================================================================== +--- mythtv/libs/libavutil/common.h (revision 18209) ++++ mythtv/libs/libavutil/common.h (working copy) +@@ -57,6 +57,14 @@ + #endif + #endif + ++#ifndef av_cold ++#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 2) ++# define av_cold __attribute__((cold)) ++#else ++# define av_cold ++#endif ++#endif ++ + #ifdef HAVE_AV_CONFIG_H + # include "internal.h" + #endif /* HAVE_AV_CONFIG_H */ +@@ -89,7 +97,9 @@ + #define FFSIGN(a) ((a) > 0 ? 1 : -1) + + #define FFMAX(a,b) ((a) > (b) ? (a) : (b)) ++#define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c) + #define FFMIN(a,b) ((a) > (b) ? (b) : (a)) ++#define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c) + + #define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) + +Index: mythtv/libs/libavcodec/dvbsubdec.c +=================================================================== +--- mythtv/libs/libavcodec/dvbsubdec.c (revision 18209) ++++ mythtv/libs/libavcodec/dvbsubdec.c (working copy) +@@ -340,7 +340,7 @@ + av_log(0, AV_LOG_ERROR, "Memory deallocation error!\n"); + } + +-static int dvbsub_init_decoder(AVCodecContext *avctx) ++static av_cold int dvbsub_init_decoder(AVCodecContext *avctx) + { + int i, r, g, b, a = 0; + DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; +@@ -413,7 +413,7 @@ + return 0; + } + +-static int dvbsub_close_decoder(AVCodecContext *avctx) ++static av_cold int dvbsub_close_decoder(AVCodecContext *avctx) + { + DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; + DVBSubRegionDisplay *display; +Index: mythtv/libs/libavcodec/nellymoserdec.c +=================================================================== +--- mythtv/libs/libavcodec/nellymoserdec.c (revision 18209) ++++ mythtv/libs/libavcodec/nellymoserdec.c (working copy) +@@ -329,7 +329,7 @@ + } + } + +-static int decode_init(AVCodecContext * avctx) { ++static av_cold int decode_init(AVCodecContext * avctx) { + NellyMoserDecodeContext *s = avctx->priv_data; + int i; + +@@ -391,7 +391,7 @@ + return buf_size; + } + +-static int decode_end(AVCodecContext * avctx) { ++static av_cold int decode_end(AVCodecContext * avctx) { + NellyMoserDecodeContext *s = avctx->priv_data; + + ff_mdct_end(&s->imdct_ctx); +Index: mythtv/libs/libavcodec/nuv.c +=================================================================== +--- mythtv/libs/libavcodec/nuv.c (revision 18209) ++++ mythtv/libs/libavcodec/nuv.c (working copy) +@@ -236,7 +236,7 @@ + return orig_size; + } + +-static int decode_init(AVCodecContext *avctx) { ++static av_cold int decode_init(AVCodecContext *avctx) { + NuvContext *c = avctx->priv_data; + avctx->pix_fmt = PIX_FMT_YUV420P; + c->pic.data[0] = NULL; +@@ -253,7 +253,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx) { ++static av_cold int decode_end(AVCodecContext *avctx) { + NuvContext *c = avctx->priv_data; + av_freep(&c->decomp_buf); + if (c->pic.data[0]) +Index: mythtv/libs/libavcodec/roqaudioenc.c +=================================================================== +--- mythtv/libs/libavcodec/roqaudioenc.c (revision 18209) ++++ mythtv/libs/libavcodec/roqaudioenc.c (working copy) +@@ -37,7 +37,7 @@ + short lastSample[2]; + } ROQDPCMContext_t; + +-static void roq_dpcm_table_init(void) ++static av_cold void roq_dpcm_table_init(void) + { + int i; + +@@ -158,7 +158,7 @@ + return out - frame; + } + +-static int roq_dpcm_encode_close(AVCodecContext *avctx) ++static av_cold int roq_dpcm_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + +Index: mythtv/libs/libavcodec/vcr1.c +=================================================================== +--- mythtv/libs/libavcodec/vcr1.c (revision 18209) ++++ mythtv/libs/libavcodec/vcr1.c (working copy) +@@ -137,14 +137,14 @@ + } + #endif + +-static void common_init(AVCodecContext *avctx){ ++static av_cold void common_init(AVCodecContext *avctx){ + VCR1Context * const a = avctx->priv_data; + + avctx->coded_frame= (AVFrame*)&a->picture; + a->avctx= avctx; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + + common_init(avctx); + +@@ -154,7 +154,7 @@ + } + + #if 0 +-static int encode_init(AVCodecContext *avctx){ ++static av_cold int encode_init(AVCodecContext *avctx){ + + common_init(avctx); + +Index: mythtv/libs/libavcodec/libxvidff.c +=================================================================== +--- mythtv/libs/libavcodec/libxvidff.c (revision 18209) ++++ mythtv/libs/libavcodec/libxvidff.c (working copy) +@@ -83,7 +83,7 @@ + * @param avctx AVCodecContext pointer to context + * @return Returns 0 on success, -1 on failure + */ +-int ff_xvid_encode_init(AVCodecContext *avctx) { ++av_cold int ff_xvid_encode_init(AVCodecContext *avctx) { + int xerr, i; + int xvid_flags = avctx->flags; + xvid_context_t *x = avctx->priv_data; +@@ -463,7 +463,7 @@ + * @param avctx AVCodecContext pointer to context + * @return Returns 0, success guaranteed + */ +-int ff_xvid_encode_close(AVCodecContext *avctx) { ++av_cold int ff_xvid_encode_close(AVCodecContext *avctx) { + xvid_context_t *x = avctx->priv_data; + + xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL); +Index: mythtv/libs/libavcodec/vqavideo.c +=================================================================== +--- mythtv/libs/libavcodec/vqavideo.c (revision 18209) ++++ mythtv/libs/libavcodec/vqavideo.c (working copy) +@@ -54,7 +54,7 @@ + * file. This is an interesting technique, although it makes random file + * seeking difficult despite the fact that the frames are all intracoded. + * +- * V1,2 VQA uses 12-bit codebook indices. If the 12-bit indices were ++ * V1,2 VQA uses 12-bit codebook indexes. If the 12-bit indexes were + * packed into bytes and then RLE compressed, bytewise, the results would + * be poor. That is why the coding method divides each index into 2 parts, + * the top 4 bits and the bottom 8 bits, then RL encodes the 4-bit pieces +@@ -129,11 +129,11 @@ + + } VqaContext; + +-static int vqa_decode_init(AVCodecContext *avctx) ++static av_cold int vqa_decode_init(AVCodecContext *avctx) + { + VqaContext *s = avctx->priv_data; + unsigned char *vqa_header; +- int i, j, codebook_index;; ++ int i, j, codebook_index; + + s->avctx = avctx; + avctx->pix_fmt = PIX_FMT_PAL8; +@@ -595,7 +595,7 @@ + return buf_size; + } + +-static int vqa_decode_end(AVCodecContext *avctx) ++static av_cold int vqa_decode_end(AVCodecContext *avctx) + { + VqaContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/indeo2.c +=================================================================== +--- mythtv/libs/libavcodec/indeo2.c (revision 18209) ++++ mythtv/libs/libavcodec/indeo2.c (working copy) +@@ -188,7 +188,7 @@ + return buf_size; + } + +-static int ir2_decode_init(AVCodecContext *avctx){ ++static av_cold int ir2_decode_init(AVCodecContext *avctx){ + Ir2Context * const ic = avctx->priv_data; + + ic->avctx = avctx; +Index: mythtv/libs/libavcodec/libfaad.c +=================================================================== +--- mythtv/libs/libavcodec/libfaad.c (revision 18209) ++++ mythtv/libs/libavcodec/libfaad.c (working copy) +@@ -192,7 +192,7 @@ + #endif + } + +-static int faac_decode_end(AVCodecContext *avctx) ++static av_cold int faac_decode_end(AVCodecContext *avctx) + { + FAACContext *s = avctx->priv_data; + +@@ -202,7 +202,7 @@ + return 0; + } + +-static int faac_decode_init(AVCodecContext *avctx) ++static av_cold int faac_decode_init(AVCodecContext *avctx) + { + FAACContext *s = avctx->priv_data; + faacDecConfigurationPtr faac_cfg; +Index: mythtv/libs/libavcodec/ac3dec.c +=================================================================== +--- mythtv/libs/libavcodec/ac3dec.c (revision 18209) ++++ mythtv/libs/libavcodec/ac3dec.c (working copy) +@@ -237,7 +237,7 @@ + /* + * Initialize tables at runtime. + */ +-static void ac3_tables_init(void) ++static av_cold void ac3_tables_init(void) + { + int i; + +@@ -303,7 +303,7 @@ + /** + * AVCodec initialization + */ +-static int ac3_decode_init(AVCodecContext *avctx) ++static av_cold int ac3_decode_init(AVCodecContext *avctx) + { + AC3DecodeContext *ctx = avctx->priv_data; + ctx->avctx = avctx; +@@ -1185,7 +1185,7 @@ + /** + * Uninitialize the AC-3 decoder. + */ +-static int ac3_decode_end(AVCodecContext *avctx) ++static av_cold int ac3_decode_end(AVCodecContext *avctx) + { + AC3DecodeContext *ctx = (AC3DecodeContext *)avctx->priv_data; + ff_mdct_end(&ctx->imdct_512); +Index: mythtv/libs/libavcodec/smacker.c +=================================================================== +--- mythtv/libs/libavcodec/smacker.c (revision 18209) ++++ mythtv/libs/libavcodec/smacker.c (working copy) +@@ -509,7 +509,7 @@ + * Init smacker decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + SmackVContext * const c = avctx->priv_data; + +@@ -543,7 +543,7 @@ + * Uninit smacker decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + SmackVContext * const smk = avctx->priv_data; + +@@ -559,7 +559,7 @@ + } + + +-static int smka_decode_init(AVCodecContext *avctx) ++static av_cold int smka_decode_init(AVCodecContext *avctx) + { + return 0; + } +Index: mythtv/libs/libavcodec/sparc/dsputil_vis.c +=================================================================== +--- mythtv/libs/libavcodec/sparc/dsputil_vis.c (revision 18209) ++++ mythtv/libs/libavcodec/sparc/dsputil_vis.c (working copy) +@@ -3999,7 +3999,7 @@ + /* libavcodec initialization code */ + void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx) + { +- /* VIS specific optimisations */ ++ /* VIS specific optimizations */ + int accel = vis_level (); + + if (accel & ACCEL_SPARC_VIS) { +Index: mythtv/libs/libavcodec/cljr.c +=================================================================== +--- mythtv/libs/libavcodec/cljr.c (revision 18209) ++++ mythtv/libs/libavcodec/cljr.c (working copy) +@@ -104,14 +104,14 @@ + } + #endif + +-static void common_init(AVCodecContext *avctx){ ++static av_cold void common_init(AVCodecContext *avctx){ + CLJRContext * const a = avctx->priv_data; + + avctx->coded_frame= (AVFrame*)&a->picture; + a->avctx= avctx; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + + common_init(avctx); + +@@ -121,7 +121,7 @@ + } + + #if 0 +-static int encode_init(AVCodecContext *avctx){ ++static av_cold int encode_init(AVCodecContext *avctx){ + + common_init(avctx); + +Index: mythtv/libs/libavcodec/dnxhdenc.c +=================================================================== +--- mythtv/libs/libavcodec/dnxhdenc.c (revision 18209) ++++ mythtv/libs/libavcodec/dnxhdenc.c (working copy) +@@ -47,7 +47,7 @@ + AVFrame frame; + int cid; + const CIDEntry *cid_table; +- uint8_t *msip; ///< Macroblock Scan Indices Payload ++ uint8_t *msip; ///< Macroblock Scan Indexes Payload + uint32_t *slice_size; + + struct DNXHDEncContext *thread[MAX_THREADS]; +Index: mythtv/libs/libavcodec/libvorbis.c +=================================================================== +--- mythtv/libs/libavcodec/libvorbis.c (revision 18209) ++++ mythtv/libs/libavcodec/libvorbis.c (working copy) +@@ -81,7 +81,7 @@ + return vorbis_encode_setup_init(vi); + } + +-static int oggvorbis_encode_init(AVCodecContext *avccontext) { ++static av_cold int oggvorbis_encode_init(AVCodecContext *avccontext) { + OggVorbisContext *context = avccontext->priv_data ; + ogg_packet header, header_comm, header_code; + uint8_t *p; +@@ -191,7 +191,7 @@ + } + + +-static int oggvorbis_encode_close(AVCodecContext *avccontext) { ++static av_cold int oggvorbis_encode_close(AVCodecContext *avccontext) { + OggVorbisContext *context = avccontext->priv_data ; + /* ogg_packet op ; */ + +Index: mythtv/libs/libavcodec/h264pred.c +=================================================================== +--- mythtv/libs/libavcodec/h264pred.c (revision 18209) ++++ mythtv/libs/libavcodec/h264pred.c (working copy) +@@ -677,6 +677,29 @@ + } + } + ++//the following 4 function should not be optimized! ++static void pred8x8_mad_cow_dc_l0t(uint8_t *src, int stride){ ++ pred8x8_top_dc_c(src, stride); ++ pred4x4_dc_c(src, NULL, stride); ++} ++ ++static void pred8x8_mad_cow_dc_0lt(uint8_t *src, int stride){ ++ pred8x8_dc_c(src, stride); ++ pred4x4_top_dc_c(src, NULL, stride); ++} ++ ++static void pred8x8_mad_cow_dc_l00(uint8_t *src, int stride){ ++ pred8x8_left_dc_c(src, stride); ++ pred4x4_128_dc_c(src + 4*stride , NULL, stride); ++ pred4x4_128_dc_c(src + 4*stride + 4, NULL, stride); ++} ++ ++static void pred8x8_mad_cow_dc_0l0(uint8_t *src, int stride){ ++ pred8x8_left_dc_c(src, stride); ++ pred4x4_128_dc_c(src , NULL, stride); ++ pred4x4_128_dc_c(src + 4, NULL, stride); ++} ++ + static void pred8x8_dc_rv40_c(uint8_t *src, int stride){ + int i; + int dc0=0; +@@ -1032,6 +1055,10 @@ + h->pred8x8[DC_PRED8x8 ]= pred8x8_dc_c; + h->pred8x8[LEFT_DC_PRED8x8]= pred8x8_left_dc_c; + h->pred8x8[TOP_DC_PRED8x8 ]= pred8x8_top_dc_c; ++ h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8 ]= pred8x8_mad_cow_dc_l0t; ++ h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8 ]= pred8x8_mad_cow_dc_0lt; ++ h->pred8x8[ALZHEIMER_DC_L00_PRED8x8 ]= pred8x8_mad_cow_dc_l00; ++ h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8 ]= pred8x8_mad_cow_dc_0l0; + }else{ + h->pred8x8[DC_PRED8x8 ]= pred8x8_dc_rv40_c; + h->pred8x8[LEFT_DC_PRED8x8]= pred8x8_left_dc_rv40_c; +Index: mythtv/libs/libavcodec/adxenc.c +=================================================================== +--- mythtv/libs/libavcodec/adxenc.c (revision 18209) ++++ mythtv/libs/libavcodec/adxenc.c (working copy) +@@ -110,7 +110,7 @@ + return 0x20+4; + } + +-static int adx_encode_init(AVCodecContext *avctx) ++static av_cold int adx_encode_init(AVCodecContext *avctx) + { + if (avctx->channels > 2) + return -1; /* only stereo or mono =) */ +@@ -126,7 +126,7 @@ + return 0; + } + +-static int adx_encode_close(AVCodecContext *avctx) ++static av_cold int adx_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + +Index: mythtv/libs/libavcodec/h264pred.h +=================================================================== +--- mythtv/libs/libavcodec/h264pred.h (revision 18209) ++++ mythtv/libs/libavcodec/h264pred.h (working copy) +@@ -59,6 +59,11 @@ + #define LEFT_DC_PRED8x8 4 + #define TOP_DC_PRED8x8 5 + #define DC_128_PRED8x8 6 ++ ++#define ALZHEIMER_DC_L0T_PRED8x8 7 ++#define ALZHEIMER_DC_0LT_PRED8x8 8 ++#define ALZHEIMER_DC_L00_PRED8x8 9 ++#define ALZHEIMER_DC_0L0_PRED8x8 10 + //@} + + /** +@@ -67,7 +72,7 @@ + typedef struct H264PredContext{ + void (*pred4x4 [9+3+2])(uint8_t *src, uint8_t *topright, int stride);//FIXME move to dsp? + void (*pred8x8l [9+3])(uint8_t *src, int topleft, int topright, int stride); +- void (*pred8x8 [4+3])(uint8_t *src, int stride); ++ void (*pred8x8 [4+3+4])(uint8_t *src, int stride); + void (*pred16x16[4+3])(uint8_t *src, int stride); + }H264PredContext; + +Index: mythtv/libs/libavcodec/i386/mpegvideo_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/mpegvideo_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/mpegvideo_mmx.c (working copy) +@@ -179,7 +179,7 @@ + if (level < -2048 || level > 2047) + fprintf(stderr, "unquant error %d %d\n", i, level); + #endif +- We can suppose that result of two multiplications can't be greate of 0xFFFF ++ We can suppose that result of two multiplications can't be greater than 0xFFFF + i.e. is 16-bit, so we use here only PMULLW instruction and can avoid + a complex multiplication. + ===================================================== +Index: mythtv/libs/libavcodec/i386/h264_i386.h +=================================================================== +--- mythtv/libs/libavcodec/i386/h264_i386.h (revision 0) ++++ mythtv/libs/libavcodec/i386/h264_i386.h (revision 0) +@@ -0,0 +1,144 @@ ++/* ++ * H.26L/H.264/AVC/JVT/14496-10/... encoder/decoder ++ * Copyright (c) 2003 Michael Niedermayer ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++/** ++ * @file h264_i386.h ++ * H.264 / AVC / MPEG4 part10 codec. ++ * non-MMX i386-specific optimizations for H.264 ++ * @author Michael Niedermayer ++ */ ++ ++#ifndef FFMPEG_H264_I386_H ++#define FFMPEG_H264_I386_H ++ ++ ++#include "cabac.h" ++ ++//FIXME use some macros to avoid duplicatin get_cabac (cannot be done yet as that would make optimization work hard) ++#if defined(ARCH_X86) && defined(HAVE_7REGS) && defined(HAVE_EBX_AVAILABLE) && !defined(BROKEN_RELOCATIONS) ++static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *significant_coeff_ctx_base, int *index){ ++ void *end= significant_coeff_ctx_base + max_coeff - 1; ++ int minusstart= -(int)significant_coeff_ctx_base; ++ int minusindex= 4-(int)index; ++ int coeff_count; ++ asm volatile( ++ "movl "RANGE "(%3), %%esi \n\t" ++ "movl "LOW "(%3), %%ebx \n\t" ++ ++ "2: \n\t" ++ ++ BRANCHLESS_GET_CABAC("%%edx", "%3", "(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") ++ ++ "test $1, %%edx \n\t" ++ " jz 3f \n\t" ++ ++ BRANCHLESS_GET_CABAC("%%edx", "%3", "61(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") ++ ++ "mov %2, %%"REG_a" \n\t" ++ "movl %4, %%ecx \n\t" ++ "add %1, %%"REG_c" \n\t" ++ "movl %%ecx, (%%"REG_a") \n\t" ++ ++ "test $1, %%edx \n\t" ++ " jnz 4f \n\t" ++ ++ "add $4, %%"REG_a" \n\t" ++ "mov %%"REG_a", %2 \n\t" ++ ++ "3: \n\t" ++ "add $1, %1 \n\t" ++ "cmp %5, %1 \n\t" ++ " jb 2b \n\t" ++ "mov %2, %%"REG_a" \n\t" ++ "movl %4, %%ecx \n\t" ++ "add %1, %%"REG_c" \n\t" ++ "movl %%ecx, (%%"REG_a") \n\t" ++ "4: \n\t" ++ "add %6, %%eax \n\t" ++ "shr $2, %%eax \n\t" ++ ++ "movl %%esi, "RANGE "(%3) \n\t" ++ "movl %%ebx, "LOW "(%3) \n\t" ++ :"=&a"(coeff_count), "+r"(significant_coeff_ctx_base), "+m"(index) ++ :"r"(c), "m"(minusstart), "m"(end), "m"(minusindex) ++ : "%"REG_c, "%ebx", "%edx", "%esi", "memory" ++ ); ++ return coeff_count; ++} ++ ++static int decode_significance_8x8_x86(CABACContext *c, uint8_t *significant_coeff_ctx_base, int *index, const uint8_t *sig_off){ ++ int minusindex= 4-(int)index; ++ int coeff_count; ++ long last=0; ++ asm volatile( ++ "movl "RANGE "(%3), %%esi \n\t" ++ "movl "LOW "(%3), %%ebx \n\t" ++ ++ "mov %1, %%"REG_D" \n\t" ++ "2: \n\t" ++ ++ "mov %6, %%"REG_a" \n\t" ++ "movzbl (%%"REG_a", %%"REG_D"), %%edi \n\t" ++ "add %5, %%"REG_D" \n\t" ++ ++ BRANCHLESS_GET_CABAC("%%edx", "%3", "(%%"REG_D")", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") ++ ++ "mov %1, %%edi \n\t" ++ "test $1, %%edx \n\t" ++ " jz 3f \n\t" ++ ++ "movzbl "MANGLE(last_coeff_flag_offset_8x8)"(%%edi), %%edi\n\t" ++ "add %5, %%"REG_D" \n\t" ++ ++ BRANCHLESS_GET_CABAC("%%edx", "%3", "15(%%"REG_D")", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") ++ ++ "mov %2, %%"REG_a" \n\t" ++ "mov %1, %%edi \n\t" ++ "movl %%edi, (%%"REG_a") \n\t" ++ ++ "test $1, %%edx \n\t" ++ " jnz 4f \n\t" ++ ++ "add $4, %%"REG_a" \n\t" ++ "mov %%"REG_a", %2 \n\t" ++ ++ "3: \n\t" ++ "addl $1, %%edi \n\t" ++ "mov %%edi, %1 \n\t" ++ "cmpl $63, %%edi \n\t" ++ " jb 2b \n\t" ++ "mov %2, %%"REG_a" \n\t" ++ "movl %%edi, (%%"REG_a") \n\t" ++ "4: \n\t" ++ "addl %4, %%eax \n\t" ++ "shr $2, %%eax \n\t" ++ ++ "movl %%esi, "RANGE "(%3) \n\t" ++ "movl %%ebx, "LOW "(%3) \n\t" ++ :"=&a"(coeff_count),"+m"(last), "+m"(index) ++ :"r"(c), "m"(minusindex), "m"(significant_coeff_ctx_base), "m"(sig_off) ++ : "%"REG_c, "%ebx", "%edx", "%esi", "%"REG_D, "memory" ++ ); ++ return coeff_count; ++} ++#endif /* defined(ARCH_X86) && && defined(HAVE_7REGS) && defined(HAVE_EBX_AVAILABLE) && !defined(BROKEN_RELOCATIONS) */ ++ ++#endif /* FFMPEG_H264_I386_H */ +Index: mythtv/libs/libavcodec/i386/motion_est_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/motion_est_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/motion_est_mmx.c (working copy) +@@ -24,13 +24,13 @@ + #include "dsputil.h" + #include "x86_cpu.h" + +-static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={ ++DECLARE_ASM_CONST(8, uint64_t, round_tab[3])={ + 0x0000000000000000ULL, + 0x0001000100010001ULL, + 0x0002000200020002ULL, + }; + +-static attribute_used __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL; ++DECLARE_ASM_CONST(8, uint64_t, bone)= 0x0101010101010101LL; + + static inline void sad8_1_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h) + { +Index: mythtv/libs/libavcodec/i386/idct_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/idct_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/idct_mmx.c (working copy) +@@ -397,7 +397,7 @@ + static const short _T3[] ATTR_ALIGN(8) = {T3,T3,T3,T3}; + static const short _C4[] ATTR_ALIGN(8) = {C4,C4,C4,C4}; + +- /* column code adapted from peter gubanov */ ++ /* column code adapted from Peter Gubanov */ + /* http://www.elecard.com/peter/idct.shtml */ + + movq_m2r (*_T1, mm0); // mm0 = T1 +Index: mythtv/libs/libavcodec/i386/dsputil_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/dsputil_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/dsputil_mmx.c (working copy) +@@ -790,7 +790,7 @@ + "movq (%1,%3),%%mm4\n" /* mm4 = pix2[1][0-7] */ + + /* todo: mm1-mm2, mm3-mm4 */ +- /* algo: substract mm1 from mm2 with saturation and vice versa */ ++ /* algo: subtract mm1 from mm2 with saturation and vice versa */ + /* OR the results to get absolute difference */ + "movq %%mm1,%%mm5\n" + "movq %%mm3,%%mm6\n" +@@ -850,7 +850,7 @@ + "movq 8(%1),%%mm4\n" /* mm4 = pix2[8-15] */ + + /* todo: mm1-mm2, mm3-mm4 */ +- /* algo: substract mm1 from mm2 with saturation and vice versa */ ++ /* algo: subtract mm1 from mm2 with saturation and vice versa */ + /* OR the results to get absolute difference */ + "movq %%mm1,%%mm5\n" + "movq %%mm3,%%mm6\n" +@@ -910,7 +910,7 @@ + "movdqu (%1,%4),%%xmm4\n" /* mm4 = pix2[1][0-15] */ + + /* todo: mm1-mm2, mm3-mm4 */ +- /* algo: substract mm1 from mm2 with saturation and vice versa */ ++ /* algo: subtract mm1 from mm2 with saturation and vice versa */ + /* OR the results to get absolute difference */ + "movdqa %%xmm1,%%xmm5\n" + "movdqa %%xmm3,%%xmm6\n" +Index: mythtv/libs/libavcodec/i386/h264dsp_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/h264dsp_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/h264dsp_mmx.c (working copy) +@@ -19,6 +19,9 @@ + */ + + ++DECLARE_ALIGNED_8 (static const uint64_t, ff_pb_3_1 ) = 0x0103010301030103ULL; ++DECLARE_ALIGNED_8 (static const uint64_t, ff_pb_7_3 ) = 0x0307030703070307ULL; ++ + /***********************************/ + /* IDCT */ + +@@ -547,7 +550,7 @@ + } + + static void h264_loop_filter_strength_mmx2( int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], +- int bidir, int edges, int step, int mask_mv0, int mask_mv1 ) { ++ int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field ) { + int dir; + asm volatile( + "pxor %%mm7, %%mm7 \n\t" +@@ -556,6 +559,13 @@ + "movq %2, %%mm4 \n\t" + ::"m"(ff_pb_1), "m"(ff_pb_3), "m"(ff_pb_7) + ); ++ if(field) ++ asm volatile( ++ "movq %0, %%mm5 \n\t" ++ "movq %1, %%mm4 \n\t" ++ ::"m"(ff_pb_3_1), "m"(ff_pb_7_3) ++ ); ++ + // could do a special case for dir==0 && edges==1, but it only reduces the + // average filter time by 1.2% + for( dir=1; dir>=0; dir-- ) { +Index: mythtv/libs/libavcodec/i386/simple_idct_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/simple_idct_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/simple_idct_mmx.c (working copy) +@@ -48,8 +48,8 @@ + #define ROW_SHIFT 11 + #define COL_SHIFT 20 // 6 + +-static const uint64_t attribute_used __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL; +-static const uint64_t attribute_used __attribute__((aligned(8))) d40000= 0x0000000000040000ULL; ++DECLARE_ASM_CONST(8, uint64_t, wm1010)= 0xFFFF0000FFFF0000ULL; ++DECLARE_ASM_CONST(8, uint64_t, d40000)= 0x0000000000040000ULL; + + static const int16_t __attribute__((aligned(8))) coeffs[]= { + 1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0, +Index: mythtv/libs/libavcodec/i386/cavsdsp_mmx.c +=================================================================== +--- mythtv/libs/libavcodec/i386/cavsdsp_mmx.c (revision 18209) ++++ mythtv/libs/libavcodec/i386/cavsdsp_mmx.c (working copy) +@@ -2,7 +2,7 @@ + * Chinese AVS video (AVS1-P2, JiZhun profile) decoder. + * Copyright (c) 2006 Stefan Gehrer + * +- * MMX optimised DSP functions, based on H.264 optimisations by ++ * MMX optimized DSP functions, based on H.264 optimizations by + * Michael Niedermayer and Loren Merritt + * + * This file is part of FFmpeg. +Index: mythtv/libs/libavcodec/dv.c +=================================================================== +--- mythtv/libs/libavcodec/dv.c (revision 18209) ++++ mythtv/libs/libavcodec/dv.c (working copy) +@@ -107,7 +107,7 @@ + } + } + +-static int dvvideo_init(AVCodecContext *avctx) ++static av_cold int dvvideo_init(AVCodecContext *avctx) + { + DVVideoContext *s = avctx->priv_data; + DSPContext dsp; +Index: mythtv/libs/libavcodec/pngenc.c +=================================================================== +--- mythtv/libs/libavcodec/pngenc.c (revision 18209) ++++ mythtv/libs/libavcodec/pngenc.c (working copy) +@@ -313,7 +313,7 @@ + goto the_end; + } + +-static int png_enc_init(AVCodecContext *avctx){ ++static av_cold int png_enc_init(AVCodecContext *avctx){ + PNGEncContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +Index: mythtv/libs/libavcodec/idcinvideo.c +=================================================================== +--- mythtv/libs/libavcodec/idcinvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/idcinvideo.c (working copy) +@@ -115,7 +115,7 @@ + * num_huff_nodes[prev] - contains the index to the root node of the tree. + * That is: huff_nodes[prev][num_huff_nodes[prev]] is the root node. + */ +-static void huff_build_tree(IdcinContext *s, int prev) { ++static av_cold void huff_build_tree(IdcinContext *s, int prev) { + hnode_t *node, *hnodes; + int num_hnodes, i; + +@@ -145,7 +145,7 @@ + s->num_huff_nodes[prev] = num_hnodes - 1; + } + +-static int idcin_decode_init(AVCodecContext *avctx) ++static av_cold int idcin_decode_init(AVCodecContext *avctx) + { + IdcinContext *s = avctx->priv_data; + int i, j, histogram_index = 0; +@@ -245,7 +245,7 @@ + return buf_size; + } + +-static int idcin_decode_end(AVCodecContext *avctx) ++static av_cold int idcin_decode_end(AVCodecContext *avctx) + { + IdcinContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/rawenc.c +=================================================================== +--- mythtv/libs/libavcodec/rawenc.c (revision 18209) ++++ mythtv/libs/libavcodec/rawenc.c (working copy) +@@ -27,7 +27,7 @@ + #include "avcodec.h" + #include "raw.h" + +-static int raw_init_encoder(AVCodecContext *avctx) ++static av_cold int raw_init_encoder(AVCodecContext *avctx) + { + avctx->coded_frame = (AVFrame *)avctx->priv_data; + avctx->coded_frame->pict_type = FF_I_TYPE; +Index: mythtv/libs/libavcodec/dnxhddec.c +=================================================================== +--- mythtv/libs/libavcodec/dnxhddec.c (revision 18209) ++++ mythtv/libs/libavcodec/dnxhddec.c (working copy) +@@ -48,7 +48,7 @@ + #define DNXHD_VLC_BITS 9 + #define DNXHD_DC_VLC_BITS 7 + +-static int dnxhd_decode_init(AVCodecContext *avctx) ++static av_cold int dnxhd_decode_init(AVCodecContext *avctx) + { + DNXHDContext *ctx = avctx->priv_data; + +@@ -321,7 +321,7 @@ + return buf_size; + } + +-static int dnxhd_decode_close(AVCodecContext *avctx) ++static av_cold int dnxhd_decode_close(AVCodecContext *avctx) + { + DNXHDContext *ctx = avctx->priv_data; + +Index: mythtv/libs/libavcodec/motion-test.c +=================================================================== +--- mythtv/libs/libavcodec/motion-test.c (revision 18209) ++++ mythtv/libs/libavcodec/motion-test.c (working copy) +@@ -112,7 +112,7 @@ + } + } + emms_c(); +- dummy = d1; /* avoid optimisation */ ++ dummy = d1; /* avoid optimization */ + ti = gettime() - ti; + + printf(" %0.0f kop/s\n", +Index: mythtv/libs/libavcodec/rv10.c +=================================================================== +--- mythtv/libs/libavcodec/rv10.c (revision 18209) ++++ mythtv/libs/libavcodec/rv10.c (working copy) +@@ -240,13 +240,13 @@ + + put_bits(&s->pb, 1, 1); /* marker */ + +- put_bits(&s->pb, 1, (s->pict_type == P_TYPE)); ++ put_bits(&s->pb, 1, (s->pict_type == FF_P_TYPE)); + + put_bits(&s->pb, 1, 0); /* not PB frame */ + + put_bits(&s->pb, 5, s->qscale); + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + /* specific MPEG like DC coding not used */ + } + /* if multiple packets per frame are sent, the position at which +@@ -273,13 +273,13 @@ + + assert(s->f_code == 1); + assert(s->unrestricted_mv == 1); +-// assert(s->h263_aic== (s->pict_type == I_TYPE)); ++// assert(s->h263_aic== (s->pict_type == FF_I_TYPE)); + assert(s->alt_inter_vlc == 0); + assert(s->umvplus == 0); + assert(s->modified_quant==1); + assert(s->loop_filter==1); + +- s->h263_aic= s->pict_type == I_TYPE; ++ s->h263_aic= s->pict_type == FF_I_TYPE; + if(s->h263_aic){ + s->y_dc_scale_table= + s->c_dc_scale_table= ff_aic_dc_scale_table; +@@ -315,9 +315,9 @@ + marker = get_bits1(&s->gb); + + if (get_bits1(&s->gb)) +- s->pict_type = P_TYPE; ++ s->pict_type = FF_P_TYPE; + else +- s->pict_type = I_TYPE; ++ s->pict_type = FF_I_TYPE; + //printf("h:%X ver:%d\n",h,s->rv10_version); + if(!marker) av_log(s->avctx, AV_LOG_ERROR, "marker missing\n"); + pb_frame = get_bits1(&s->gb); +@@ -337,7 +337,7 @@ + return -1; + } + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + if (s->rv10_version == 3) { + /* specific MPEG like DC coding not used */ + s->last_dc[0] = get_bits(&s->gb, 8); +@@ -402,16 +402,16 @@ + + i= get_bits(&s->gb, 2); + switch(i){ +- case 0: s->pict_type= I_TYPE; break; +- case 1: s->pict_type= I_TYPE; break; //hmm ... +- case 2: s->pict_type= P_TYPE; break; +- case 3: s->pict_type= B_TYPE; break; ++ case 0: s->pict_type= FF_I_TYPE; break; ++ case 1: s->pict_type= FF_I_TYPE; break; //hmm ... ++ case 2: s->pict_type= FF_P_TYPE; break; ++ case 3: s->pict_type= FF_B_TYPE; break; + default: + av_log(s->avctx, AV_LOG_ERROR, "unknown frame type\n"); + return -1; + } + +- if(s->last_picture_ptr==NULL && s->pict_type==B_TYPE){ ++ if(s->last_picture_ptr==NULL && s->pict_type==FF_B_TYPE){ + av_log(s->avctx, AV_LOG_ERROR, "early B pix\n"); + return -1; + } +@@ -482,7 +482,7 @@ + if(seq - s->time > 0x4000) seq -= 0x8000; + if(seq - s->time < -0x4000) seq += 0x8000; + if(seq != s->time){ +- if(s->pict_type!=B_TYPE){ ++ if(s->pict_type!=FF_B_TYPE){ + s->time= seq; + s->pp_time= s->time - s->last_non_b_time; + s->last_non_b_time= s->time; +@@ -505,7 +505,7 @@ + + s->f_code = 1; + s->unrestricted_mv = 1; +- s->h263_aic= s->pict_type == I_TYPE; ++ s->h263_aic= s->pict_type == FF_I_TYPE; + // s->alt_inter_vlc=1; + // s->obmc=1; + // s->umvplus=1; +@@ -517,12 +517,12 @@ + seq, s->mb_x, s->mb_y, s->pict_type, s->qscale, s->no_rounding); + } + +- assert(s->pict_type != B_TYPE || !s->low_delay); ++ assert(s->pict_type != FF_B_TYPE || !s->low_delay); + + return s->mb_width*s->mb_height - mb_pos; + } + +-static int rv10_decode_init(AVCodecContext *avctx) ++static av_cold int rv10_decode_init(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + static int done=0; +@@ -588,7 +588,7 @@ + return 0; + } + +-static int rv10_decode_end(AVCodecContext *avctx) ++static av_cold int rv10_decode_end(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +@@ -623,7 +623,7 @@ + av_log(s->avctx, AV_LOG_ERROR, "COUNT ERROR\n"); + return -1; + } +-//if(s->pict_type == P_TYPE) return 0; ++//if(s->pict_type == FF_P_TYPE) return 0; + + if ((s->mb_x == 0 && s->mb_y == 0) || s->current_picture_ptr==NULL) { + if(s->current_picture_ptr){ //FIXME write parser so we always have complete frames? +@@ -690,7 +690,7 @@ + av_log(s->avctx, AV_LOG_ERROR, "ERROR at MB %d %d\n", s->mb_x, s->mb_y); + return -1; + } +- if(s->pict_type != B_TYPE) ++ if(s->pict_type != FF_B_TYPE) + ff_h263_update_motion_val(s); + MPV_decode_mb(s, s->block); + if(s->loop_filter) +@@ -759,7 +759,7 @@ + ff_er_frame_end(s); + MPV_frame_end(s); + +- if (s->pict_type == B_TYPE || s->low_delay) { ++ if (s->pict_type == FF_B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; +Index: mythtv/libs/libavcodec/qpeg.c +=================================================================== +--- mythtv/libs/libavcodec/qpeg.c (revision 18209) ++++ mythtv/libs/libavcodec/qpeg.c (working copy) +@@ -285,7 +285,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + QpegContext * const a = avctx->priv_data; + + a->avctx = avctx; +@@ -296,7 +296,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx){ ++static av_cold int decode_end(AVCodecContext *avctx){ + QpegContext * const a = avctx->priv_data; + AVFrame * const p= (AVFrame*)&a->pic; + +Index: mythtv/libs/libavcodec/pngdec.c +=================================================================== +--- mythtv/libs/libavcodec/pngdec.c (revision 18209) ++++ mythtv/libs/libavcodec/pngdec.c (working copy) +@@ -529,7 +529,7 @@ + goto the_end; + } + +-static int png_dec_init(AVCodecContext *avctx){ ++static av_cold int png_dec_init(AVCodecContext *avctx){ + PNGDecContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +Index: mythtv/libs/libavcodec/mpegaudioenc.c +=================================================================== +--- mythtv/libs/libavcodec/mpegaudioenc.c (revision 18209) ++++ mythtv/libs/libavcodec/mpegaudioenc.c (working copy) +@@ -61,7 +61,7 @@ + #include "mpegaudiodata.h" + #include "mpegaudiotab.h" + +-static int MPA_encode_init(AVCodecContext *avctx) ++static av_cold int MPA_encode_init(AVCodecContext *avctx) + { + MpegAudioContext *s = avctx->priv_data; + int freq = avctx->sample_rate; +@@ -781,7 +781,7 @@ + return pbBufPtr(&s->pb) - s->pb.buf; + } + +-static int MPA_encode_close(AVCodecContext *avctx) ++static av_cold int MPA_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + return 0; +Index: mythtv/libs/libavcodec/vmnc.c +=================================================================== +--- mythtv/libs/libavcodec/vmnc.c (revision 18209) ++++ mythtv/libs/libavcodec/vmnc.c (working copy) +@@ -456,7 +456,7 @@ + * Init VMnc decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + VmncContext * const c = avctx->priv_data; + +@@ -496,7 +496,7 @@ + * Uninit VMnc decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + VmncContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/xvmcvideo.c +=================================================================== +--- mythtv/libs/libavcodec/xvmcvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/xvmcvideo.c (working copy) +@@ -123,9 +123,9 @@ + + render->pict_type=s->pict_type; // for later frame dropping use + switch(s->pict_type){ +- case I_TYPE: ++ case FF_I_TYPE: + return 0;// no prediction from other frames +- case B_TYPE: ++ case FF_B_TYPE: + render->p_past_surface = findPastSurface(s, render); + render->p_future_surface = findFutureSurface(s); + if (!render->p_past_surface) +@@ -136,7 +136,7 @@ + "B frame and future frame is null!\n"); + else return 0; + return 0; // pretend things are ok even if they aren't +- case P_TYPE: ++ case FF_P_TYPE: + render->p_past_surface = findPastSurface(s, render); + if (!render->p_past_surface) + av_log(s->avctx, AV_LOG_ERROR, "XvMC: error, decoding " +Index: mythtv/libs/libavcodec/bethsoftvideo.c +=================================================================== +--- mythtv/libs/libavcodec/bethsoftvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/bethsoftvideo.c (working copy) +@@ -36,7 +36,7 @@ + AVFrame frame; + } BethsoftvidContext; + +-static int bethsoftvid_decode_init(AVCodecContext *avctx) ++static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx) + { + BethsoftvidContext *vid = avctx->priv_data; + vid->frame.reference = 1; +@@ -120,7 +120,7 @@ + return buf_size; + } + +-static int bethsoftvid_decode_end(AVCodecContext *avctx) ++static av_cold int bethsoftvid_decode_end(AVCodecContext *avctx) + { + BethsoftvidContext * vid = avctx->priv_data; + if(vid->frame.data[0]) +Index: mythtv/libs/libavcodec/rawdec.c +=================================================================== +--- mythtv/libs/libavcodec/rawdec.c (revision 18209) ++++ mythtv/libs/libavcodec/rawdec.c (working copy) +@@ -63,7 +63,7 @@ + return PIX_FMT_YUV420P; + } + +-static int raw_init_decoder(AVCodecContext *avctx) ++static av_cold int raw_init_decoder(AVCodecContext *avctx) + { + RawVideoContext *context = avctx->priv_data; + +@@ -143,7 +143,7 @@ + return buf_size; + } + +-static int raw_close_decoder(AVCodecContext *avctx) ++static av_cold int raw_close_decoder(AVCodecContext *avctx) + { + RawVideoContext *context = avctx->priv_data; + +Index: mythtv/libs/libavcodec/motion_est.c +=================================================================== +--- mythtv/libs/libavcodec/motion_est.c (revision 18209) ++++ mythtv/libs/libavcodec/motion_est.c (working copy) +@@ -2026,7 +2026,7 @@ + continue; + + for(j=0; jpict_type==B_TYPE || s->current_picture.mc_mb_var[xy] < s->current_picture.mb_var[xy]) ++ if(s->pict_type==FF_B_TYPE || s->current_picture.mc_mb_var[xy] < s->current_picture.mb_var[xy]) + score[j]-= 170; + } + } +@@ -2058,7 +2058,7 @@ + MotionEstContext * const c= &s->me; + const int f_code= s->f_code; + int y, range; +- assert(s->pict_type==P_TYPE); ++ assert(s->pict_type==FF_P_TYPE); + + range = (((s->out_format == FMT_MPEG1 || s->msmpeg4_version) ? 8 : 16) << f_code); + +Index: mythtv/libs/libavcodec/indeo3.c +=================================================================== +--- mythtv/libs/libavcodec/indeo3.c (revision 18209) ++++ mythtv/libs/libavcodec/indeo3.c (working copy) +@@ -62,7 +62,7 @@ + + static int corrector_type_2[8] = { 9, 7, 6, 8, 5, 4, 3, 2 }; + +-static void build_modpred(Indeo3DecodeContext *s) ++static av_cold void build_modpred(Indeo3DecodeContext *s) + { + int i, j; + +@@ -97,7 +97,7 @@ + unsigned char *buf2, int min_width_160); + + /* ---------------------------------------------------------------------- */ +-static void iv_alloc_frames(Indeo3DecodeContext *s) ++static av_cold void iv_alloc_frames(Indeo3DecodeContext *s) + { + int luma_width, luma_height, luma_pixels, chroma_width, chroma_height, + chroma_pixels, i; +@@ -155,7 +155,7 @@ + } + + /* ---------------------------------------------------------------------- */ +-static void iv_free_func(Indeo3DecodeContext *s) ++static av_cold void iv_free_func(Indeo3DecodeContext *s) + { + int i; + +@@ -1057,7 +1057,7 @@ + } + } + +-static int indeo3_decode_init(AVCodecContext *avctx) ++static av_cold int indeo3_decode_init(AVCodecContext *avctx) + { + Indeo3DecodeContext *s = avctx->priv_data; + +@@ -1124,7 +1124,7 @@ + return buf_size; + } + +-static int indeo3_decode_end(AVCodecContext *avctx) ++static av_cold int indeo3_decode_end(AVCodecContext *avctx) + { + Indeo3DecodeContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/h263.c +=================================================================== +--- mythtv/libs/libavcodec/h263.c (revision 18209) ++++ mythtv/libs/libavcodec/h263.c (working copy) +@@ -204,7 +204,7 @@ + put_bits(&s->pb, 16, s->width); + put_bits(&s->pb, 16, s->height); + } +- put_bits(&s->pb, 2, s->pict_type == P_TYPE); /* PictureType */ ++ put_bits(&s->pb, 2, s->pict_type == FF_P_TYPE); /* PictureType */ + put_bits(&s->pb, 1, 1); /* DeblockingFlag: on */ + put_bits(&s->pb, 5, s->qscale); /* Quantizer */ + put_bits(&s->pb, 1, 0); /* ExtraInformation */ +@@ -261,7 +261,7 @@ + if (!s->h263_plus) { + /* H.263v1 */ + put_bits(&s->pb, 3, format); +- put_bits(&s->pb, 1, (s->pict_type == P_TYPE)); ++ put_bits(&s->pb, 1, (s->pict_type == FF_P_TYPE)); + /* By now UMV IS DISABLED ON H.263v1, since the restrictions + of H.263v1 UMV implies to check the predicted MV after + calculation of the current MB to see if we're on the limits */ +@@ -297,7 +297,7 @@ + put_bits(&s->pb,1,1); /* "1" to prevent start code emulation */ + put_bits(&s->pb,3,0); /* Reserved */ + +- put_bits(&s->pb, 3, s->pict_type == P_TYPE); ++ put_bits(&s->pb, 3, s->pict_type == FF_P_TYPE); + + put_bits(&s->pb,1,0); /* Reference Picture Resampling: off */ + put_bits(&s->pb,1,0); /* Reduced-Resolution Update: off */ +@@ -376,12 +376,12 @@ + put_bits(&s->pb, 1, 1); + put_bits(&s->pb, 5, s->qscale); /* GQUANT */ + put_bits(&s->pb, 1, 1); +- put_bits(&s->pb, 2, s->pict_type == I_TYPE); /* GFID */ ++ put_bits(&s->pb, 2, s->pict_type == FF_I_TYPE); /* GFID */ + }else{ + int gob_number= mb_line / s->gob_index; + + put_bits(&s->pb, 5, gob_number); /* GN */ +- put_bits(&s->pb, 2, s->pict_type == I_TYPE); /* GFID */ ++ put_bits(&s->pb, 2, s->pict_type == FF_I_TYPE); /* GFID */ + put_bits(&s->pb, 5, s->qscale); /* GQUANT */ + } + } +@@ -556,7 +556,7 @@ + + ff_clean_h263_qscales(s); + +- if(s->pict_type== B_TYPE){ ++ if(s->pict_type== FF_B_TYPE){ + int odd=0; + /* ok, come on, this isn't funny anymore, there's more code for handling this mpeg4 mess than for the actual adaptive quantization */ + +@@ -900,8 +900,8 @@ + { + int cbpc, cbpy, pred_x, pred_y; + PutBitContext * const pb2 = s->data_partitioning ? &s->pb2 : &s->pb; +- PutBitContext * const tex_pb = s->data_partitioning && s->pict_type!=B_TYPE ? &s->tex_pb : &s->pb; +- PutBitContext * const dc_pb = s->data_partitioning && s->pict_type!=I_TYPE ? &s->pb2 : &s->pb; ++ PutBitContext * const tex_pb = s->data_partitioning && s->pict_type!=FF_B_TYPE ? &s->tex_pb : &s->pb; ++ PutBitContext * const dc_pb = s->data_partitioning && s->pict_type!=FF_I_TYPE ? &s->pb2 : &s->pb; + const int interleaved_stats= (s->flags&CODEC_FLAG_PASS1) && !s->data_partitioning ? 1 : 0; + const int dquant_code[5]= {1,0,9,2,3}; + +@@ -909,7 +909,7 @@ + if (!s->mb_intra) { + int i, cbp; + +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + static const int mb_type_table[8]= {-1, 3, 2, 1,-1,-1,-1, 0}; /* convert from mv_dir to type */ + int mb_type= mb_type_table[s->mv_dir]; + +@@ -1042,7 +1042,7 @@ + s->p_tex_bits+= get_bits_diff(s); + } + +- }else{ /* s->pict_type==B_TYPE */ ++ }else{ /* s->pict_type==FF_B_TYPE */ + cbp= get_p_cbp(s, block, motion_x, motion_y); + + if ((cbp | motion_x | motion_y | s->dquant) == 0 && s->mv_type==MV_TYPE_16X16) { +@@ -1067,7 +1067,7 @@ + int diff; + Picture *pic= s->reordered_input_picture[i+1]; + +- if(pic==NULL || pic->pict_type!=B_TYPE) break; ++ if(pic==NULL || pic->pict_type!=FF_B_TYPE) break; + + b_pic= pic->data[0] + offset; + if(pic->type != FF_BUFFER_TYPE_SHARED) +@@ -1219,7 +1219,7 @@ + } + + cbpc = cbp & 3; +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + if(s->dquant) cbpc+=4; + put_bits(&s->pb, + intra_MCBPC_bits[cbpc], +@@ -1413,7 +1413,7 @@ + } + + cbpc = cbp & 3; +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + if(s->dquant) cbpc+=4; + put_bits(&s->pb, + intra_MCBPC_bits[cbpc], +@@ -1471,7 +1471,7 @@ + uint8_t *dest_cb= s->dest[1]; + uint8_t *dest_cr= s->dest[2]; + +-// if(s->pict_type==B_TYPE && !s->readable) return; ++// if(s->pict_type==FF_B_TYPE && !s->readable) return; + + /* + Diag Top +@@ -2268,7 +2268,7 @@ + + /* must be called before writing the header */ + void ff_set_mpeg4_time(MpegEncContext * s){ +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + ff_mpeg4_init_direct_mv(s); + }else{ + s->last_time_base= s->time_base; +@@ -2458,7 +2458,7 @@ + int time_incr; + int time_div, time_mod; + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + if(!(s->flags&CODEC_FLAG_GLOBAL_HEADER)){ + if(s->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT) //HACK, the reference sw is buggy + mpeg4_encode_visual_object_header(s); +@@ -2469,7 +2469,7 @@ + mpeg4_encode_gop_header(s); + } + +- s->partitioned_frame= s->data_partitioning && s->pict_type!=B_TYPE; ++ s->partitioned_frame= s->data_partitioning && s->pict_type!=FF_B_TYPE; + + //printf("num:%d rate:%d base:%d\n", s->picture_number, s->time_base.den, FRAME_RATE_BASE); + +@@ -2498,8 +2498,8 @@ + put_bits(&s->pb, s->time_increment_bits, time_mod); /* time increment */ + put_bits(&s->pb, 1, 1); /* marker */ + put_bits(&s->pb, 1, 1); /* vop coded */ +- if ( s->pict_type == P_TYPE +- || (s->pict_type == S_TYPE && s->vol_sprite_usage==GMC_SPRITE)) { ++ if ( s->pict_type == FF_P_TYPE ++ || (s->pict_type == FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE)) { + put_bits(&s->pb, 1, s->no_rounding); /* rounding type */ + } + put_bits(&s->pb, 3, 0); /* intra dc VLC threshold */ +@@ -2511,9 +2511,9 @@ + + put_bits(&s->pb, 5, s->qscale); + +- if (s->pict_type != I_TYPE) ++ if (s->pict_type != FF_I_TYPE) + put_bits(&s->pb, 3, s->f_code); /* fcode_for */ +- if (s->pict_type == B_TYPE) ++ if (s->pict_type == FF_B_TYPE) + put_bits(&s->pb, 3, s->b_code); /* fcode_back */ + // printf("****frame %d\n", picture_number); + } +@@ -3077,7 +3077,7 @@ + const int tex_pb_len= put_bits_count(&s->tex_pb); + const int bits= put_bits_count(&s->pb); + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + put_bits(&s->pb, 19, DC_MARKER); + s->misc_bits+=19 + pb2_len + bits - s->last_bits; + s->i_tex_bits+= tex_pb_len; +@@ -3101,13 +3101,13 @@ + + int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s){ + switch(s->pict_type){ +- case I_TYPE: ++ case FF_I_TYPE: + return 16; +- case P_TYPE: +- case S_TYPE: ++ case FF_P_TYPE: ++ case FF_S_TYPE: + return s->f_code+15; +- case B_TYPE: +- return FFMAX(FFMAX(s->f_code, s->b_code)+15, 17); ++ case FF_B_TYPE: ++ return FFMAX3(s->f_code, s->b_code, 2) + 15; + default: + return -1; + } +@@ -3144,7 +3144,7 @@ + // disabling the while lopp since it causes playback issues #3001 + #if 0 + while(v<=0xFF){ +- if(s->pict_type==B_TYPE || (v>>(8-s->pict_type)!=1) || s->partitioned_frame) ++ if(s->pict_type==FF_B_TYPE || (v>>(8-s->pict_type)!=1) || s->partitioned_frame) + break; + skip_bits(&s->gb, 8+s->pict_type); + bits_count+= 8+s->pict_type; +@@ -3210,7 +3210,7 @@ + av_log(s->avctx, AV_LOG_ERROR, "illegal mb_num in video packet (%d %d) \n", mb_num, s->mb_num); + return -1; + } +- if(s->pict_type == B_TYPE){ ++ if(s->pict_type == FF_B_TYPE){ + while(s->next_picture.mbskip_table[ s->mb_index2xy[ mb_num ] ]) mb_num++; + if(mb_num >= s->mb_num) return -1; // slice contains just skipped MBs which where allready decoded + } +@@ -3244,20 +3244,20 @@ + if(s->shape != BIN_ONLY_SHAPE){ + skip_bits(&s->gb, 3); /* intra dc vlc threshold */ + //FIXME don't just ignore everything +- if(s->pict_type == S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ ++ if(s->pict_type == FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ + mpeg4_decode_sprite_trajectory(s, &s->gb); + av_log(s->avctx, AV_LOG_ERROR, "untested\n"); + } + + //FIXME reduced res stuff here + +- if (s->pict_type != I_TYPE) { ++ if (s->pict_type != FF_I_TYPE) { + int f_code = get_bits(&s->gb, 3); /* fcode_for */ + if(f_code==0){ + av_log(s->avctx, AV_LOG_ERROR, "Error, video packet header damaged (f_code=0)\n"); + } + } +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + int b_code = get_bits(&s->gb, 3); + if(b_code==0){ + av_log(s->avctx, AV_LOG_ERROR, "Error, video packet header damaged (b_code=0)\n"); +@@ -3416,7 +3416,7 @@ + if(s->mb_x == s->resync_mb_x && s->mb_y == s->resync_mb_y+1) + s->first_slice_line=0; + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + int i; + + do{ +@@ -3465,7 +3465,7 @@ + skip_bits1(&s->gb); + if(bits&0x10000){ + /* skip mb */ +- if(s->pict_type==S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ ++ if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ + s->current_picture.mb_type[xy]= MB_TYPE_SKIP | MB_TYPE_16x16 | MB_TYPE_GMC | MB_TYPE_L0; + mx= get_amv(s, 0); + my= get_amv(s, 1); +@@ -3506,7 +3506,7 @@ + if(s->mbintra_table[xy]) + ff_clean_intra_table_entries(s); + +- if(s->pict_type==S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0) ++ if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0) + s->mcsel= get_bits1(&s->gb); + else s->mcsel= 0; + +@@ -3578,7 +3578,7 @@ + if(s->mb_x == s->resync_mb_x && s->mb_y == s->resync_mb_y+1) + s->first_slice_line=0; + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + int ac_pred= get_bits1(&s->gb); + int cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1); + if(cbpy<0){ +@@ -3652,8 +3652,8 @@ + int ff_mpeg4_decode_partitions(MpegEncContext *s) + { + int mb_num; +- const int part_a_error= s->pict_type==I_TYPE ? (DC_ERROR|MV_ERROR) : MV_ERROR; +- const int part_a_end = s->pict_type==I_TYPE ? (DC_END |MV_END) : MV_END; ++ const int part_a_error= s->pict_type==FF_I_TYPE ? (DC_ERROR|MV_ERROR) : MV_ERROR; ++ const int part_a_end = s->pict_type==FF_I_TYPE ? (DC_END |MV_END) : MV_END; + + mb_num= mpeg4_decode_partition_a(s); + if(mb_num<0){ +@@ -3669,7 +3669,7 @@ + + s->mb_num_left= mb_num; + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + while(show_bits(&s->gb, 9) == 1) + skip_bits(&s->gb, 9); + if(get_bits_long(&s->gb, 19)!=DC_MARKER){ +@@ -3687,11 +3687,11 @@ + ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, part_a_end); + + if( mpeg4_decode_partition_b(s, mb_num) < 0){ +- if(s->pict_type==P_TYPE) ++ if(s->pict_type==FF_P_TYPE) + ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, DC_ERROR); + return -1; + }else{ +- if(s->pict_type==P_TYPE) ++ if(s->pict_type==FF_P_TYPE) + ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, DC_END); + } + +@@ -3716,7 +3716,7 @@ + ff_set_qscale(s, s->current_picture.qscale_table[xy] ); + } + +- if (s->pict_type == P_TYPE || s->pict_type==S_TYPE) { ++ if (s->pict_type == FF_P_TYPE || s->pict_type==FF_S_TYPE) { + int i; + for(i=0; i<4; i++){ + s->mv[0][i][0] = s->current_picture.motion_val[0][ s->block_index[i] ][0]; +@@ -3730,7 +3730,7 @@ + s->block_last_index[i] = -1; + s->mv_dir = MV_DIR_FORWARD; + s->mv_type = MV_TYPE_16X16; +- if(s->pict_type==S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ ++ if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ + s->mcsel=1; + s->mb_skipped = 0; + }else{ +@@ -3802,7 +3802,7 @@ + s->block_index[i]+= 1; + s->mb_x++; + +- assert(s->pict_type == P_TYPE); ++ assert(s->pict_type == FF_P_TYPE); + + do{ + if (get_bits1(&s->gb)) { +@@ -3902,7 +3902,7 @@ + + assert(!s->h263_pred); + +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + do{ + if (get_bits1(&s->gb)) { + /* skip mb */ +@@ -4002,10 +4002,10 @@ + } + + if(s->obmc){ +- if(s->pict_type == P_TYPE && s->mb_x+1mb_width && s->mb_num_left != 1) ++ if(s->pict_type == FF_P_TYPE && s->mb_x+1mb_width && s->mb_num_left != 1) + preview_obmc(s); + } +- } else if(s->pict_type==B_TYPE) { ++ } else if(s->pict_type==FF_B_TYPE) { + int mb_type; + const int stride= s->b8_stride; + int16_t *mot_val0 = s->current_picture.motion_val[0][ 2*(s->mb_x + s->mb_y*stride) ]; +@@ -4169,7 +4169,7 @@ + + assert(s->h263_pred); + +- if (s->pict_type == P_TYPE || s->pict_type==S_TYPE) { ++ if (s->pict_type == FF_P_TYPE || s->pict_type==FF_S_TYPE) { + do{ + if (get_bits1(&s->gb)) { + /* skip mb */ +@@ -4178,7 +4178,7 @@ + s->block_last_index[i] = -1; + s->mv_dir = MV_DIR_FORWARD; + s->mv_type = MV_TYPE_16X16; +- if(s->pict_type==S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ ++ if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE){ + s->current_picture.mb_type[xy]= MB_TYPE_SKIP | MB_TYPE_GMC | MB_TYPE_16x16 | MB_TYPE_L0; + s->mcsel=1; + s->mv[0][0][0]= get_amv(s, 0); +@@ -4207,7 +4207,7 @@ + s->mb_intra = ((cbpc & 4) != 0); + if (s->mb_intra) goto intra; + +- if(s->pict_type==S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0) ++ if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0) + s->mcsel= get_bits1(&s->gb); + else s->mcsel= 0; + cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1) ^ 0x0F; +@@ -4286,7 +4286,7 @@ + mot_val[1] = my; + } + } +- } else if(s->pict_type==B_TYPE) { ++ } else if(s->pict_type==FF_B_TYPE) { + int modb1; // first bit of modb + int modb2; // second bit of modb + int mb_type; +@@ -4480,7 +4480,7 @@ + if(s->codec_id==CODEC_ID_MPEG4){ + if(mpeg4_is_resync(s)){ + const int delta= s->mb_x + 1 == s->mb_width ? 2 : 1; +- if(s->pict_type==B_TYPE && s->next_picture.mbskip_table[xy + delta]) ++ if(s->pict_type==FF_B_TYPE && s->next_picture.mbskip_table[xy + delta]) + return SLICE_OK; + return SLICE_END; + } +@@ -4574,7 +4574,7 @@ + /* DC coef */ + if(s->codec_id == CODEC_ID_RV10){ + #ifdef CONFIG_RV10_DECODER +- if (s->rv10_version == 3 && s->pict_type == I_TYPE) { ++ if (s->rv10_version == 3 && s->pict_type == FF_I_TYPE) { + int component, diff; + component = (n <= 3 ? 0 : n - 4 + 1); + level = s->last_dc[component]; +@@ -5043,7 +5043,7 @@ + if (!width) + return -1; + +- s->pict_type = I_TYPE + get_bits1(&s->gb); ++ s->pict_type = FF_I_TYPE + get_bits1(&s->gb); + + s->h263_long_vectors = get_bits1(&s->gb); + +@@ -5110,10 +5110,10 @@ + /* MPPTYPE */ + s->pict_type = get_bits(&s->gb, 3); + switch(s->pict_type){ +- case 0: s->pict_type= I_TYPE;break; +- case 1: s->pict_type= P_TYPE;break; +- case 3: s->pict_type= B_TYPE;break; +- case 7: s->pict_type= I_TYPE;break; //ZYGO ++ case 0: s->pict_type= FF_I_TYPE;break; ++ case 1: s->pict_type= FF_P_TYPE;break; ++ case 3: s->pict_type= FF_B_TYPE;break; ++ case 7: s->pict_type= FF_I_TYPE;break; //ZYGO + default: + return -1; + } +@@ -5233,7 +5233,7 @@ + show_pict_info(s); + } + #if 1 +- if (s->pict_type == I_TYPE && s->codec_tag == ff_get_fourcc("ZYGO")){ ++ if (s->pict_type == FF_I_TYPE && s->codec_tag == ff_get_fourcc("ZYGO")){ + int i,j; + for(i=0; i<85; i++) av_log(s->avctx, AV_LOG_DEBUG, "%d", get_bits1(&s->gb)); + av_log(s->avctx, AV_LOG_DEBUG, "\n"); +@@ -5739,7 +5739,7 @@ + + /** + * decodes the user data stuff in the header. +- * allso inits divx/xvid/lavc_version/build ++ * Also initializes divx/xvid/lavc_version/build. + */ + static int decode_user_data(MpegEncContext *s, GetBitContext *gb){ + char buf[256]; +@@ -5795,13 +5795,13 @@ + static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){ + int time_incr, time_increment; + +- s->pict_type = get_bits(gb, 2) + I_TYPE; /* pict type: I = 0 , P = 1 */ +- if(s->pict_type==B_TYPE && s->low_delay && s->vol_control_parameters==0 && !(s->flags & CODEC_FLAG_LOW_DELAY)){ ++ s->pict_type = get_bits(gb, 2) + FF_I_TYPE; /* pict type: I = 0 , P = 1 */ ++ if(s->pict_type==FF_B_TYPE && s->low_delay && s->vol_control_parameters==0 && !(s->flags & CODEC_FLAG_LOW_DELAY)){ + av_log(s->avctx, AV_LOG_ERROR, "low_delay flag incorrectly, clearing it\n"); + s->low_delay=0; + } + +- s->partitioned_frame= s->data_partitioning && s->pict_type!=B_TYPE; ++ s->partitioned_frame= s->data_partitioning && s->pict_type!=FF_B_TYPE; + if(s->partitioned_frame) + s->decode_mb= mpeg4_decode_partitioned_mb; + else +@@ -5828,7 +5828,7 @@ + + // printf("%d %X\n", s->time_increment_bits, time_increment); + //av_log(s->avctx, AV_LOG_DEBUG, " type:%d modulo_time_base:%d increment:%d t_frame %d\n", s->pict_type, time_incr, time_increment, s->t_frame); +- if(s->pict_type!=B_TYPE){ ++ if(s->pict_type!=FF_B_TYPE){ + s->last_time_base= s->time_base; + s->time_base+= time_incr; + s->time= s->time_base*s->avctx->time_base.den + time_increment; +@@ -5880,8 +5880,8 @@ + } + //printf("time %d %d %d || %"PRId64" %"PRId64" %"PRId64"\n", s->time_increment_bits, s->avctx->time_base.den, s->time_base, + //s->time, s->last_non_b_time, s->last_non_b_time - s->pp_time); +- if (s->shape != BIN_ONLY_SHAPE && ( s->pict_type == P_TYPE +- || (s->pict_type == S_TYPE && s->vol_sprite_usage==GMC_SPRITE))) { ++ if (s->shape != BIN_ONLY_SHAPE && ( s->pict_type == FF_P_TYPE ++ || (s->pict_type == FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE))) { + /* rounding type for motion estimation */ + s->no_rounding = get_bits1(gb); + } else { +@@ -5890,7 +5890,7 @@ + //FIXME reduced res stuff + + if (s->shape != RECT_SHAPE) { +- if (s->vol_sprite_usage != 1 || s->pict_type != I_TYPE) { ++ if (s->vol_sprite_usage != 1 || s->pict_type != FF_I_TYPE) { + int width, height, hor_spat_ref, ver_spat_ref; + + width = get_bits(gb, 13); +@@ -5930,7 +5930,7 @@ + ff_init_scantable(s->dsp.idct_permutation, &s->intra_v_scantable, ff_alternate_vertical_scan); + } + +- if(s->pict_type == S_TYPE && (s->vol_sprite_usage==STATIC_SPRITE || s->vol_sprite_usage==GMC_SPRITE)){ ++ if(s->pict_type == FF_S_TYPE && (s->vol_sprite_usage==STATIC_SPRITE || s->vol_sprite_usage==GMC_SPRITE)){ + mpeg4_decode_sprite_trajectory(s, gb); + if(s->sprite_brightness_change) av_log(s->avctx, AV_LOG_ERROR, "sprite_brightness_change not supported\n"); + if(s->vol_sprite_usage==STATIC_SPRITE) av_log(s->avctx, AV_LOG_ERROR, "static sprite not supported\n"); +@@ -5943,7 +5943,7 @@ + return -1; // makes no sense to continue, as there is nothing left from the image then + } + +- if (s->pict_type != I_TYPE) { ++ if (s->pict_type != FF_I_TYPE) { + s->f_code = get_bits(gb, 3); /* fcode_for */ + if(s->f_code==0){ + av_log(s->avctx, AV_LOG_ERROR, "Error, header damaged or not MPEG4 header (f_code=0)\n"); +@@ -5952,7 +5952,7 @@ + }else + s->f_code=1; + +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + s->b_code = get_bits(gb, 3); + }else + s->b_code=1; +@@ -5960,14 +5960,14 @@ + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ + av_log(s->avctx, AV_LOG_DEBUG, "qp:%d fc:%d,%d %s size:%d pro:%d alt:%d top:%d %spel part:%d resync:%d w:%d a:%d rnd:%d vot:%d%s dc:%d\n", + s->qscale, s->f_code, s->b_code, +- s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), ++ s->pict_type == FF_I_TYPE ? "I" : (s->pict_type == FF_P_TYPE ? "P" : (s->pict_type == FF_B_TYPE ? "B" : "S")), + gb->size_in_bits,s->progressive_sequence, s->alternate_scan, s->top_field_first, + s->quarter_sample ? "q" : "h", s->data_partitioning, s->resync_marker, s->num_sprite_warping_points, + s->sprite_warping_accuracy, 1-s->no_rounding, s->vo_type, s->vol_control_parameters ? " VOLC" : " ", s->intra_dc_threshold); + } + + if(!s->scalability){ +- if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) { ++ if (s->shape!=RECT_SHAPE && s->pict_type!=FF_I_TYPE) { + skip_bits1(gb); // vop shape coding type + } + }else{ +@@ -6117,7 +6117,7 @@ + } + s->h263_plus = 0; + +- s->pict_type = I_TYPE + get_bits1(&s->gb); ++ s->pict_type = FF_I_TYPE + get_bits1(&s->gb); + + s->unrestricted_mv = get_bits1(&s->gb); + s->h263_long_vectors = s->unrestricted_mv; +@@ -6208,10 +6208,10 @@ + s->width = width; + s->height = height; + +- s->pict_type = I_TYPE + get_bits(&s->gb, 2); +- s->dropable= s->pict_type > P_TYPE; ++ s->pict_type = FF_I_TYPE + get_bits(&s->gb, 2); ++ s->dropable= s->pict_type > FF_P_TYPE; + if (s->dropable) +- s->pict_type = P_TYPE; ++ s->pict_type = FF_P_TYPE; + + skip_bits1(&s->gb); /* deblocking flag */ + s->chroma_qscale= s->qscale = get_bits(&s->gb, 5); +Index: mythtv/libs/libavcodec/snow.c +=================================================================== +--- mythtv/libs/libavcodec/snow.c (revision 18209) ++++ mythtv/libs/libavcodec/snow.c (working copy) +@@ -3703,7 +3703,7 @@ + } + } + +-static int common_init(AVCodecContext *avctx){ ++static av_cold int common_init(AVCodecContext *avctx){ + SnowContext *s = avctx->priv_data; + int width, height; + int i, j; +@@ -3864,7 +3864,7 @@ + coef_sum = (uint64_t)coef_sum * coef_sum >> 16; + assert(coef_sum < INT_MAX); + +- if(pict->pict_type == I_TYPE){ ++ if(pict->pict_type == FF_I_TYPE){ + s->m.current_picture.mb_var_sum= coef_sum; + s->m.current_picture.mc_mb_var_sum= 0; + }else{ +@@ -4025,7 +4025,7 @@ + + #endif /* QUANTIZE2==1 */ + +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + SnowContext *s = avctx->priv_data; + int plane_index; +@@ -4263,7 +4263,7 @@ + frame_start(s); + + s->m.current_picture_ptr= &s->m.current_picture; +- if(pict->pict_type == P_TYPE){ ++ if(pict->pict_type == FF_P_TYPE){ + int block_width = (width +15)>>4; + int block_height= (height+15)>>4; + int stride= s->current_picture.linesize[0]; +@@ -4312,13 +4312,13 @@ + + redo_frame: + +- if(pict->pict_type == I_TYPE) ++ if(pict->pict_type == FF_I_TYPE) + s->spatial_decomposition_count= 5; + else + s->spatial_decomposition_count= 5; + + s->m.pict_type = pict->pict_type; +- s->qbias= pict->pict_type == P_TYPE ? 2 : 0; ++ s->qbias= pict->pict_type == FF_P_TYPE ? 2 : 0; + + common_init_after_header(avctx); + +@@ -4351,7 +4351,7 @@ + predict_plane(s, s->spatial_idwt_buffer, plane_index, 0); + + if( plane_index==0 +- && pict->pict_type == P_TYPE ++ && pict->pict_type == FF_P_TYPE + && !(avctx->flags&CODEC_FLAG_PASS2) + && s->m.me.scene_change_score > s->avctx->scenechange_threshold){ + ff_init_range_encoder(c, buf, buf_size); +@@ -4402,7 +4402,7 @@ + if(!QUANTIZE2) + quantize(s, b, b->ibuf, b->buf, b->stride, s->qbias); + if(orientation==0) +- decorrelate(s, b, b->ibuf, b->stride, pict->pict_type == P_TYPE, 0); ++ decorrelate(s, b, b->ibuf, b->stride, pict->pict_type == FF_P_TYPE, 0); + encode_subband(s, b, b->ibuf, b->parent ? b->parent->ibuf : NULL, b->stride, orientation); + assert(b->parent==NULL || b->parent->stride == b->stride*2); + if(orientation==0) +@@ -4432,7 +4432,7 @@ + STOP_TIMER("pred-conv")} + }else{ + //ME/MC only +- if(pict->pict_type == I_TYPE){ ++ if(pict->pict_type == FF_I_TYPE){ + for(y=0; ycurrent_picture.data[plane_index][y*s->current_picture.linesize[plane_index] + x]= +@@ -4491,7 +4491,7 @@ + return ff_rac_terminate(c); + } + +-static void common_end(SnowContext *s){ ++static av_cold void common_end(SnowContext *s){ + int plane_index, level, orientation, i; + + av_freep(&s->spatial_dwt_buffer); +@@ -4522,7 +4522,7 @@ + } + } + +-static int encode_end(AVCodecContext *avctx) ++static av_cold int encode_end(AVCodecContext *avctx) + { + SnowContext *s = avctx->priv_data; + +@@ -4532,7 +4532,7 @@ + return 0; + } + +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + avctx->pix_fmt= PIX_FMT_YUV420P; + +@@ -4712,7 +4712,7 @@ + return bytes_read; + } + +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + SnowContext *s = avctx->priv_data; + +@@ -4749,13 +4749,13 @@ + #endif + + +-#if 0 ++#ifdef TEST + #undef malloc + #undef free + #undef printf + #undef random + +-int main(){ ++int main(void){ + int width=256; + int height=256; + int buffer[2][width*height]; +@@ -4898,4 +4898,4 @@ + } + return 0; + } +-#endif /* 0 */ ++#endif /* TEST */ +Index: mythtv/libs/libavcodec/kmvc.c +=================================================================== +--- mythtv/libs/libavcodec/kmvc.c (revision 18209) ++++ mythtv/libs/libavcodec/kmvc.c (working copy) +@@ -338,7 +338,7 @@ + /* + * Init kmvc decoder + */ +-static int decode_init(AVCodecContext * avctx) ++static av_cold int decode_init(AVCodecContext * avctx) + { + KmvcContext *const c = avctx->priv_data; + int i; +@@ -390,7 +390,7 @@ + /* + * Uninit kmvc decoder + */ +-static int decode_end(AVCodecContext * avctx) ++static av_cold int decode_end(AVCodecContext * avctx) + { + KmvcContext *const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/flicvideo.c +=================================================================== +--- mythtv/libs/libavcodec/flicvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/flicvideo.c (working copy) +@@ -76,7 +76,7 @@ + int fli_type; /* either 0xAF11 or 0xAF12, affects palette resolution */ + } FlicDecodeContext; + +-static int flic_decode_init(AVCodecContext *avctx) ++static av_cold int flic_decode_init(AVCodecContext *avctx) + { + FlicDecodeContext *s = avctx->priv_data; + unsigned char *fli_header = (unsigned char *)avctx->extradata; +@@ -725,7 +725,7 @@ + } + + +-static int flic_decode_end(AVCodecContext *avctx) ++static av_cold int flic_decode_end(AVCodecContext *avctx) + { + FlicDecodeContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/zmbvenc.c +=================================================================== +--- mythtv/libs/libavcodec/zmbvenc.c (revision 18209) ++++ mythtv/libs/libavcodec/zmbvenc.c (working copy) +@@ -231,7 +231,7 @@ + /** + * Init zmbv encoder + */ +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + ZmbvEncContext * const c = avctx->priv_data; + int zret; // Zlib return code +@@ -297,7 +297,7 @@ + /** + * Uninit zmbv encoder + */ +-static int encode_end(AVCodecContext *avctx) ++static av_cold int encode_end(AVCodecContext *avctx) + { + ZmbvEncContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/asv1.c +=================================================================== +--- mythtv/libs/libavcodec/asv1.c (revision 18209) ++++ mythtv/libs/libavcodec/asv1.c (working copy) +@@ -113,7 +113,7 @@ + static VLC ac_ccp_vlc; + static VLC asv2_level_vlc; + +-static void init_vlcs(ASV1Context *a){ ++static av_cold void init_vlcs(ASV1Context *a){ + static int done = 0; + + if (!done) { +@@ -521,7 +521,7 @@ + } + #endif /* CONFIG_ENCODERS */ + +-static void common_init(AVCodecContext *avctx){ ++static av_cold void common_init(AVCodecContext *avctx){ + ASV1Context * const a = avctx->priv_data; + + dsputil_init(&a->dsp, avctx); +@@ -535,7 +535,7 @@ + a->avctx= avctx; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + ASV1Context * const a = avctx->priv_data; + AVFrame *p= (AVFrame*)&a->picture; + int i; +@@ -570,7 +570,7 @@ + } + + #ifdef CONFIG_ENCODERS +-static int encode_init(AVCodecContext *avctx){ ++static av_cold int encode_init(AVCodecContext *avctx){ + ASV1Context * const a = avctx->priv_data; + int i; + const int scale= avctx->codec_id == CODEC_ID_ASV1 ? 1 : 2; +@@ -595,7 +595,7 @@ + } + #endif + +-static int decode_end(AVCodecContext *avctx){ ++static av_cold int decode_end(AVCodecContext *avctx){ + ASV1Context * const a = avctx->priv_data; + + av_freep(&a->bitstream_buffer); +Index: mythtv/libs/libavcodec/qtrle.c +=================================================================== +--- mythtv/libs/libavcodec/qtrle.c (revision 18209) ++++ mythtv/libs/libavcodec/qtrle.c (working copy) +@@ -81,7 +81,7 @@ + int rle_code; + int row_ptr, pixel_ptr; + int row_inc = s->frame.linesize[0]; +- unsigned char pi1, pi2, pi3, pi4, pi5, pi6, pi7, pi8; /* 8 palette indices */ ++ unsigned char pi1, pi2, pi3, pi4, pi5, pi6, pi7, pi8; /* 8 palette indexes */ + unsigned char *rgb = s->frame.data[0]; + int pixel_limit = s->frame.linesize[0] * s->avctx->height; + +@@ -124,7 +124,7 @@ + /* decode the run length code */ + rle_code = -rle_code; + /* get the next 4 bytes from the stream, treat them as palette +- * indices, and output them rle_code times */ ++ * indexes, and output them rle_code times */ + CHECK_STREAM_PTR(4); + pi1 = ((s->buf[stream_ptr]) >> 4) & 0x0f; + pi2 = (s->buf[stream_ptr++]) & 0x0f; +@@ -172,7 +172,7 @@ + int rle_code; + int row_ptr, pixel_ptr; + int row_inc = s->frame.linesize[0]; +- unsigned char pi1, pi2, pi3, pi4; /* 4 palette indices */ ++ unsigned char pi1, pi2, pi3, pi4; /* 4 palette indexes */ + unsigned char *rgb = s->frame.data[0]; + int pixel_limit = s->frame.linesize[0] * s->avctx->height; + +@@ -215,7 +215,7 @@ + /* decode the run length code */ + rle_code = -rle_code; + /* get the next 4 bytes from the stream, treat them as palette +- * indices, and output them rle_code times */ ++ * indexes, and output them rle_code times */ + CHECK_STREAM_PTR(4); + pi1 = s->buf[stream_ptr++]; + pi2 = s->buf[stream_ptr++]; +@@ -487,7 +487,7 @@ + } + } + +-static int qtrle_decode_init(AVCodecContext *avctx) ++static av_cold int qtrle_decode_init(AVCodecContext *avctx) + { + QtrleContext *s = avctx->priv_data; + +@@ -603,7 +603,7 @@ + return buf_size; + } + +-static int qtrle_decode_end(AVCodecContext *avctx) ++static av_cold int qtrle_decode_end(AVCodecContext *avctx) + { + QtrleContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/error_resilience.c +=================================================================== +--- mythtv/libs/libavcodec/error_resilience.c (revision 18209) ++++ mythtv/libs/libavcodec/error_resilience.c (working copy) +@@ -565,7 +565,7 @@ + + #ifdef HAVE_XVMC + //prevent dsp.sad() check, that requires access to the image +- if(s->avctx->xvmc_acceleration && s->pict_type==I_TYPE) return 1; ++ if(s->avctx->xvmc_acceleration && s->pict_type==FF_I_TYPE) return 1; + #endif + + skip_amount= FFMAX(undamaged_count/50, 1); //check only upto 50 MBs +@@ -584,7 +584,7 @@ + j++; + if((j%skip_amount) != 0) continue; //skip a few to speed things up + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + uint8_t *mb_ptr = s->current_picture.data[0] + mb_x*16 + mb_y*16*s->linesize; + uint8_t *last_mb_ptr= s->last_picture.data [0] + mb_x*16 + mb_y*16*s->linesize; + +@@ -893,7 +893,7 @@ + } + + /* guess MVs */ +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + for(mb_y=0; mb_ymb_height; mb_y++){ + for(mb_x=0; mb_xmb_width; mb_x++){ + int xy= mb_x*2 + mb_y*2*s->b8_stride; +@@ -1031,7 +1031,7 @@ + const int mb_xy= s->mb_index2xy[i]; + int error= s->error_status_table[mb_xy]; + +- if(s->pict_type!=B_TYPE && (error&(DC_ERROR|MV_ERROR|AC_ERROR))){ ++ if(s->pict_type!=FF_B_TYPE && (error&(DC_ERROR|MV_ERROR|AC_ERROR))){ + s->mbskip_table[mb_xy]=0; + } + s->mbintra_table[mb_xy]=1; +Index: mythtv/libs/libavcodec/interplayvideo.c +=================================================================== +--- mythtv/libs/libavcodec/interplayvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/interplayvideo.c (working copy) +@@ -836,7 +836,7 @@ + } + } + +-static int ipvideo_decode_init(AVCodecContext *avctx) ++static av_cold int ipvideo_decode_init(AVCodecContext *avctx) + { + IpvideoContext *s = avctx->priv_data; + +@@ -920,7 +920,7 @@ + return buf_size; + } + +-static int ipvideo_decode_end(AVCodecContext *avctx) ++static av_cold int ipvideo_decode_end(AVCodecContext *avctx) + { + IpvideoContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/utils.c +=================================================================== +--- mythtv/libs/libavcodec/utils.c (revision 18209) ++++ mythtv/libs/libavcodec/utils.c (working copy) +@@ -1298,6 +1298,7 @@ + case S_TYPE: return 'S'; + case SI_TYPE:return 'i'; + case SP_TYPE:return 'p'; ++ case FF_BI_TYPE:return 'b'; + default: return '?'; + } + } +Index: mythtv/libs/libavcodec/truespeech.c +=================================================================== +--- mythtv/libs/libavcodec/truespeech.c (revision 18209) ++++ mythtv/libs/libavcodec/truespeech.c (working copy) +@@ -50,7 +50,7 @@ + int16_t filters[32]; // filters for every subframe + } TSContext; + +-static int truespeech_decode_init(AVCodecContext * avctx) ++static av_cold int truespeech_decode_init(AVCodecContext * avctx) + { + // TSContext *c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/msmpeg4.c +=================================================================== +--- mythtv/libs/libavcodec/msmpeg4.c (revision 18209) ++++ mythtv/libs/libavcodec/msmpeg4.c (working copy) +@@ -263,7 +263,7 @@ + int intra_luma_count = s->ac_stats[1][0][level][run][last]; + int intra_chroma_count= s->ac_stats[1][1][level][run][last]; + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + size += intra_luma_count *rl_length[i ][level][run][last]; + chroma_size+= intra_chroma_count*rl_length[i+3][level][run][last]; + }else{ +@@ -288,7 +288,7 @@ + // printf("type:%d, best:%d, qp:%d, var:%d, mcvar:%d, size:%d //\n", + // s->pict_type, best, s->qscale, s->mb_var_sum, s->mc_mb_var_sum, best_size); + +- if(s->pict_type==P_TYPE) chroma_best= best; ++ if(s->pict_type==FF_P_TYPE) chroma_best= best; + + memset(s->ac_stats, 0, sizeof(int)*(MAX_LEVEL+1)*(MAX_RUN+1)*2*2*2); + +@@ -297,7 +297,7 @@ + + if(s->pict_type != s->last_non_b_pict_type){ + s->rl_table_index= 2; +- if(s->pict_type==I_TYPE) ++ if(s->pict_type==FF_I_TYPE) + s->rl_chroma_table_index= 1; + else + s->rl_chroma_table_index= 2; +@@ -324,10 +324,10 @@ + s->use_skip_mb_code = 1; /* only if P frame */ + s->per_mb_rl_table = 0; + if(s->msmpeg4_version==4) +- s->inter_intra_pred= (s->width*s->height < 320*240 && s->bit_rate<=II_BITRATE && s->pict_type==P_TYPE); ++ s->inter_intra_pred= (s->width*s->height < 320*240 && s->bit_rate<=II_BITRATE && s->pict_type==FF_P_TYPE); + //printf("%d %d %d %d %d\n", s->pict_type, s->bit_rate, s->inter_intra_pred, s->width, s->height); + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + s->slice_height= s->mb_height/1; + put_bits(&s->pb, 5, 0x16 + s->mb_height/s->slice_height); + +@@ -550,7 +550,7 @@ + #endif + + if(s->msmpeg4_version<=2){ +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + put_bits(&s->pb, + v2_intra_cbpc[cbp&3][1], v2_intra_cbpc[cbp&3][0]); + } else { +@@ -565,7 +565,7 @@ + cbpy_tab[cbp>>2][1], + cbpy_tab[cbp>>2][0]); + }else{ +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + put_bits(&s->pb, + ff_msmp4_mb_i_table[coded_cbp][1], ff_msmp4_mb_i_table[coded_cbp][0]); + } else { +@@ -1176,15 +1176,15 @@ + } + + s->pict_type = get_bits(&s->gb, 2) + 1; +- if (s->pict_type != I_TYPE && +- s->pict_type != P_TYPE){ ++ if (s->pict_type != FF_I_TYPE && ++ s->pict_type != FF_P_TYPE){ + av_log(s->avctx, AV_LOG_ERROR, "invalid picture type\n"); + return -1; + } + #if 0 + { + static int had_i=0; +- if(s->pict_type == I_TYPE) had_i=1; ++ if(s->pict_type == FF_I_TYPE) had_i=1; + if(!had_i) return -1; + } + #endif +@@ -1194,7 +1194,7 @@ + return -1; + } + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + code = get_bits(&s->gb, 5); + if(s->msmpeg4_version==1){ + if(code==0 || code>s->mb_height){ +@@ -1428,7 +1428,7 @@ + { + int cbp, code, i; + +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + if (s->use_skip_mb_code) { + if (get_bits1(&s->gb)) { + /* skip mb */ +@@ -1495,7 +1495,7 @@ + } else{ + s->ac_pred = 0; + cbp|= get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1)<<2; //FIXME check errors +- if(s->pict_type==P_TYPE) cbp^=0x3C; ++ if(s->pict_type==FF_P_TYPE) cbp^=0x3C; + } + } + +@@ -1516,7 +1516,7 @@ + uint8_t *coded_val; + uint32_t * const mb_type_ptr= &s->current_picture.mb_type[ s->mb_x + s->mb_y*s->mb_stride ]; + +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + if (s->use_skip_mb_code) { + if (get_bits1(&s->gb)) { + /* skip mb */ +Index: mythtv/libs/libavcodec/8bps.c +=================================================================== +--- mythtv/libs/libavcodec/8bps.c (revision 18209) ++++ mythtv/libs/libavcodec/8bps.c (working copy) +@@ -148,7 +148,7 @@ + * Init 8BPS decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + EightBpsContext * const c = avctx->priv_data; + +@@ -208,7 +208,7 @@ + * Uninit 8BPS decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + EightBpsContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/h264.c +=================================================================== +--- mythtv/libs/libavcodec/h264.c (revision 18209) ++++ mythtv/libs/libavcodec/h264.c (working copy) +@@ -32,8 +32,12 @@ + #include "h264data.h" + #include "h264_parser.h" + #include "golomb.h" ++#include "rectangle.h" + + #include "cabac.h" ++#ifdef ARCH_X86 ++#include "i386/h264_i386.h" ++#endif + + //#undef NDEBUG + #include +@@ -45,18 +49,34 @@ + #define DELAYED_PIC_REF 4 + + static VLC coeff_token_vlc[4]; ++static VLC_TYPE coeff_token_vlc_tables[520+332+280+256][2]; ++static const int coeff_token_vlc_tables_size[4]={520,332,280,256}; ++ + static VLC chroma_dc_coeff_token_vlc; ++static VLC_TYPE chroma_dc_coeff_token_vlc_table[256][2]; ++static const int chroma_dc_coeff_token_vlc_table_size = 256; + + static VLC total_zeros_vlc[15]; ++static VLC_TYPE total_zeros_vlc_tables[15][512][2]; ++static const int total_zeros_vlc_tables_size = 512; ++ + static VLC chroma_dc_total_zeros_vlc[3]; ++static VLC_TYPE chroma_dc_total_zeros_vlc_tables[3][8][2]; ++static const int chroma_dc_total_zeros_vlc_tables_size = 8; + + static VLC run_vlc[6]; ++static VLC_TYPE run_vlc_tables[6][8][2]; ++static const int run_vlc_tables_size = 8; ++ + static VLC run7_vlc; ++static VLC_TYPE run7_vlc_table[96][2]; ++static const int run7_vlc_table_size = 96; + + static void svq3_luma_dc_dequant_idct_c(DCTELEM *block, int qp); + static void svq3_add_idct_c(uint8_t *dst, DCTELEM *block, int stride, int qp, int dc); + static void filter_mb( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize); + static void filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize); ++static Picture * remove_long(H264Context *h, int i, int ref_mask); + + static av_always_inline uint32_t pack16to32(int a, int b){ + #ifdef WORDS_BIGENDIAN +@@ -74,121 +94,34 @@ + 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, + }; + ++static const int left_block_options[4][8]={ ++ {0,1,2,3,7,10,8,11}, ++ {2,2,3,3,8,11,8,11}, ++ {0,0,1,1,7,10,7,10}, ++ {0,2,0,2,7,10,7,10} ++}; + +-/** +- * fill a rectangle. +- * @param h height of the rectangle, should be a constant +- * @param w width of the rectangle, should be a constant +- * @param size the size of val (1 or 4), should be a constant +- */ +-static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride, uint32_t val, int size){ +- uint8_t *p= (uint8_t*)vp; +- assert(size==1 || size==4); +- assert(w<=4); +- +- w *= size; +- stride *= size; +- +- assert((((long)vp)&(FFMIN(w, STRIDE_ALIGN)-1)) == 0); +- assert((stride&(w-1))==0); +- if(w==2){ +- const uint16_t v= size==4 ? val : val*0x0101; +- *(uint16_t*)(p + 0*stride)= v; +- if(h==1) return; +- *(uint16_t*)(p + 1*stride)= v; +- if(h==2) return; +- *(uint16_t*)(p + 2*stride)= v; +- *(uint16_t*)(p + 3*stride)= v; +- }else if(w==4){ +- const uint32_t v= size==4 ? val : val*0x01010101; +- *(uint32_t*)(p + 0*stride)= v; +- if(h==1) return; +- *(uint32_t*)(p + 1*stride)= v; +- if(h==2) return; +- *(uint32_t*)(p + 2*stride)= v; +- *(uint32_t*)(p + 3*stride)= v; +- }else if(w==8){ +- //gcc can't optimize 64bit math on x86_32 +-#if defined(ARCH_X86_64) || (defined(MP_WORDSIZE) && MP_WORDSIZE >= 64) +- const uint64_t v= val*0x0100000001ULL; +- *(uint64_t*)(p + 0*stride)= v; +- if(h==1) return; +- *(uint64_t*)(p + 1*stride)= v; +- if(h==2) return; +- *(uint64_t*)(p + 2*stride)= v; +- *(uint64_t*)(p + 3*stride)= v; +- }else if(w==16){ +- const uint64_t v= val*0x0100000001ULL; +- *(uint64_t*)(p + 0+0*stride)= v; +- *(uint64_t*)(p + 8+0*stride)= v; +- *(uint64_t*)(p + 0+1*stride)= v; +- *(uint64_t*)(p + 8+1*stride)= v; +- if(h==2) return; +- *(uint64_t*)(p + 0+2*stride)= v; +- *(uint64_t*)(p + 8+2*stride)= v; +- *(uint64_t*)(p + 0+3*stride)= v; +- *(uint64_t*)(p + 8+3*stride)= v; +-#else +- *(uint32_t*)(p + 0+0*stride)= val; +- *(uint32_t*)(p + 4+0*stride)= val; +- if(h==1) return; +- *(uint32_t*)(p + 0+1*stride)= val; +- *(uint32_t*)(p + 4+1*stride)= val; +- if(h==2) return; +- *(uint32_t*)(p + 0+2*stride)= val; +- *(uint32_t*)(p + 4+2*stride)= val; +- *(uint32_t*)(p + 0+3*stride)= val; +- *(uint32_t*)(p + 4+3*stride)= val; +- }else if(w==16){ +- *(uint32_t*)(p + 0+0*stride)= val; +- *(uint32_t*)(p + 4+0*stride)= val; +- *(uint32_t*)(p + 8+0*stride)= val; +- *(uint32_t*)(p +12+0*stride)= val; +- *(uint32_t*)(p + 0+1*stride)= val; +- *(uint32_t*)(p + 4+1*stride)= val; +- *(uint32_t*)(p + 8+1*stride)= val; +- *(uint32_t*)(p +12+1*stride)= val; +- if(h==2) return; +- *(uint32_t*)(p + 0+2*stride)= val; +- *(uint32_t*)(p + 4+2*stride)= val; +- *(uint32_t*)(p + 8+2*stride)= val; +- *(uint32_t*)(p +12+2*stride)= val; +- *(uint32_t*)(p + 0+3*stride)= val; +- *(uint32_t*)(p + 4+3*stride)= val; +- *(uint32_t*)(p + 8+3*stride)= val; +- *(uint32_t*)(p +12+3*stride)= val; +-#endif +- }else +- assert(0); +- assert(h==4); +-} +- + static void fill_caches(H264Context *h, int mb_type, int for_deblock){ + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + int topleft_xy, top_xy, topright_xy, left_xy[2]; + int topleft_type, top_type, topright_type, left_type[2]; +- int left_block[8]; ++ int * left_block; ++ int topleft_partition= -1; + int i; + ++ top_xy = mb_xy - (s->mb_stride << FIELD_PICTURE); ++ + //FIXME deblocking could skip the intra and nnz parts. +- if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[mb_xy-s->mb_stride]) && !FRAME_MBAFF) ++ if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[top_xy]) && !FRAME_MBAFF) + return; + + //wow what a mess, why didn't they simplify the interlacing&intra stuff, i can't imagine that these complex rules are worth it + +- top_xy = mb_xy - (s->mb_stride << FIELD_PICTURE); + topleft_xy = top_xy - 1; + topright_xy= top_xy + 1; + left_xy[1] = left_xy[0] = mb_xy-1; +- left_block[0]= 0; +- left_block[1]= 1; +- left_block[2]= 2; +- left_block[3]= 3; +- left_block[4]= 7; +- left_block[5]= 10; +- left_block[6]= 8; +- left_block[7]= 11; ++ left_block = left_block_options[0]; + if(FRAME_MBAFF){ + const int pair_xy = s->mb_x + (s->mb_y & ~1)*s->mb_stride; + const int top_pair_xy = pair_xy - s->mb_stride; +@@ -212,6 +145,10 @@ + : (!curr_mb_frame_flag && !topleft_mb_frame_flag) // top macroblock + ) { + topleft_xy -= s->mb_stride; ++ } else if(bottom && curr_mb_frame_flag && !left_mb_frame_flag) { ++ topleft_xy += s->mb_stride; ++ // take top left mv from the middle of the mb, as opposed to all other modes which use the bottom right partition ++ topleft_partition = 0; + } + if (bottom + ? !curr_mb_frame_flag // bottom macroblock +@@ -223,34 +160,13 @@ + left_xy[1] = left_xy[0] = pair_xy - 1; + if (curr_mb_frame_flag) { + if (bottom) { +- left_block[0]= 2; +- left_block[1]= 2; +- left_block[2]= 3; +- left_block[3]= 3; +- left_block[4]= 8; +- left_block[5]= 11; +- left_block[6]= 8; +- left_block[7]= 11; ++ left_block = left_block_options[1]; + } else { +- left_block[0]= 0; +- left_block[1]= 0; +- left_block[2]= 1; +- left_block[3]= 1; +- left_block[4]= 7; +- left_block[5]= 10; +- left_block[6]= 7; +- left_block[7]= 10; ++ left_block= left_block_options[2]; + } + } else { + left_xy[1] += s->mb_stride; +- //left_block[0]= 0; +- left_block[1]= 2; +- left_block[2]= 0; +- left_block[3]= 2; +- //left_block[4]= 7; +- left_block[5]= 10; +- left_block[6]= 7; +- left_block[7]= 10; ++ left_block = left_block_options[3]; + } + } + } +@@ -265,30 +181,19 @@ + left_type[0] = h->slice_table[left_xy[0] ] < 255 ? s->current_picture.mb_type[left_xy[0]] : 0; + left_type[1] = h->slice_table[left_xy[1] ] < 255 ? s->current_picture.mb_type[left_xy[1]] : 0; + +- if(FRAME_MBAFF && !IS_INTRA(mb_type)){ ++ if(MB_MBAFF && !IS_INTRA(mb_type)){ + int list; +- int v = *(uint16_t*)&h->non_zero_count[mb_xy][14]; +- for(i=0; i<16; i++) +- h->non_zero_count_cache[scan8[i]] = (v>>i)&1; + for(list=0; listlist_count; list++){ ++ //These values where changed for ease of performing MC, we need to change them back ++ //FIXME maybe we can make MC and loop filter use the same values or prevent ++ //the MC code from changing ref_cache and rather use a temporary array. + if(USES_LIST(mb_type,list)){ +- uint32_t *src = (uint32_t*)s->current_picture.motion_val[list][h->mb2b_xy[mb_xy]]; +- uint32_t *dst = (uint32_t*)h->mv_cache[list][scan8[0]]; + int8_t *ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]]; +- for(i=0; i<4; i++, dst+=8, src+=h->b_stride){ +- dst[0] = src[0]; +- dst[1] = src[1]; +- dst[2] = src[2]; +- dst[3] = src[3]; +- } + *(uint32_t*)&h->ref_cache[list][scan8[ 0]] = +- *(uint32_t*)&h->ref_cache[list][scan8[ 2]] = pack16to32(ref[0],ref[1])*0x0101; ++ *(uint32_t*)&h->ref_cache[list][scan8[ 2]] = (pack16to32(ref[0],ref[1])&0x00FF00FF)*0x0101; + ref += h->b8_stride; + *(uint32_t*)&h->ref_cache[list][scan8[ 8]] = +- *(uint32_t*)&h->ref_cache[list][scan8[10]] = pack16to32(ref[0],ref[1])*0x0101; +- }else{ +- fill_rectangle(&h-> mv_cache[list][scan8[ 0]], 4, 4, 8, 0, 4); +- fill_rectangle(&h->ref_cache[list][scan8[ 0]], 4, 4, 8, (uint8_t)LIST_NOT_USED, 1); ++ *(uint32_t*)&h->ref_cache[list][scan8[10]] = (pack16to32(ref[0],ref[1])&0x00FF00FF)*0x0101; + } + } + } +@@ -298,30 +203,49 @@ + topright_type= h->slice_table[topright_xy] == h->slice_num ? s->current_picture.mb_type[topright_xy]: 0; + left_type[0] = h->slice_table[left_xy[0] ] == h->slice_num ? s->current_picture.mb_type[left_xy[0]] : 0; + left_type[1] = h->slice_table[left_xy[1] ] == h->slice_num ? s->current_picture.mb_type[left_xy[1]] : 0; +- } + + if(IS_INTRA(mb_type)){ ++ int type_mask= h->pps.constrained_intra_pred ? IS_INTRA(-1) : -1; + h->topleft_samples_available= + h->top_samples_available= + h->left_samples_available= 0xFFFF; + h->topright_samples_available= 0xEEEA; + +- if(!IS_INTRA(top_type) && (top_type==0 || h->pps.constrained_intra_pred)){ ++ if(!(top_type & type_mask)){ + h->topleft_samples_available= 0xB3FF; + h->top_samples_available= 0x33FF; + h->topright_samples_available= 0x26EA; + } +- for(i=0; i<2; i++){ +- if(!IS_INTRA(left_type[i]) && (left_type[i]==0 || h->pps.constrained_intra_pred)){ ++ if(IS_INTERLACED(mb_type) != IS_INTERLACED(left_type[0])){ ++ if(IS_INTERLACED(mb_type)){ ++ if(!(left_type[0] & type_mask)){ ++ h->topleft_samples_available&= 0xDFFF; ++ h->left_samples_available&= 0x5FFF; ++ } ++ if(!(left_type[1] & type_mask)){ ++ h->topleft_samples_available&= 0xFF5F; ++ h->left_samples_available&= 0xFF5F; ++ } ++ }else{ ++ int left_typei = h->slice_table[left_xy[0] + s->mb_stride ] == h->slice_num ++ ? s->current_picture.mb_type[left_xy[0] + s->mb_stride] : 0; ++ assert(left_xy[0] == left_xy[1]); ++ if(!((left_typei & type_mask) && (left_type[0] & type_mask))){ ++ h->topleft_samples_available&= 0xDF5F; ++ h->left_samples_available&= 0x5F5F; ++ } ++ } ++ }else{ ++ if(!(left_type[0] & type_mask)){ + h->topleft_samples_available&= 0xDF5F; + h->left_samples_available&= 0x5F5F; + } + } + +- if(!IS_INTRA(topleft_type) && (topleft_type==0 || h->pps.constrained_intra_pred)) ++ if(!(topleft_type & type_mask)) + h->topleft_samples_available&= 0x7FFF; + +- if(!IS_INTRA(topright_type) && (topright_type==0 || h->pps.constrained_intra_pred)) ++ if(!(topright_type & type_mask)) + h->topright_samples_available&= 0xFBFF; + + if(IS_INTRA4x4(mb_type)){ +@@ -332,7 +256,7 @@ + h->intra4x4_pred_mode_cache[7+8*0]= h->intra4x4_pred_mode[top_xy][3]; + }else{ + int pred; +- if(!top_type || (IS_INTER(top_type) && h->pps.constrained_intra_pred)) ++ if(!(top_type & type_mask)) + pred= -1; + else{ + pred= 2; +@@ -348,7 +272,7 @@ + h->intra4x4_pred_mode_cache[3+8*2 + 2*8*i]= h->intra4x4_pred_mode[left_xy[i]][left_block[1+2*i]]; + }else{ + int pred; +- if(!left_type[i] || (IS_INTER(left_type[i]) && h->pps.constrained_intra_pred)) ++ if(!(left_type[i] & type_mask)) + pred= -1; + else{ + pred= 2; +@@ -359,6 +283,7 @@ + } + } + } ++ } + + + /* +@@ -369,7 +294,7 @@ + 4 L . .L . . . . + 5 L . .. . . . . + */ +-//FIXME constraint_intra_pred & partitioning & nnz (lets hope this is just a typo in the spec) ++//FIXME constraint_intra_pred & partitioning & nnz (let us hope this is just a typo in the spec) + if(top_type){ + h->non_zero_count_cache[4+8*0]= h->non_zero_count[top_xy][4]; + h->non_zero_count_cache[5+8*0]= h->non_zero_count[top_xy][5]; +@@ -485,12 +410,12 @@ + } + } + +- if((for_deblock || (IS_DIRECT(mb_type) && !h->direct_spatial_mv_pred)) && !FRAME_MBAFF) ++ if(for_deblock || ((IS_DIRECT(mb_type) && !h->direct_spatial_mv_pred) && !FRAME_MBAFF)) + continue; + + if(USES_LIST(topleft_type, list)){ +- const int b_xy = h->mb2b_xy[topleft_xy] + 3 + 3*h->b_stride; +- const int b8_xy= h->mb2b8_xy[topleft_xy] + 1 + h->b8_stride; ++ const int b_xy = h->mb2b_xy[topleft_xy] + 3 + h->b_stride + (topleft_partition & 2*h->b_stride); ++ const int b8_xy= h->mb2b8_xy[topleft_xy] + 1 + (topleft_partition & h->b8_stride); + *(uint32_t*)h->mv_cache[list][scan8[0] - 1 - 1*8]= *(uint32_t*)s->current_picture.motion_val[list][b_xy]; + h->ref_cache[list][scan8[0] - 1 - 1*8]= s->current_picture.ref_index[list][b8_xy]; + }else{ +@@ -558,7 +483,7 @@ + *(uint32_t*)h->mvd_cache [list][scan8[4 ]]= + *(uint32_t*)h->mvd_cache [list][scan8[12]]= 0; + +- if(h->slice_type == B_TYPE){ ++ if(h->slice_type_nos == FF_B_TYPE){ + fill_rectangle(&h->direct_cache[scan8[0]], 4, 4, 8, 0, 1); + + if(IS_DIRECT(top_type)){ +@@ -627,8 +552,7 @@ + } + + static inline void write_back_intra_pred_mode(H264Context *h){ +- MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + + h->intra4x4_pred_mode[mb_xy][0]= h->intra4x4_pred_mode_cache[7+8*1]; + h->intra4x4_pred_mode[mb_xy][1]= h->intra4x4_pred_mode_cache[7+8*2]; +@@ -660,8 +584,10 @@ + } + } + +- if(!(h->left_samples_available&0x8000)){ ++ if((h->left_samples_available&0x8888)!=0x8888){ ++ static const int mask[4]={0x8000,0x2000,0x80,0x20}; + for(i=0; i<4; i++){ ++ if(!(h->left_samples_available&mask[i])){ + int status= left[ h->intra4x4_pred_mode_cache[scan8[0] + 8*i] ]; + if(status<0){ + av_log(h->s.avctx, AV_LOG_ERROR, "left block unavailable for requested intra4x4 mode %d at %d %d\n", status, s->mb_x, s->mb_y); +@@ -669,6 +595,7 @@ + } else if(status){ + h->intra4x4_pred_mode_cache[scan8[0] + 8*i]= status; + } ++ } + } + } + +@@ -696,8 +623,11 @@ + } + } + +- if(!(h->left_samples_available&0x8000)){ ++ if((h->left_samples_available&0x8080) != 0x8080){ + mode= left[ mode ]; ++ if(h->left_samples_available&0x8080){ //mad cow disease mode, aka MBAFF + constrained_intra_pred ++ mode= ALZHEIMER_DC_L0T_PRED8x8 + (!(h->left_samples_available&0x8000)) + 2*(mode == DC_128_PRED8x8); ++ } + if(mode<0){ + av_log(h->s.avctx, AV_LOG_ERROR, "left block unavailable for requested intra mode at %d %d\n", s->mb_x, s->mb_y); + return -1; +@@ -723,8 +653,7 @@ + } + + static inline void write_back_non_zero_count(H264Context *h){ +- MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + + h->non_zero_count[mb_xy][0]= h->non_zero_count_cache[7+8*1]; + h->non_zero_count[mb_xy][1]= h->non_zero_count_cache[7+8*2]; +@@ -741,18 +670,10 @@ + h->non_zero_count[mb_xy][12]=h->non_zero_count_cache[1+8*5]; + h->non_zero_count[mb_xy][11]=h->non_zero_count_cache[2+8*5]; + h->non_zero_count[mb_xy][10]=h->non_zero_count_cache[2+8*4]; +- +- if(FRAME_MBAFF){ +- // store all luma nnzs, for deblocking +- int v = 0, i; +- for(i=0; i<16; i++) +- v += (!!h->non_zero_count_cache[scan8[i]]) << i; +- *(uint16_t*)&h->non_zero_count[mb_xy][14] = v; +- } + } + + /** +- * gets the predicted number of non zero coefficients. ++ * gets the predicted number of non-zero coefficients. + * @param n block index + */ + static inline int pred_non_zero_count(H264Context *h, int n){ +@@ -787,7 +708,7 @@ + #define SET_DIAG_MV(MV_OP, REF_OP, X4, Y4)\ + const int x4 = X4, y4 = Y4;\ + const int mb_type = mb_types[(x4>>2)+(y4>>2)*s->mb_stride];\ +- if(!USES_LIST(mb_type,list) && !IS_8X8(mb_type))\ ++ if(!USES_LIST(mb_type,list))\ + return LIST_NOT_USED;\ + mv = s->current_picture_ptr->motion_val[list][x4 + y4*h->b_stride];\ + h->mv_cache[list][scan8[0]-2][0] = mv[0];\ +@@ -807,8 +728,8 @@ + if(MB_FIELD + && !IS_INTERLACED(mb_types[h->left_mb_xy[0]]) + && i >= scan8[0]+8){ +- // leftshift will turn LIST_NOT_USED into PART_NOT_AVAILABLE, but that's ok. +- SET_DIAG_MV(>>1, <<1, s->mb_x*4-1, (s->mb_y&~1)*4 - 1 + ((i-scan8[0])>>3)*2); ++ // left shift will turn LIST_NOT_USED into PART_NOT_AVAILABLE, but that's OK. ++ SET_DIAG_MV(/2, <<1, s->mb_x*4-1, (s->mb_y&~1)*4 - 1 + ((i-scan8[0])>>3)*2); + } + } + #undef SET_DIAG_MV +@@ -973,13 +894,14 @@ + } + + static inline void direct_dist_scale_factor(H264Context * const h){ +- const int poc = h->s.current_picture_ptr->poc; ++ MpegEncContext * const s = &h->s; ++ const int poc = h->s.current_picture_ptr->field_poc[ s->picture_structure == PICT_BOTTOM_FIELD ]; + const int poc1 = h->ref_list[1][0].poc; + int i; + for(i=0; iref_count[0]; i++){ + int poc0 = h->ref_list[0][i].poc; + int td = av_clip(poc1 - poc0, -128, 127); +- if(td == 0 /* FIXME || pic0 is a long-term ref */){ ++ if(td == 0 || h->ref_list[0][i].long_ref){ + h->dist_scale_factor[i] = 256; + }else{ + int tb = av_clip(poc - poc0, -128, 127); +@@ -999,23 +921,27 @@ + Picture * const ref1 = &h->ref_list[1][0]; + Picture * const cur = s->current_picture_ptr; + int list, i, j; +- if(cur->pict_type == I_TYPE) +- cur->ref_count[0] = 0; +- if(cur->pict_type != B_TYPE) +- cur->ref_count[1] = 0; ++ int sidx= s->picture_structure&1; ++ int ref1sidx= ref1->reference&1; + for(list=0; list<2; list++){ +- cur->ref_count[list] = h->ref_count[list]; ++ cur->ref_count[sidx][list] = h->ref_count[list]; + for(j=0; jref_count[list]; j++) +- cur->ref_poc[list][j] = h->ref_list[list][j].poc; ++ cur->ref_poc[sidx][list][j] = 4*h->ref_list[list][j].frame_num + (h->ref_list[list][j].reference&3); + } +- if(cur->pict_type != B_TYPE || h->direct_spatial_mv_pred) ++ if(s->picture_structure == PICT_FRAME){ ++ memcpy(cur->ref_count[0], cur->ref_count[1], sizeof(cur->ref_count[0])); ++ memcpy(cur->ref_poc [0], cur->ref_poc [1], sizeof(cur->ref_poc [0])); ++ } ++ if(cur->pict_type != FF_B_TYPE || h->direct_spatial_mv_pred) + return; + for(list=0; list<2; list++){ +- for(i=0; iref_count[list]; i++){ +- const int poc = ref1->ref_poc[list][i]; ++ for(i=0; iref_count[ref1sidx][list]; i++){ ++ int poc = ref1->ref_poc[ref1sidx][list][i]; ++ if(((poc&3) == 3) != (s->picture_structure == PICT_FRAME)) ++ poc= (poc&~3) + s->picture_structure; + h->map_col_to_list0[list][i] = 0; /* bogus; fills in for missing frames */ + for(j=0; jref_count[list]; j++) +- if(h->ref_list[list][j].poc == poc){ ++ if(4*h->ref_list[list][j].frame_num + (h->ref_list[list][j].reference&3) == poc){ + h->map_col_to_list0[list][i] = j; + break; + } +@@ -1023,7 +949,7 @@ + } + if(FRAME_MBAFF){ + for(list=0; list<2; list++){ +- for(i=0; iref_count[list]; i++){ ++ for(i=0; iref_count[ref1sidx][list]; i++){ + j = h->map_col_to_list0[list][i]; + h->map_col_to_list0_field[list][2*i] = 2*j; + h->map_col_to_list0_field[list][2*i+1] = 2*j+1; +@@ -1034,37 +960,80 @@ + + static inline void pred_direct_motion(H264Context * const h, int *mb_type){ + MpegEncContext * const s = &h->s; +- const int mb_xy = s->mb_x + s->mb_y*s->mb_stride; +- const int b8_xy = 2*s->mb_x + 2*s->mb_y*h->b8_stride; +- const int b4_xy = 4*s->mb_x + 4*s->mb_y*h->b_stride; +- const int mb_type_col = h->ref_list[1][0].mb_type[mb_xy]; +- const int16_t (*l1mv0)[2] = (const int16_t (*)[2]) &h->ref_list[1][0].motion_val[0][b4_xy]; +- const int16_t (*l1mv1)[2] = (const int16_t (*)[2]) &h->ref_list[1][0].motion_val[1][b4_xy]; +- const int8_t *l1ref0 = &h->ref_list[1][0].ref_index[0][b8_xy]; +- const int8_t *l1ref1 = &h->ref_list[1][0].ref_index[1][b8_xy]; ++ int b8_stride = h->b8_stride; ++ int b4_stride = h->b_stride; ++ int mb_xy = h->mb_xy; ++ int mb_type_col[2]; ++ const int16_t (*l1mv0)[2], (*l1mv1)[2]; ++ const int8_t *l1ref0, *l1ref1; + const int is_b8x8 = IS_8X8(*mb_type); + unsigned int sub_mb_type; + int i8, i4; + + #define MB_TYPE_16x16_OR_INTRA (MB_TYPE_16x16|MB_TYPE_INTRA4x4|MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM) +- if(IS_8X8(mb_type_col) && !h->sps.direct_8x8_inference_flag){ +- /* FIXME save sub mb types from previous frames (or derive from MVs) +- * so we know exactly what block size to use */ +- sub_mb_type = MB_TYPE_8x8|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_4x4 */ +- *mb_type = MB_TYPE_8x8|MB_TYPE_L0L1; +- }else if(!is_b8x8 && (mb_type_col & MB_TYPE_16x16_OR_INTRA)){ +- sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ +- *mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_16x16 */ +- }else{ +- sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ +- *mb_type = MB_TYPE_8x8|MB_TYPE_L0L1; ++ ++ if(IS_INTERLACED(h->ref_list[1][0].mb_type[mb_xy])){ // AFL/AFR/FR/FL -> AFL/FL ++ if(h->ref_list[1][0].reference == PICT_FRAME){ // AFL/AFR/FR/FL -> AFL ++ if(!IS_INTERLACED(*mb_type)){ // AFR/FR -> AFL ++ int cur_poc = s->current_picture_ptr->poc; ++ int *col_poc = h->ref_list[1]->field_poc; ++ int col_parity = FFABS(col_poc[0] - cur_poc) >= FFABS(col_poc[1] - cur_poc); ++ mb_xy= s->mb_x + ((s->mb_y&~1) + col_parity)*s->mb_stride; ++ b8_stride = 0; ++ } ++ }else if(!(s->picture_structure & h->ref_list[1][0].reference)){// FL -> FL & differ parity ++ int fieldoff= 2*(h->ref_list[1][0].reference)-3; ++ mb_xy += s->mb_stride*fieldoff; ++ } ++ goto single_col; ++ }else{ // AFL/AFR/FR/FL -> AFR/FR ++ if(IS_INTERLACED(*mb_type)){ // AFL /FL -> AFR/FR ++ mb_xy= s->mb_x + (s->mb_y&~1)*s->mb_stride; ++ mb_type_col[0] = h->ref_list[1][0].mb_type[mb_xy]; ++ mb_type_col[1] = h->ref_list[1][0].mb_type[mb_xy + s->mb_stride]; ++ b8_stride *= 3; ++ b4_stride *= 6; ++ //FIXME IS_8X8(mb_type_col[0]) && !h->sps.direct_8x8_inference_flag ++ if( (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA) ++ && (mb_type_col[1] & MB_TYPE_16x16_OR_INTRA) ++ && !is_b8x8){ ++ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ ++ *mb_type |= MB_TYPE_16x8 |MB_TYPE_L0L1|MB_TYPE_DIRECT2; /* B_16x8 */ ++ }else{ ++ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ ++ *mb_type |= MB_TYPE_8x8|MB_TYPE_L0L1; ++ } ++ }else{ // AFR/FR -> AFR/FR ++single_col: ++ mb_type_col[0] = ++ mb_type_col[1] = h->ref_list[1][0].mb_type[mb_xy]; ++ if(IS_8X8(mb_type_col[0]) && !h->sps.direct_8x8_inference_flag){ ++ /* FIXME save sub mb types from previous frames (or derive from MVs) ++ * so we know exactly what block size to use */ ++ sub_mb_type = MB_TYPE_8x8|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_4x4 */ ++ *mb_type |= MB_TYPE_8x8|MB_TYPE_L0L1; ++ }else if(!is_b8x8 && (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA)){ ++ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ ++ *mb_type |= MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_16x16 */ ++ }else{ ++ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ ++ *mb_type |= MB_TYPE_8x8|MB_TYPE_L0L1; ++ } ++ } + } +- if(!is_b8x8) +- *mb_type |= MB_TYPE_DIRECT2; +- if(MB_FIELD) +- *mb_type |= MB_TYPE_INTERLACED; + +- tprintf(s->avctx, "mb_type = %08x, sub_mb_type = %08x, is_b8x8 = %d, mb_type_col = %08x\n", *mb_type, sub_mb_type, is_b8x8, mb_type_col); ++ l1mv0 = &h->ref_list[1][0].motion_val[0][h->mb2b_xy [mb_xy]]; ++ l1mv1 = &h->ref_list[1][0].motion_val[1][h->mb2b_xy [mb_xy]]; ++ l1ref0 = &h->ref_list[1][0].ref_index [0][h->mb2b8_xy[mb_xy]]; ++ l1ref1 = &h->ref_list[1][0].ref_index [1][h->mb2b8_xy[mb_xy]]; ++ if(!b8_stride){ ++ if(s->mb_y&1){ ++ l1ref0 += h->b8_stride; ++ l1ref1 += h->b8_stride; ++ l1mv0 += 2*b4_stride; ++ l1mv1 += 2*b4_stride; ++ } ++ } + + if(h->direct_spatial_mv_pred){ + int ref[2]; +@@ -1078,13 +1047,9 @@ + int refa = h->ref_cache[list][scan8[0] - 1]; + int refb = h->ref_cache[list][scan8[0] - 8]; + int refc = h->ref_cache[list][scan8[0] - 8 + 4]; +- if(refc == -2) ++ if(refc == PART_NOT_AVAILABLE) + refc = h->ref_cache[list][scan8[0] - 8 - 1]; +- ref[list] = refa; +- if(ref[list] < 0 || (refb < ref[list] && refb >= 0)) +- ref[list] = refb; +- if(ref[list] < 0 || (refc < ref[list] && refc >= 0)) +- ref[list] = refc; ++ ref[list] = FFMIN3((unsigned)refa, (unsigned)refb, (unsigned)refc); + if(ref[list] < 0) + ref[list] = -1; + } +@@ -1103,19 +1068,49 @@ + } + + if(ref[1] < 0){ +- *mb_type &= ~MB_TYPE_P0L1; +- sub_mb_type &= ~MB_TYPE_P0L1; ++ if(!is_b8x8) ++ *mb_type &= ~MB_TYPE_L1; ++ sub_mb_type &= ~MB_TYPE_L1; + }else if(ref[0] < 0){ +- *mb_type &= ~MB_TYPE_P0L0; +- sub_mb_type &= ~MB_TYPE_P0L0; ++ if(!is_b8x8) ++ *mb_type &= ~MB_TYPE_L0; ++ sub_mb_type &= ~MB_TYPE_L0; + } + +- if(IS_16X16(*mb_type)){ ++ if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])){ ++ for(i8=0; i8<4; i8++){ ++ int x8 = i8&1; ++ int y8 = i8>>1; ++ int xy8 = x8+y8*b8_stride; ++ int xy4 = 3*x8+y8*b4_stride; ++ int a=0, b=0; ++ ++ if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8])) ++ continue; ++ h->sub_mb_type[i8] = sub_mb_type; ++ ++ fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[0], 1); ++ fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[1], 1); ++ if(!IS_INTRA(mb_type_col[y8]) ++ && ( (l1ref0[xy8] == 0 && FFABS(l1mv0[xy4][0]) <= 1 && FFABS(l1mv0[xy4][1]) <= 1) ++ || (l1ref0[xy8] < 0 && l1ref1[xy8] == 0 && FFABS(l1mv1[xy4][0]) <= 1 && FFABS(l1mv1[xy4][1]) <= 1))){ ++ if(ref[0] > 0) ++ a= pack16to32(mv[0][0],mv[0][1]); ++ if(ref[1] > 0) ++ b= pack16to32(mv[1][0],mv[1][1]); ++ }else{ ++ a= pack16to32(mv[0][0],mv[0][1]); ++ b= pack16to32(mv[1][0],mv[1][1]); ++ } ++ fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, a, 4); ++ fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, b, 4); ++ } ++ }else if(IS_16X16(*mb_type)){ + int a=0, b=0; + + fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1); + fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1); +- if(!IS_INTRA(mb_type_col) ++ if(!IS_INTRA(mb_type_col[0]) + && ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1) + || (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1 + && (h->x264_build>33 || !h->x264_build)))){ +@@ -1144,12 +1139,12 @@ + fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[1], 1); + + /* col_zero_flag */ +- if(!IS_INTRA(mb_type_col) && ( l1ref0[x8 + y8*h->b8_stride] == 0 +- || (l1ref0[x8 + y8*h->b8_stride] < 0 && l1ref1[x8 + y8*h->b8_stride] == 0 ++ if(!IS_INTRA(mb_type_col[0]) && ( l1ref0[x8 + y8*b8_stride] == 0 ++ || (l1ref0[x8 + y8*b8_stride] < 0 && l1ref1[x8 + y8*b8_stride] == 0 + && (h->x264_build>33 || !h->x264_build)))){ +- const int16_t (*l1mv)[2]= l1ref0[x8 + y8*h->b8_stride] == 0 ? l1mv0 : l1mv1; ++ const int16_t (*l1mv)[2]= l1ref0[x8 + y8*b8_stride] == 0 ? l1mv0 : l1mv1; + if(IS_SUB_8X8(sub_mb_type)){ +- const int16_t *mv_col = l1mv[x8*3 + y8*3*h->b_stride]; ++ const int16_t *mv_col = l1mv[x8*3 + y8*3*b4_stride]; + if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){ + if(ref[0] == 0) + fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4); +@@ -1158,7 +1153,7 @@ + } + }else + for(i4=0; i4<4; i4++){ +- const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride]; ++ const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*b4_stride]; + if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){ + if(ref[0] == 0) + *(uint32_t*)h->mv_cache[0][scan8[i8*4+i4]] = 0; +@@ -1173,100 +1168,54 @@ + const int *map_col_to_list0[2] = {h->map_col_to_list0[0], h->map_col_to_list0[1]}; + const int *dist_scale_factor = h->dist_scale_factor; + +- if(FRAME_MBAFF){ +- if(IS_INTERLACED(*mb_type)){ +- map_col_to_list0[0] = h->map_col_to_list0_field[0]; +- map_col_to_list0[1] = h->map_col_to_list0_field[1]; +- dist_scale_factor = h->dist_scale_factor_field; +- } +- if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col)){ +- /* FIXME assumes direct_8x8_inference == 1 */ +- const int pair_xy = s->mb_x + (s->mb_y&~1)*s->mb_stride; +- int mb_types_col[2]; +- int y_shift; ++ if(FRAME_MBAFF && IS_INTERLACED(*mb_type)){ ++ map_col_to_list0[0] = h->map_col_to_list0_field[0]; ++ map_col_to_list0[1] = h->map_col_to_list0_field[1]; ++ dist_scale_factor = h->dist_scale_factor_field; ++ } ++ if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])){ ++ /* FIXME assumes direct_8x8_inference == 1 */ ++ int y_shift = 2*!IS_INTERLACED(*mb_type); ++ int ref_shift= FRAME_MBAFF ? y_shift : 1; + +- *mb_type = MB_TYPE_8x8|MB_TYPE_L0L1 +- | (is_b8x8 ? 0 : MB_TYPE_DIRECT2) +- | (*mb_type & MB_TYPE_INTERLACED); +- sub_mb_type = MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2|MB_TYPE_16x16; ++ for(i8=0; i8<4; i8++){ ++ const int x8 = i8&1; ++ const int y8 = i8>>1; ++ int ref0, scale; ++ const int16_t (*l1mv)[2]= l1mv0; + +- if(IS_INTERLACED(*mb_type)){ +- /* frame to field scaling */ +- mb_types_col[0] = h->ref_list[1][0].mb_type[pair_xy]; +- mb_types_col[1] = h->ref_list[1][0].mb_type[pair_xy+s->mb_stride]; +- if(s->mb_y&1){ +- l1ref0 -= 2*h->b8_stride; +- l1ref1 -= 2*h->b8_stride; +- l1mv0 -= 4*h->b_stride; +- l1mv1 -= 4*h->b_stride; +- } +- y_shift = 0; ++ if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8])) ++ continue; ++ h->sub_mb_type[i8] = sub_mb_type; + +- if( (mb_types_col[0] & MB_TYPE_16x16_OR_INTRA) +- && (mb_types_col[1] & MB_TYPE_16x16_OR_INTRA) +- && !is_b8x8) +- *mb_type |= MB_TYPE_16x8; +- else +- *mb_type |= MB_TYPE_8x8; +- }else{ +- /* field to frame scaling */ +- /* col_mb_y = (mb_y&~1) + (topAbsDiffPOC < bottomAbsDiffPOC ? 0 : 1) +- * but in MBAFF, top and bottom POC are equal */ +- int dy = (s->mb_y&1) ? 1 : 2; +- mb_types_col[0] = +- mb_types_col[1] = h->ref_list[1][0].mb_type[pair_xy+s->mb_stride]; +- l1ref0 += dy*h->b8_stride; +- l1ref1 += dy*h->b8_stride; +- l1mv0 += 2*dy*h->b_stride; +- l1mv1 += 2*dy*h->b_stride; +- y_shift = 2; ++ fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, 0, 1); ++ if(IS_INTRA(mb_type_col[y8])){ ++ fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, 0, 1); ++ fill_rectangle(&h-> mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4); ++ fill_rectangle(&h-> mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4); ++ continue; ++ } + +- if((mb_types_col[0] & (MB_TYPE_16x16_OR_INTRA|MB_TYPE_16x8)) +- && !is_b8x8) +- *mb_type |= MB_TYPE_16x16; +- else +- *mb_type |= MB_TYPE_8x8; ++ ref0 = l1ref0[x8 + y8*b8_stride]; ++ if(ref0 >= 0) ++ ref0 = map_col_to_list0[0][ref0*2>>ref_shift]; ++ else{ ++ ref0 = map_col_to_list0[1][l1ref1[x8 + y8*b8_stride]*2>>ref_shift]; ++ l1mv= l1mv1; + } ++ scale = dist_scale_factor[ref0]; ++ fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref0, 1); + +- for(i8=0; i8<4; i8++){ +- const int x8 = i8&1; +- const int y8 = i8>>1; +- int ref0, scale; +- const int16_t (*l1mv)[2]= l1mv0; +- +- if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8])) +- continue; +- h->sub_mb_type[i8] = sub_mb_type; +- +- fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, 0, 1); +- if(IS_INTRA(mb_types_col[y8])){ +- fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, 0, 1); +- fill_rectangle(&h-> mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4); +- fill_rectangle(&h-> mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4); +- continue; +- } +- +- ref0 = l1ref0[x8 + (y8*2>>y_shift)*h->b8_stride]; +- if(ref0 >= 0) +- ref0 = map_col_to_list0[0][ref0*2>>y_shift]; +- else{ +- ref0 = map_col_to_list0[1][l1ref1[x8 + (y8*2>>y_shift)*h->b8_stride]*2>>y_shift]; +- l1mv= l1mv1; +- } +- scale = dist_scale_factor[ref0]; +- fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref0, 1); +- +- { +- const int16_t *mv_col = l1mv[x8*3 + (y8*6>>y_shift)*h->b_stride]; +- int my_col = (mv_col[1]<> 8; +- int my = (scale * my_col + 128) >> 8; +- fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, pack16to32(mx,my), 4); +- fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, pack16to32(mx-mv_col[0],my-my_col), 4); +- } ++ { ++ const int16_t *mv_col = l1mv[x8*3 + y8*b4_stride]; ++ int my_col = (mv_col[1]<> 8; ++ int my = (scale * my_col + 128) >> 8; ++ fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, pack16to32(mx,my), 4); ++ fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, pack16to32(mx-mv_col[0],my-my_col), 4); + } +- return; + } ++ return; + } + + /* one-to-one mv scaling */ +@@ -1275,7 +1224,7 @@ + int ref, mv0, mv1; + + fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, 0, 1); +- if(IS_INTRA(mb_type_col)){ ++ if(IS_INTRA(mb_type_col[0])){ + ref=mv0=mv1=0; + }else{ + const int ref0 = l1ref0[0] >= 0 ? map_col_to_list0[0][l1ref0[0]] +@@ -1303,32 +1252,32 @@ + continue; + h->sub_mb_type[i8] = sub_mb_type; + fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, 0, 1); +- if(IS_INTRA(mb_type_col)){ ++ if(IS_INTRA(mb_type_col[0])){ + fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, 0, 1); + fill_rectangle(&h-> mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4); + fill_rectangle(&h-> mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4); + continue; + } + +- ref0 = l1ref0[x8 + y8*h->b8_stride]; ++ ref0 = l1ref0[x8 + y8*b8_stride]; + if(ref0 >= 0) + ref0 = map_col_to_list0[0][ref0]; + else{ +- ref0 = map_col_to_list0[1][l1ref1[x8 + y8*h->b8_stride]]; ++ ref0 = map_col_to_list0[1][l1ref1[x8 + y8*b8_stride]]; + l1mv= l1mv1; + } + scale = dist_scale_factor[ref0]; + + fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref0, 1); + if(IS_SUB_8X8(sub_mb_type)){ +- const int16_t *mv_col = l1mv[x8*3 + y8*3*h->b_stride]; ++ const int16_t *mv_col = l1mv[x8*3 + y8*3*b4_stride]; + int mx = (scale * mv_col[0] + 128) >> 8; + int my = (scale * mv_col[1] + 128) >> 8; + fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, pack16to32(mx,my), 4); + fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, pack16to32(mx-mv_col[0],my-mv_col[1]), 4); + }else + for(i4=0; i4<4; i4++){ +- const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride]; ++ const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*b4_stride]; + int16_t *mv_l0 = h->mv_cache[0][scan8[i8*4+i4]]; + mv_l0[0] = (scale * mv_col[0] + 128) >> 8; + mv_l0[1] = (scale * mv_col[1] + 128) >> 8; +@@ -1377,7 +1326,7 @@ + } + } + +- if(h->slice_type == B_TYPE && h->pps.cabac){ ++ if(h->slice_type_nos == FF_B_TYPE && h->pps.cabac){ + if(IS_8X8(mb_type)){ + uint8_t *direct_table = &h->direct_table[b8_xy]; + direct_table[1+0*h->b8_stride] = IS_DIRECT(h->sub_mb_type[1]) ? 1 : 0; +@@ -1394,7 +1343,7 @@ + * @param dst_length is the number of decoded bytes FIXME here or a decode rbsp tailing? + * @returns decoded bytes, might be src+1 if no escapes + */ +-static uint8_t *decode_nal(H264Context *h, uint8_t *src, int *dst_length, int *consumed, int length){ ++static const uint8_t *decode_nal(H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length){ + int i, si, di; + uint8_t *dst; + int bufidx; +@@ -1461,7 +1410,7 @@ + * identifies the exact end of the bitstream + * @return the length of the trailing, or 0 if damaged + */ +-static int decode_rbsp_trailing(H264Context *h, uint8_t *src){ ++static int decode_rbsp_trailing(H264Context *h, const uint8_t *src){ + int v= *src; + int r; + +@@ -1475,7 +1424,7 @@ + } + + /** +- * idct tranforms the 16 dc values and dequantize them. ++ * IDCT transforms the 16 dc values and dequantizes them. + * @param qp quantization parameter + */ + static void h264_luma_dc_dequant_idct_c(DCTELEM *block, int qp, int qmul){ +@@ -1507,7 +1456,7 @@ + const int z2= temp[4*1+i] - temp[4*3+i]; + const int z3= temp[4*1+i] + temp[4*3+i]; + +- block[stride*0 +offset]= ((((z0 + z3)*qmul + 128 ) >> 8)); //FIXME think about merging this into decode_resdual ++ block[stride*0 +offset]= ((((z0 + z3)*qmul + 128 ) >> 8)); //FIXME think about merging this into decode_residual + block[stride*2 +offset]= ((((z1 + z2)*qmul + 128 ) >> 8)); + block[stride*8 +offset]= ((((z1 - z2)*qmul + 128 ) >> 8)); + block[stride*10+offset]= ((((z0 - z3)*qmul + 128 ) >> 8)); +@@ -1516,7 +1465,7 @@ + + #if 0 + /** +- * dct tranforms the 16 dc values. ++ * DCT transforms the 16 dc values. + * @param qp quantization parameter ??? FIXME + */ + static void h264_luma_dc_dct_c(DCTELEM *block/*, int qp*/){ +@@ -1605,7 +1554,7 @@ + * gets the chroma qp. + */ + static inline int get_chroma_qp(H264Context *h, int t, int qscale){ +- return h->pps.chroma_qp_table[t][qscale & 0xff]; ++ return h->pps.chroma_qp_table[t][qscale]; + } + + //FIXME need to check that this does not overflow signed 32 bit for low qp, i am not sure, it's very close +@@ -1705,7 +1654,7 @@ + const int pic_width = 16*s->mb_width; + const int pic_height = 16*s->mb_height >> MB_FIELD; + +- if(!pic->data[0]) //FIXME this is unacceptable, some senseable error concealment must be done for missing reference frames ++ if(!pic->data[0]) //FIXME this is unacceptable, some sensible error concealment must be done for missing reference frames + return; + + if(mx&7) extra_width -= 3; +@@ -1888,7 +1837,7 @@ + qpel_mc_func (*qpix_avg)[16], h264_chroma_mc_func (*chroma_avg), + h264_weight_func *weight_op, h264_biweight_func *weight_avg){ + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + const int mb_type= s->current_picture.mb_type[mb_xy]; + + assert(IS_INTER(mb_type)); +@@ -1970,42 +1919,72 @@ + prefetch_motion(h, 1); + } + +-static void decode_init_vlc(void){ ++static av_cold void decode_init_vlc(void){ + static int done = 0; + + if (!done) { + int i; ++ int offset; + done = 1; + ++ chroma_dc_coeff_token_vlc.table = chroma_dc_coeff_token_vlc_table; ++ chroma_dc_coeff_token_vlc.table_allocated = chroma_dc_coeff_token_vlc_table_size; + init_vlc(&chroma_dc_coeff_token_vlc, CHROMA_DC_COEFF_TOKEN_VLC_BITS, 4*5, + &chroma_dc_coeff_token_len [0], 1, 1, +- &chroma_dc_coeff_token_bits[0], 1, 1, 1); ++ &chroma_dc_coeff_token_bits[0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); + ++ offset = 0; + for(i=0; i<4; i++){ ++ coeff_token_vlc[i].table = coeff_token_vlc_tables+offset; ++ coeff_token_vlc[i].table_allocated = coeff_token_vlc_tables_size[i]; + init_vlc(&coeff_token_vlc[i], COEFF_TOKEN_VLC_BITS, 4*17, + &coeff_token_len [i][0], 1, 1, +- &coeff_token_bits[i][0], 1, 1, 1); ++ &coeff_token_bits[i][0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); ++ offset += coeff_token_vlc_tables_size[i]; + } ++ /* ++ * This is a one time safety check to make sure that ++ * the packed static coeff_token_vlc table sizes ++ * were initialized correctly. ++ */ ++ assert(offset == sizeof(coeff_token_vlc_tables)/(sizeof(VLC_TYPE)*2)); + + for(i=0; i<3; i++){ +- init_vlc(&chroma_dc_total_zeros_vlc[i], CHROMA_DC_TOTAL_ZEROS_VLC_BITS, 4, ++ chroma_dc_total_zeros_vlc[i].table = chroma_dc_total_zeros_vlc_tables[i]; ++ chroma_dc_total_zeros_vlc[i].table_allocated = chroma_dc_total_zeros_vlc_tables_size; ++ init_vlc(&chroma_dc_total_zeros_vlc[i], ++ CHROMA_DC_TOTAL_ZEROS_VLC_BITS, 4, + &chroma_dc_total_zeros_len [i][0], 1, 1, +- &chroma_dc_total_zeros_bits[i][0], 1, 1, 1); ++ &chroma_dc_total_zeros_bits[i][0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); + } + for(i=0; i<15; i++){ +- init_vlc(&total_zeros_vlc[i], TOTAL_ZEROS_VLC_BITS, 16, ++ total_zeros_vlc[i].table = total_zeros_vlc_tables[i]; ++ total_zeros_vlc[i].table_allocated = total_zeros_vlc_tables_size; ++ init_vlc(&total_zeros_vlc[i], ++ TOTAL_ZEROS_VLC_BITS, 16, + &total_zeros_len [i][0], 1, 1, +- &total_zeros_bits[i][0], 1, 1, 1); ++ &total_zeros_bits[i][0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); + } + + for(i=0; i<6; i++){ +- init_vlc(&run_vlc[i], RUN_VLC_BITS, 7, ++ run_vlc[i].table = run_vlc_tables[i]; ++ run_vlc[i].table_allocated = run_vlc_tables_size; ++ init_vlc(&run_vlc[i], ++ RUN_VLC_BITS, 7, + &run_len [i][0], 1, 1, +- &run_bits[i][0], 1, 1, 1); ++ &run_bits[i][0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); + } ++ run7_vlc.table = run7_vlc_table, ++ run7_vlc.table_allocated = run7_vlc_table_size; + init_vlc(&run7_vlc, RUN7_VLC_BITS, 16, + &run_len [6][0], 1, 1, +- &run_bits[6][0], 1, 1, 1); ++ &run_bits[6][0], 1, 1, ++ INIT_VLC_USE_NEW_STATIC); + } + } + +@@ -2037,7 +2016,6 @@ + av_freep(&hx->top_borders[1]); + av_freep(&hx->top_borders[0]); + av_freep(&hx->s.obmc_scratchpad); +- av_freep(&hx->s.allocated_edge_emu_buffer); + } + } + +@@ -2121,12 +2099,10 @@ + CHECKED_ALLOCZ(h->slice_table_base , (big_mb_num+s->mb_stride) * sizeof(uint8_t)) + CHECKED_ALLOCZ(h->cbp_table, big_mb_num * sizeof(uint16_t)) + +- if( h->pps.cabac ) { +- CHECKED_ALLOCZ(h->chroma_pred_mode_table, big_mb_num * sizeof(uint8_t)) +- CHECKED_ALLOCZ(h->mvd_table[0], 32*big_mb_num * sizeof(uint16_t)); +- CHECKED_ALLOCZ(h->mvd_table[1], 32*big_mb_num * sizeof(uint16_t)); +- CHECKED_ALLOCZ(h->direct_table, 32*big_mb_num * sizeof(uint8_t)); +- } ++ CHECKED_ALLOCZ(h->chroma_pred_mode_table, big_mb_num * sizeof(uint8_t)) ++ CHECKED_ALLOCZ(h->mvd_table[0], 32*big_mb_num * sizeof(uint16_t)); ++ CHECKED_ALLOCZ(h->mvd_table[1], 32*big_mb_num * sizeof(uint16_t)); ++ CHECKED_ALLOCZ(h->direct_table, 32*big_mb_num * sizeof(uint8_t)); + + memset(h->slice_table_base, -1, (big_mb_num+s->mb_stride) * sizeof(uint8_t)); + h->slice_table= h->slice_table_base + s->mb_stride*2 + 1; +@@ -2179,21 +2155,15 @@ + * Allocate buffers which are not shared amongst multiple threads. + */ + static int context_init(H264Context *h){ +- MpegEncContext * const s = &h->s; +- + CHECKED_ALLOCZ(h->top_borders[0], h->s.mb_width * (16+8+8) * sizeof(uint8_t)) + CHECKED_ALLOCZ(h->top_borders[1], h->s.mb_width * (16+8+8) * sizeof(uint8_t)) + +- // edge emu needs blocksize + filter length - 1 (=17x17 for halfpel / 21x21 for h264) +- CHECKED_ALLOCZ(s->allocated_edge_emu_buffer, +- (s->width+64)*2*21*2); //(width + edge + align)*interlaced*MBsize*tolerance +- s->edge_emu_buffer= s->allocated_edge_emu_buffer + (s->width+64)*2*21; + return 0; + fail: + return -1; // free_tables will clean up for us + } + +-static void common_init(H264Context *h){ ++static av_cold void common_init(H264Context *h){ + MpegEncContext * const s = &h->s; + + s->width = s->avctx->width; +@@ -2210,7 +2180,7 @@ + memset(h->pps.scaling_matrix8, 16, 2*64*sizeof(uint8_t)); + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + H264Context *h= avctx->priv_data; + MpegEncContext * const s = &h->s; + +@@ -2226,8 +2196,12 @@ + // s->decode_mb= ff_h263_decode_mb; + s->quarter_sample = 1; + s->low_delay= 1; +- avctx->pix_fmt= PIX_FMT_YUV420P; + ++ if(avctx->codec_id == CODEC_ID_SVQ3) ++ avctx->pix_fmt= PIX_FMT_YUVJ420P; ++ else ++ avctx->pix_fmt= PIX_FMT_YUV420P; ++ + decode_init_vlc(); + + if(avctx->extradata_size > 0 && avctx->extradata && +@@ -2239,6 +2213,7 @@ + } + + h->thread_context[0] = h; ++ h->outputed_poc = INT_MIN; + return 0; + } + +@@ -2252,7 +2227,7 @@ + /* + * MPV_frame_start uses pict_type to derive key_frame. + * This is incorrect for H.264; IDR markings must be used. +- * Zero here; IDR markings per slice in frame or fields are OR'd in later. ++ * Zero here; IDR markings per slice in frame or fields are ORed in later. + * See decode_nal_units(). + */ + s->current_picture_ptr->key_frame= 0; +@@ -2281,36 +2256,83 @@ + memset(h->slice_table, -1, (s->mb_height*s->mb_stride-1) * sizeof(uint8_t)); + + // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1; ++ ++ // We mark the current picture as non-reference after allocating it, so ++ // that if we break out due to an error it can be released automatically ++ // in the next MPV_frame_start(). ++ // SVQ3 as well as most other codecs have only last/next/current and thus ++ // get released even with set reference, besides SVQ3 and others do not ++ // mark frames as reference later "naturally". ++ if(s->codec_id != CODEC_ID_SVQ3) ++ s->current_picture_ptr->reference= 0; ++ ++ s->current_picture_ptr->field_poc[0]= ++ s->current_picture_ptr->field_poc[1]= INT_MAX; ++ assert(s->current_picture_ptr->long_ref==0); ++ + return 0; + } + + static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int simple){ + MpegEncContext * const s = &h->s; + int i; ++ int step = 1; ++ int offset = 1; ++ int uvoffset= 1; ++ int top_idx = 1; ++ int skiplast= 0; + + src_y -= linesize; + src_cb -= uvlinesize; + src_cr -= uvlinesize; + ++ if(!simple && FRAME_MBAFF){ ++ if(s->mb_y&1){ ++ offset = MB_MBAFF ? 1 : 17; ++ uvoffset= MB_MBAFF ? 1 : 9; ++ if(!MB_MBAFF){ ++ *(uint64_t*)(h->top_borders[0][s->mb_x]+ 0)= *(uint64_t*)(src_y + 15*linesize); ++ *(uint64_t*)(h->top_borders[0][s->mb_x]+ 8)= *(uint64_t*)(src_y +8+15*linesize); ++ if(simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ ++ *(uint64_t*)(h->top_borders[0][s->mb_x]+16)= *(uint64_t*)(src_cb+7*uvlinesize); ++ *(uint64_t*)(h->top_borders[0][s->mb_x]+24)= *(uint64_t*)(src_cr+7*uvlinesize); ++ } ++ } ++ }else{ ++ if(!MB_MBAFF){ ++ h->left_border[0]= h->top_borders[0][s->mb_x][15]; ++ if(simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ ++ h->left_border[34 ]= h->top_borders[0][s->mb_x][16+7 ]; ++ h->left_border[34+18]= h->top_borders[0][s->mb_x][16+8+7]; ++ } ++ skiplast= 1; ++ } ++ offset = ++ uvoffset= ++ top_idx = MB_MBAFF ? 0 : 1; ++ } ++ step= MB_MBAFF ? 2 : 1; ++ } ++ + // There are two lines saved, the line above the the top macroblock of a pair, + // and the line above the bottom macroblock +- h->left_border[0]= h->top_borders[0][s->mb_x][15]; +- for(i=1; i<17; i++){ +- h->left_border[i]= src_y[15+i* linesize]; ++ h->left_border[offset]= h->top_borders[top_idx][s->mb_x][15]; ++ for(i=1; i<17 - skiplast; i++){ ++ h->left_border[offset+i*step]= src_y[15+i* linesize]; + } + +- *(uint64_t*)(h->top_borders[0][s->mb_x]+0)= *(uint64_t*)(src_y + 16*linesize); +- *(uint64_t*)(h->top_borders[0][s->mb_x]+8)= *(uint64_t*)(src_y +8+16*linesize); ++ *(uint64_t*)(h->top_borders[top_idx][s->mb_x]+0)= *(uint64_t*)(src_y + 16*linesize); ++ *(uint64_t*)(h->top_borders[top_idx][s->mb_x]+8)= *(uint64_t*)(src_y +8+16*linesize); + + if(simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ +- h->left_border[17 ]= h->top_borders[0][s->mb_x][16+7]; +- h->left_border[17+9]= h->top_borders[0][s->mb_x][24+7]; +- for(i=1; i<9; i++){ +- h->left_border[i+17 ]= src_cb[7+i*uvlinesize]; +- h->left_border[i+17+9]= src_cr[7+i*uvlinesize]; ++ h->left_border[uvoffset+34 ]= h->top_borders[top_idx][s->mb_x][16+7]; ++ h->left_border[uvoffset+34+18]= h->top_borders[top_idx][s->mb_x][24+7]; ++ for(i=1; i<9 - skiplast; i++){ ++ h->left_border[uvoffset+34 +i*step]= src_cb[7+i*uvlinesize]; ++ h->left_border[uvoffset+34+18+i*step]= src_cr[7+i*uvlinesize]; + } +- *(uint64_t*)(h->top_borders[0][s->mb_x]+16)= *(uint64_t*)(src_cb+8*uvlinesize); +- *(uint64_t*)(h->top_borders[0][s->mb_x]+24)= *(uint64_t*)(src_cr+8*uvlinesize); ++ *(uint64_t*)(h->top_borders[top_idx][s->mb_x]+16)= *(uint64_t*)(src_cb+8*uvlinesize); ++ *(uint64_t*)(h->top_borders[top_idx][s->mb_x]+24)= *(uint64_t*)(src_cr+8*uvlinesize); + } + } + +@@ -2321,9 +2343,25 @@ + int deblock_left; + int deblock_top; + int mb_xy; ++ int step = 1; ++ int offset = 1; ++ int uvoffset= 1; ++ int top_idx = 1; + ++ if(!simple && FRAME_MBAFF){ ++ if(s->mb_y&1){ ++ offset = MB_MBAFF ? 1 : 17; ++ uvoffset= MB_MBAFF ? 1 : 9; ++ }else{ ++ offset = ++ uvoffset= ++ top_idx = MB_MBAFF ? 0 : 1; ++ } ++ step= MB_MBAFF ? 2 : 1; ++ } ++ + if(h->deblocking_filter == 2) { +- mb_xy = s->mb_x + s->mb_y*s->mb_stride; ++ mb_xy = h->mb_xy; + deblock_left = h->slice_table[mb_xy] == h->slice_table[mb_xy - 1]; + deblock_top = h->slice_table[mb_xy] == h->slice_table[h->top_mb_xy]; + } else { +@@ -2342,133 +2380,46 @@ + b= t; + + if(deblock_left){ +- for(i = !deblock_top; i<17; i++){ +- XCHG(h->left_border[i ], src_y [i* linesize], temp8, xchg); ++ for(i = !deblock_top; i<16; i++){ ++ XCHG(h->left_border[offset+i*step], src_y [i* linesize], temp8, xchg); + } ++ XCHG(h->left_border[offset+i*step], src_y [i* linesize], temp8, 1); + } + + if(deblock_top){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+0), *(uint64_t*)(src_y +1), temp64, xchg); +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+8), *(uint64_t*)(src_y +9), temp64, 1); ++ XCHG(*(uint64_t*)(h->top_borders[top_idx][s->mb_x]+0), *(uint64_t*)(src_y +1), temp64, xchg); ++ XCHG(*(uint64_t*)(h->top_borders[top_idx][s->mb_x]+8), *(uint64_t*)(src_y +9), temp64, 1); + if(s->mb_x+1 < s->mb_width){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x+1]), *(uint64_t*)(src_y +17), temp64, 1); ++ XCHG(*(uint64_t*)(h->top_borders[top_idx][s->mb_x+1]), *(uint64_t*)(src_y +17), temp64, 1); + } + } + + if(simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ + if(deblock_left){ +- for(i = !deblock_top; i<9; i++){ +- XCHG(h->left_border[i+17 ], src_cb[i*uvlinesize], temp8, xchg); +- XCHG(h->left_border[i+17+9], src_cr[i*uvlinesize], temp8, xchg); ++ for(i = !deblock_top; i<8; i++){ ++ XCHG(h->left_border[uvoffset+34 +i*step], src_cb[i*uvlinesize], temp8, xchg); ++ XCHG(h->left_border[uvoffset+34+18+i*step], src_cr[i*uvlinesize], temp8, xchg); + } ++ XCHG(h->left_border[uvoffset+34 +i*step], src_cb[i*uvlinesize], temp8, 1); ++ XCHG(h->left_border[uvoffset+34+18+i*step], src_cr[i*uvlinesize], temp8, 1); + } + if(deblock_top){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+16), *(uint64_t*)(src_cb+1), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+24), *(uint64_t*)(src_cr+1), temp64, 1); ++ XCHG(*(uint64_t*)(h->top_borders[top_idx][s->mb_x]+16), *(uint64_t*)(src_cb+1), temp64, 1); ++ XCHG(*(uint64_t*)(h->top_borders[top_idx][s->mb_x]+24), *(uint64_t*)(src_cr+1), temp64, 1); + } + } + } + +-static inline void backup_pair_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize){ +- MpegEncContext * const s = &h->s; +- int i; +- +- src_y -= 2 * linesize; +- src_cb -= 2 * uvlinesize; +- src_cr -= 2 * uvlinesize; +- +- // There are two lines saved, the line above the the top macroblock of a pair, +- // and the line above the bottom macroblock +- h->left_border[0]= h->top_borders[0][s->mb_x][15]; +- h->left_border[1]= h->top_borders[1][s->mb_x][15]; +- for(i=2; i<34; i++){ +- h->left_border[i]= src_y[15+i* linesize]; +- } +- +- *(uint64_t*)(h->top_borders[0][s->mb_x]+0)= *(uint64_t*)(src_y + 32*linesize); +- *(uint64_t*)(h->top_borders[0][s->mb_x]+8)= *(uint64_t*)(src_y +8+32*linesize); +- *(uint64_t*)(h->top_borders[1][s->mb_x]+0)= *(uint64_t*)(src_y + 33*linesize); +- *(uint64_t*)(h->top_borders[1][s->mb_x]+8)= *(uint64_t*)(src_y +8+33*linesize); +- +- if(!ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ +- h->left_border[34 ]= h->top_borders[0][s->mb_x][16+7]; +- h->left_border[34+ 1]= h->top_borders[1][s->mb_x][16+7]; +- h->left_border[34+18 ]= h->top_borders[0][s->mb_x][24+7]; +- h->left_border[34+18+1]= h->top_borders[1][s->mb_x][24+7]; +- for(i=2; i<18; i++){ +- h->left_border[i+34 ]= src_cb[7+i*uvlinesize]; +- h->left_border[i+34+18]= src_cr[7+i*uvlinesize]; +- } +- *(uint64_t*)(h->top_borders[0][s->mb_x]+16)= *(uint64_t*)(src_cb+16*uvlinesize); +- *(uint64_t*)(h->top_borders[0][s->mb_x]+24)= *(uint64_t*)(src_cr+16*uvlinesize); +- *(uint64_t*)(h->top_borders[1][s->mb_x]+16)= *(uint64_t*)(src_cb+17*uvlinesize); +- *(uint64_t*)(h->top_borders[1][s->mb_x]+24)= *(uint64_t*)(src_cr+17*uvlinesize); +- } +-} +- +-static inline void xchg_pair_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int xchg){ +- MpegEncContext * const s = &h->s; +- int temp8, i; +- uint64_t temp64; +- int deblock_left = (s->mb_x > 0); +- int deblock_top = (s->mb_y > 1); +- +- tprintf(s->avctx, "xchg_pair_border: src_y:%p src_cb:%p src_cr:%p ls:%d uvls:%d\n", src_y, src_cb, src_cr, linesize, uvlinesize); +- +- src_y -= 2 * linesize + 1; +- src_cb -= 2 * uvlinesize + 1; +- src_cr -= 2 * uvlinesize + 1; +- +-#define XCHG(a,b,t,xchg)\ +-t= a;\ +-if(xchg)\ +- a= b;\ +-b= t; +- +- if(deblock_left){ +- for(i = (!deblock_top)<<1; i<34; i++){ +- XCHG(h->left_border[i ], src_y [i* linesize], temp8, xchg); +- } +- } +- +- if(deblock_top){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+0), *(uint64_t*)(src_y +1), temp64, xchg); +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+8), *(uint64_t*)(src_y +9), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[1][s->mb_x]+0), *(uint64_t*)(src_y +1 +linesize), temp64, xchg); +- XCHG(*(uint64_t*)(h->top_borders[1][s->mb_x]+8), *(uint64_t*)(src_y +9 +linesize), temp64, 1); +- if(s->mb_x+1 < s->mb_width){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x+1]), *(uint64_t*)(src_y +17), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[1][s->mb_x+1]), *(uint64_t*)(src_y +17 +linesize), temp64, 1); +- } +- } +- +- if(!ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ +- if(deblock_left){ +- for(i = (!deblock_top) << 1; i<18; i++){ +- XCHG(h->left_border[i+34 ], src_cb[i*uvlinesize], temp8, xchg); +- XCHG(h->left_border[i+34+18], src_cr[i*uvlinesize], temp8, xchg); +- } +- } +- if(deblock_top){ +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+16), *(uint64_t*)(src_cb+1), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[0][s->mb_x]+24), *(uint64_t*)(src_cr+1), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[1][s->mb_x]+16), *(uint64_t*)(src_cb+1 +uvlinesize), temp64, 1); +- XCHG(*(uint64_t*)(h->top_borders[1][s->mb_x]+24), *(uint64_t*)(src_cr+1 +uvlinesize), temp64, 1); +- } +- } +-} +- + static av_always_inline void hl_decode_mb_internal(H264Context *h, int simple){ + MpegEncContext * const s = &h->s; + const int mb_x= s->mb_x; + const int mb_y= s->mb_y; +- const int mb_xy= mb_x + mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + const int mb_type= s->current_picture.mb_type[mb_xy]; + uint8_t *dest_y, *dest_cb, *dest_cr; + int linesize, uvlinesize /*dct_offset*/; + int i; + int *block_offset = &h->block_offset[0]; +- const unsigned int bottom = mb_y & 1; + const int transform_bypass = (s->qscale == 0 && h->sps.transform_bypass), is_h264 = (simple || s->codec_id == CODEC_ID_H264); + void (*idct_add)(uint8_t *dst, DCTELEM *block, int stride); + void (*idct_dc_add)(uint8_t *dst, DCTELEM *block, int stride); +@@ -2484,7 +2435,7 @@ + linesize = h->mb_linesize = s->linesize * 2; + uvlinesize = h->mb_uvlinesize = s->uvlinesize * 2; + block_offset = &h->block_offset[24]; +- if(mb_y&1){ //FIXME move out of this func? ++ if(mb_y&1){ //FIXME move out of this function? + dest_y -= s->linesize*15; + dest_cb-= s->uvlinesize*7; + dest_cr-= s->uvlinesize*7; +@@ -2496,13 +2447,13 @@ + continue; + if(IS_16X16(mb_type)){ + int8_t *ref = &h->ref_cache[list][scan8[0]]; +- fill_rectangle(ref, 4, 4, 8, 16+*ref^(s->mb_y&1), 1); ++ fill_rectangle(ref, 4, 4, 8, (16+*ref)^(s->mb_y&1), 1); + }else{ + for(i=0; i<16; i+=4){ + //FIXME can refs be smaller than 8x8 when !direct_8x8_inference ? + int ref = h->ref_cache[list][scan8[i]]; + if(ref >= 0) +- fill_rectangle(&h->ref_cache[list][scan8[i]], 2, 2, 8, 16+ref^(s->mb_y&1), 1); ++ fill_rectangle(&h->ref_cache[list][scan8[i]], 2, 2, 8, (16+ref)^(s->mb_y&1), 1); + } + } + } +@@ -2524,44 +2475,17 @@ + idct_add = s->dsp.h264_idct_add; + } + +- if(!simple && FRAME_MBAFF && h->deblocking_filter && IS_INTRA(mb_type) +- && (!bottom || !IS_INTRA(s->current_picture.mb_type[mb_xy-s->mb_stride]))){ +- int mbt_y = mb_y&~1; +- uint8_t *top_y = s->current_picture.data[0] + (mbt_y * 16* s->linesize ) + mb_x * 16; +- uint8_t *top_cb = s->current_picture.data[1] + (mbt_y * 8 * s->uvlinesize) + mb_x * 8; +- uint8_t *top_cr = s->current_picture.data[2] + (mbt_y * 8 * s->uvlinesize) + mb_x * 8; +- xchg_pair_border(h, top_y, top_cb, top_cr, s->linesize, s->uvlinesize, 1); +- } +- + if (!simple && IS_INTRA_PCM(mb_type)) { +- unsigned int x, y; +- +- // The pixels are stored in h->mb array in the same order as levels, +- // copy them in output in the correct order. +- for(i=0; i<16; i++) { +- for (y=0; y<4; y++) { +- for (x=0; x<4; x++) { +- *(dest_y + block_offset[i] + y*linesize + x) = h->mb[i*16+y*4+x]; +- } +- } ++ for (i=0; i<16; i++) { ++ memcpy(dest_y + i* linesize, h->mb + i*8, 16); + } +- for(i=16; i<16+4; i++) { +- for (y=0; y<4; y++) { +- for (x=0; x<4; x++) { +- *(dest_cb + block_offset[i] + y*uvlinesize + x) = h->mb[i*16+y*4+x]; +- } +- } ++ for (i=0; i<8; i++) { ++ memcpy(dest_cb+ i*uvlinesize, h->mb + 128 + i*4, 8); ++ memcpy(dest_cr+ i*uvlinesize, h->mb + 160 + i*4, 8); + } +- for(i=20; i<20+4; i++) { +- for (y=0; y<4; y++) { +- for (x=0; x<4; x++) { +- *(dest_cr + block_offset[i] + y*uvlinesize + x) = h->mb[i*16+y*4+x]; +- } +- } +- } + } else { + if(IS_INTRA(mb_type)){ +- if(h->deblocking_filter && (simple || !FRAME_MBAFF)) ++ if(h->deblocking_filter) + xchg_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, 1, simple); + + if(simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ +@@ -2624,7 +2548,7 @@ + }else + svq3_luma_dc_dequant_idct_c(h->mb, s->qscale); + } +- if(h->deblocking_filter && (simple || !FRAME_MBAFF)) ++ if(h->deblocking_filter) + xchg_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, 0, simple); + }else if(is_h264){ + hl_motion(h, dest_y, dest_cb, dest_cr, +@@ -2693,42 +2617,13 @@ + } + } + if(h->deblocking_filter) { ++ backup_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, simple); ++ fill_caches(h, mb_type, 1); //FIXME don't fill stuff which isn't used by filter_mb ++ h->chroma_qp[0] = get_chroma_qp(h, 0, s->current_picture.qscale_table[mb_xy]); ++ h->chroma_qp[1] = get_chroma_qp(h, 1, s->current_picture.qscale_table[mb_xy]); + if (!simple && FRAME_MBAFF) { +- //FIXME try deblocking one mb at a time? +- // the reduction in load/storing mvs and such might outweigh the extra backup/xchg_border +- const int mb_y = s->mb_y - 1; +- uint8_t *pair_dest_y, *pair_dest_cb, *pair_dest_cr; +- const int mb_xy= mb_x + mb_y*s->mb_stride; +- const int mb_type_top = s->current_picture.mb_type[mb_xy]; +- const int mb_type_bottom= s->current_picture.mb_type[mb_xy+s->mb_stride]; +- if (!bottom) return; +- pair_dest_y = s->current_picture.data[0] + (mb_y * 16* s->linesize ) + mb_x * 16; +- pair_dest_cb = s->current_picture.data[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; +- pair_dest_cr = s->current_picture.data[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; +- +- if(IS_INTRA(mb_type_top | mb_type_bottom)) +- xchg_pair_border(h, pair_dest_y, pair_dest_cb, pair_dest_cr, s->linesize, s->uvlinesize, 0); +- +- backup_pair_border(h, pair_dest_y, pair_dest_cb, pair_dest_cr, s->linesize, s->uvlinesize); +- // deblock a pair +- // top +- s->mb_y--; +- tprintf(h->s.avctx, "call mbaff filter_mb mb_x:%d mb_y:%d pair_dest_y = %p, dest_y = %p\n", mb_x, mb_y, pair_dest_y, dest_y); +- fill_caches(h, mb_type_top, 1); //FIXME don't fill stuff which isn't used by filter_mb +- h->chroma_qp[0] = get_chroma_qp(h, 0, s->current_picture.qscale_table[mb_xy]); +- h->chroma_qp[1] = get_chroma_qp(h, 1, s->current_picture.qscale_table[mb_xy]); +- filter_mb(h, mb_x, mb_y, pair_dest_y, pair_dest_cb, pair_dest_cr, linesize, uvlinesize); +- // bottom +- s->mb_y++; +- tprintf(h->s.avctx, "call mbaff filter_mb\n"); +- fill_caches(h, mb_type_bottom, 1); //FIXME don't fill stuff which isn't used by filter_mb +- h->chroma_qp[0] = get_chroma_qp(h, 0, s->current_picture.qscale_table[mb_xy+s->mb_stride]); +- h->chroma_qp[1] = get_chroma_qp(h, 1, s->current_picture.qscale_table[mb_xy+s->mb_stride]); +- filter_mb(h, mb_x, mb_y+1, dest_y, dest_cb, dest_cr, linesize, uvlinesize); ++ filter_mb (h, mb_x, mb_y, dest_y, dest_cb, dest_cr, linesize, uvlinesize); + } else { +- tprintf(h->s.avctx, "call filter_mb\n"); +- backup_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, simple); +- fill_caches(h, mb_type, 1); //FIXME don't fill stuff which isn't used by filter_mb + filter_mb_fast(h, mb_x, mb_y, dest_y, dest_cb, dest_cr, linesize, uvlinesize); + } + } +@@ -2750,13 +2645,12 @@ + + static void hl_decode_mb(H264Context *h){ + MpegEncContext * const s = &h->s; +- const int mb_x= s->mb_x; +- const int mb_y= s->mb_y; +- const int mb_xy= mb_x + mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + const int mb_type= s->current_picture.mb_type[mb_xy]; +- int is_complex = FRAME_MBAFF || MB_FIELD || IS_INTRA_PCM(mb_type) || s->codec_id != CODEC_ID_H264 || (ENABLE_GRAY && (s->flags&CODEC_FLAG_GRAY)) || s->encoding; ++ int is_complex = FRAME_MBAFF || MB_FIELD || IS_INTRA_PCM(mb_type) || s->codec_id != CODEC_ID_H264 || ++ (ENABLE_GRAY && (s->flags&CODEC_FLAG_GRAY)) || (ENABLE_H264_ENCODER && s->encoding) || ENABLE_SMALL; + +- if(!s->decode) ++ if(ENABLE_H264_ENCODER && !s->decode) + return; + + if (is_complex) +@@ -2772,6 +2666,7 @@ + pic->reference = parity; + pic->linesize[i] *= 2; + } ++ pic->poc= pic->field_poc[parity == PICT_BOTTOM_FIELD]; + } + + static int split_field_copy(Picture *dest, Picture *src, +@@ -2780,87 +2675,57 @@ + + if (match) { + *dest = *src; +- pic_as_field(dest, parity); +- dest->pic_id *= 2; +- dest->pic_id += id_add; ++ if(parity != PICT_FRAME){ ++ pic_as_field(dest, parity); ++ dest->pic_id *= 2; ++ dest->pic_id += id_add; ++ } + } + + return match; + } + +-/** +- * Split one reference list into field parts, interleaving by parity +- * as per H.264 spec section 8.2.4.2.5. Output fields have their data pointers +- * set to look at the actual start of data for that field. +- * +- * @param dest output list +- * @param dest_len maximum number of fields to put in dest +- * @param src the source reference list containing fields and/or field pairs +- * (aka short_ref/long_ref, or +- * refFrameListXShortTerm/refFrameListLongTerm in spec-speak) +- * @param src_len number of Picture's in source (pairs and unmatched fields) +- * @param parity the parity of the picture being decoded/needing +- * these ref pics (PICT_{TOP,BOTTOM}_FIELD) +- * @return number of fields placed in dest +- */ +-static int split_field_half_ref_list(Picture *dest, int dest_len, +- Picture *src, int src_len, int parity){ +- int same_parity = 1; +- int same_i = 0; +- int opp_i = 0; +- int out_i; +- int field_output; ++static int build_def_list(Picture *def, Picture **in, int len, int is_long, int sel){ ++ int i[2]={0}; ++ int index=0; + +- for (out_i = 0; out_i < dest_len; out_i += field_output) { +- if (same_parity && same_i < src_len) { +- field_output = split_field_copy(dest + out_i, src + same_i, +- parity, 1); +- same_parity = !field_output; +- same_i++; +- +- } else if (opp_i < src_len) { +- field_output = split_field_copy(dest + out_i, src + opp_i, +- PICT_FRAME - parity, 0); +- same_parity = field_output; +- opp_i++; +- +- } else { +- break; ++ while(i[0]reference & sel))) ++ i[0]++; ++ while(i[1]reference & (sel^3)))) ++ i[1]++; ++ if(i[0] < len){ ++ in[ i[0] ]->pic_id= is_long ? i[0] : in[ i[0] ]->frame_num; ++ split_field_copy(&def[index++], in[ i[0]++ ], sel , 1); + } ++ if(i[1] < len){ ++ in[ i[1] ]->pic_id= is_long ? i[1] : in[ i[1] ]->frame_num; ++ split_field_copy(&def[index++], in[ i[1]++ ], sel^3, 0); ++ } + } + +- return out_i; ++ return index; + } + +-/** +- * Split the reference frame list into a reference field list. +- * This implements H.264 spec 8.2.4.2.5 for a combined input list. +- * The input list contains both reference field pairs and +- * unmatched reference fields; it is ordered as spec describes +- * RefPicListX for frames in 8.2.4.2.1 and 8.2.4.2.3, except that +- * unmatched field pairs are also present. Conceptually this is equivalent +- * to concatenation of refFrameListXShortTerm with refFrameListLongTerm. +- * +- * @param dest output reference list where ordered fields are to be placed +- * @param dest_len max number of fields to place at dest +- * @param src source reference list, as described above +- * @param src_len number of pictures (pairs and unmatched fields) in src +- * @param parity parity of field being currently decoded +- * (one of PICT_{TOP,BOTTOM}_FIELD) +- * @param long_i index into src array that holds first long reference picture, +- * or src_len if no long refs present. +- */ +-static int split_field_ref_list(Picture *dest, int dest_len, +- Picture *src, int src_len, +- int parity, int long_i){ ++static int add_sorted(Picture **sorted, Picture **src, int len, int limit, int dir){ ++ int i, best_poc; ++ int out_i= 0; + +- int i = split_field_half_ref_list(dest, dest_len, src, long_i, parity); +- dest += i; +- dest_len -= i; ++ for(;;){ ++ best_poc= dir ? INT_MIN : INT_MAX; + +- i += split_field_half_ref_list(dest, dest_len, src + long_i, +- src_len - long_i, parity); +- return i; ++ for(i=0; ipoc; ++ if(((poc > limit) ^ dir) && ((poc < best_poc) ^ dir)){ ++ best_poc= poc; ++ sorted[out_i]= src[i]; ++ } ++ } ++ if(best_poc == (dir ? INT_MIN : INT_MAX)) ++ break; ++ limit= sorted[out_i++]->poc - dir; ++ } ++ return out_i; + } + + /** +@@ -2868,149 +2733,50 @@ + */ + static int fill_default_ref_list(H264Context *h){ + MpegEncContext * const s = &h->s; +- int i; +- int smallest_poc_greater_than_current = -1; +- int structure_sel; +- Picture sorted_short_ref[32]; +- Picture field_entry_list[2][32]; +- Picture *frame_list[2]; ++ int i, len; + +- if (FIELD_PICTURE) { +- structure_sel = PICT_FRAME; +- frame_list[0] = field_entry_list[0]; +- frame_list[1] = field_entry_list[1]; +- } else { +- structure_sel = 0; +- frame_list[0] = h->default_ref_list[0]; +- frame_list[1] = h->default_ref_list[1]; +- } ++ if(h->slice_type_nos==FF_B_TYPE){ ++ Picture *sorted[32]; ++ int cur_poc, list; ++ int lens[2]; + +- if(h->slice_type==B_TYPE){ +- int list; +- int len[2]; +- int short_len[2]; +- int out_i; +- int limit= INT_MIN; ++ if(FIELD_PICTURE) ++ cur_poc= s->current_picture_ptr->field_poc[ s->picture_structure == PICT_BOTTOM_FIELD ]; ++ else ++ cur_poc= s->current_picture_ptr->poc; + +- /* sort frame according to poc in B slice */ +- for(out_i=0; out_ishort_ref_count; out_i++){ +- int best_i=INT_MIN; +- int best_poc=INT_MAX; ++ for(list= 0; list<2; list++){ ++ len= add_sorted(sorted , h->short_ref, h->short_ref_count, cur_poc, 1^list); ++ len+=add_sorted(sorted+len, h->short_ref, h->short_ref_count, cur_poc, 0^list); ++ assert(len<=32); ++ len= build_def_list(h->default_ref_list[list] , sorted , len, 0, s->picture_structure); ++ len+=build_def_list(h->default_ref_list[list]+len, h->long_ref, 16 , 1, s->picture_structure); ++ assert(len<=32); + +- for(i=0; ishort_ref_count; i++){ +- const int poc= h->short_ref[i]->poc; +- if(poc > limit && poc < best_poc){ +- best_poc= poc; +- best_i= i; +- } +- } +- +- assert(best_i != INT_MIN); +- +- limit= best_poc; +- sorted_short_ref[out_i]= *h->short_ref[best_i]; +- tprintf(h->s.avctx, "sorted poc: %d->%d poc:%d fn:%d\n", best_i, out_i, sorted_short_ref[out_i].poc, sorted_short_ref[out_i].frame_num); +- if (-1 == smallest_poc_greater_than_current) { +- if (h->short_ref[best_i]->poc >= s->current_picture_ptr->poc) { +- smallest_poc_greater_than_current = out_i; +- } +- } ++ if(len < h->ref_count[list]) ++ memset(&h->default_ref_list[list][len], 0, sizeof(Picture)*(h->ref_count[list] - len)); ++ lens[list]= len; + } + +- tprintf(h->s.avctx, "current poc: %d, smallest_poc_greater_than_current: %d\n", s->current_picture_ptr->poc, smallest_poc_greater_than_current); +- +- // find the largest poc +- for(list=0; list<2; list++){ +- int index = 0; +- int j= -99; +- int step= list ? -1 : 1; +- +- for(i=0; ishort_ref_count && index < h->ref_count[list]; i++, j+=step) { +- int sel; +- while(j<0 || j>= h->short_ref_count){ +- if(j != -99 && step == (list ? -1 : 1)) +- return -1; +- step = -step; +- j= smallest_poc_greater_than_current + (step>>1); +- } +- sel = sorted_short_ref[j].reference | structure_sel; +- if(sel != PICT_FRAME) continue; +- frame_list[list][index ]= sorted_short_ref[j]; +- frame_list[list][index++].pic_id= sorted_short_ref[j].frame_num; +- } +- short_len[list] = index; +- +- for(i = 0; i < 16 && index < h->ref_count[ list ]; i++){ +- int sel; +- if(h->long_ref[i] == NULL) continue; +- sel = h->long_ref[i]->reference | structure_sel; +- if(sel != PICT_FRAME) continue; +- +- frame_list[ list ][index ]= *h->long_ref[i]; +- frame_list[ list ][index++].pic_id= i;; +- } +- len[list] = index; +- +- if(list && (smallest_poc_greater_than_current<=0 || smallest_poc_greater_than_current>=h->short_ref_count) && (1 < index)){ +- // swap the two first elements of L1 when +- // L0 and L1 are identical +- Picture temp= frame_list[1][0]; +- frame_list[1][0] = frame_list[1][1]; +- frame_list[1][1] = temp; +- } +- ++ if(lens[0] == lens[1] && lens[1] > 1){ ++ for(i=0; h->default_ref_list[0][i].data[0] == h->default_ref_list[1][i].data[0] && idefault_ref_list[1][0], h->default_ref_list[1][1]); + } +- +- for(list=0; list<2; list++){ +- if (FIELD_PICTURE) +- len[list] = split_field_ref_list(h->default_ref_list[list], +- h->ref_count[list], +- frame_list[list], +- len[list], +- s->picture_structure, +- short_len[list]); +- +- if(len[list] < h->ref_count[ list ]) +- memset(&h->default_ref_list[list][len[list]], 0, sizeof(Picture)*(h->ref_count[ list ] - len[list])); +- } +- +- + }else{ +- int index=0; +- int short_len; +- for(i=0; ishort_ref_count; i++){ +- int sel; +- sel = h->short_ref[i]->reference | structure_sel; +- if(sel != PICT_FRAME) continue; +- frame_list[0][index ]= *h->short_ref[i]; +- frame_list[0][index++].pic_id= h->short_ref[i]->frame_num; +- } +- short_len = index; +- for(i = 0; i < 16; i++){ +- int sel; +- if(h->long_ref[i] == NULL) continue; +- sel = h->long_ref[i]->reference | structure_sel; +- if(sel != PICT_FRAME) continue; +- frame_list[0][index ]= *h->long_ref[i]; +- frame_list[0][index++].pic_id= i;; +- } +- +- if (FIELD_PICTURE) +- index = split_field_ref_list(h->default_ref_list[0], +- h->ref_count[0], frame_list[0], +- index, s->picture_structure, +- short_len); +- +- if(index < h->ref_count[0]) +- memset(&h->default_ref_list[0][index], 0, sizeof(Picture)*(h->ref_count[0] - index)); ++ len = build_def_list(h->default_ref_list[0] , h->short_ref, h->short_ref_count, 0, s->picture_structure); ++ len+= build_def_list(h->default_ref_list[0]+len, h-> long_ref, 16 , 1, s->picture_structure); ++ assert(len <= 32); ++ if(len < h->ref_count[0]) ++ memset(&h->default_ref_list[0][len], 0, sizeof(Picture)*(h->ref_count[0] - len)); + } + #ifdef TRACE + for (i=0; iref_count[0]; i++) { + tprintf(h->s.avctx, "List0: %s fn:%d 0x%p\n", (h->default_ref_list[0][i].long_ref ? "LT" : "ST"), h->default_ref_list[0][i].pic_id, h->default_ref_list[0][i].data[0]); + } +- if(h->slice_type==B_TYPE){ ++ if(h->slice_type_nos==FF_B_TYPE){ + for (i=0; iref_count[1]; i++) { +- tprintf(h->s.avctx, "List1: %s fn:%d 0x%p\n", (h->default_ref_list[1][i].long_ref ? "LT" : "ST"), h->default_ref_list[1][i].pic_id, h->default_ref_list[0][i].data[0]); ++ tprintf(h->s.avctx, "List1: %s fn:%d 0x%p\n", (h->default_ref_list[1][i].long_ref ? "LT" : "ST"), h->default_ref_list[1][i].pic_id, h->default_ref_list[1][i].data[0]); + } + } + #endif +@@ -3050,7 +2816,6 @@ + + print_short_term(h); + print_long_term(h); +- if(h->slice_type==I_TYPE || h->slice_type==SI_TYPE) return 0; //FIXME move before func + + for(list=0; listlist_count; list++){ + memcpy(h->ref_list[list], h->default_ref_list[list], sizeof(Picture)*h->ref_count[list]); +@@ -3092,10 +2857,10 @@ + ref = h->short_ref[i]; + assert(ref->reference); + assert(!ref->long_ref); +- if(ref->data[0] != NULL && ++ if( + ref->frame_num == frame_num && +- (ref->reference & pic_structure) && +- ref->long_ref == 0) // ignore non existing pictures by testing data[0] pointer ++ (ref->reference & pic_structure) ++ ) + break; + } + if(i>=0) +@@ -3146,12 +2911,14 @@ + } + for(list=0; listlist_count; list++){ + for(index= 0; index < h->ref_count[list]; index++){ +- if(!h->ref_list[list][index].data[0]) +- h->ref_list[list][index]= s->current_picture; ++ if(!h->ref_list[list][index].data[0]){ ++ av_log(h->s.avctx, AV_LOG_ERROR, "Missing reference picture\n"); ++ h->ref_list[list][index]= s->current_picture; //FIXME this is not a sensible solution ++ } + } + } + +- if(h->slice_type==B_TYPE && !h->direct_spatial_mv_pred) ++ if(h->slice_type_nos==FF_B_TYPE && !h->direct_spatial_mv_pred) + direct_dist_scale_factor(h); + direct_ref_list_init(h); + return 0; +@@ -3216,25 +2983,27 @@ + h->luma_offset[list][i]= 0; + } + +- chroma_weight_flag= get_bits1(&s->gb); +- if(chroma_weight_flag){ +- int j; +- for(j=0; j<2; j++){ +- h->chroma_weight[list][i][j]= get_se_golomb(&s->gb); +- h->chroma_offset[list][i][j]= get_se_golomb(&s->gb); +- if( h->chroma_weight[list][i][j] != chroma_def +- || h->chroma_offset[list][i][j] != 0) +- h->use_weight_chroma= 1; ++ if(CHROMA){ ++ chroma_weight_flag= get_bits1(&s->gb); ++ if(chroma_weight_flag){ ++ int j; ++ for(j=0; j<2; j++){ ++ h->chroma_weight[list][i][j]= get_se_golomb(&s->gb); ++ h->chroma_offset[list][i][j]= get_se_golomb(&s->gb); ++ if( h->chroma_weight[list][i][j] != chroma_def ++ || h->chroma_offset[list][i][j] != 0) ++ h->use_weight_chroma= 1; ++ } ++ }else{ ++ int j; ++ for(j=0; j<2; j++){ ++ h->chroma_weight[list][i][j]= chroma_def; ++ h->chroma_offset[list][i][j]= 0; ++ } + } +- }else{ +- int j; +- for(j=0; j<2; j++){ +- h->chroma_weight[list][i][j]= chroma_def; +- h->chroma_offset[list][i][j]= 0; +- } + } + } +- if(h->slice_type != B_TYPE) break; ++ if(h->slice_type_nos != FF_B_TYPE) break; + } + h->use_weight= h->use_weight || h->use_weight_chroma; + return 0; +@@ -3292,15 +3061,11 @@ + if (pic->reference &= refmask) { + return 0; + } else { +- if(pic == h->delayed_output_pic) +- pic->reference=DELAYED_PIC_REF; +- else{ +- for(i = 0; h->delayed_pic[i]; i++) +- if(pic == h->delayed_pic[i]){ +- pic->reference=DELAYED_PIC_REF; +- break; +- } +- } ++ for(i = 0; h->delayed_pic[i]; i++) ++ if(pic == h->delayed_pic[i]){ ++ pic->reference=DELAYED_PIC_REF; ++ break; ++ } + return 1; + } + } +@@ -3312,32 +3077,31 @@ + int i; + + for(i=0; i<16; i++){ +- if (h->long_ref[i] != NULL) { +- unreference_pic(h, h->long_ref[i], 0); +- h->long_ref[i]= NULL; +- } ++ remove_long(h, i, 0); + } +- h->long_ref_count=0; ++ assert(h->long_ref_count==0); + + for(i=0; ishort_ref_count; i++){ + unreference_pic(h, h->short_ref[i], 0); + h->short_ref[i]= NULL; + } + h->short_ref_count=0; ++ h->prev_frame_num= 0; ++ h->prev_frame_num_offset= 0; ++ h->prev_poc_msb= ++ h->prev_poc_lsb= 0; + } + + /* forget old pics after a seek */ + static void flush_dpb(AVCodecContext *avctx){ + H264Context *h= avctx->priv_data; + int i; +- for(i=0; i<16; i++) { ++ for(i=0; idelayed_pic[i]) + h->delayed_pic[i]->reference= 0; + h->delayed_pic[i]= NULL; + } +- if(h->delayed_output_pic) +- h->delayed_output_pic->reference= 0; +- h->delayed_output_pic= NULL; ++ h->outputed_poc= INT_MIN; + idr(h); + if(h->s.current_picture_ptr) + h->s.current_picture_ptr->reference= 0; +@@ -3376,7 +3140,7 @@ + * @param i index into h->short_ref of picture to remove. + */ + static void remove_short_at_index(H264Context *h, int i){ +- assert(i > 0 && i < h->short_ref_count); ++ assert(i >= 0 && i < h->short_ref_count); + h->short_ref[i]= NULL; + if (--h->short_ref_count) + memmove(&h->short_ref[i], &h->short_ref[i+1], (h->short_ref_count - i)*sizeof(Picture*)); +@@ -3386,7 +3150,7 @@ + * + * @return the removed picture or NULL if an error occurs + */ +-static Picture * remove_short(H264Context *h, int frame_num){ ++static Picture * remove_short(H264Context *h, int frame_num, int ref_mask){ + MpegEncContext * const s = &h->s; + Picture *pic; + int i; +@@ -3395,33 +3159,31 @@ + av_log(h->s.avctx, AV_LOG_DEBUG, "remove short %d count %d\n", frame_num, h->short_ref_count); + + pic = find_short(h, frame_num, &i); +- if (pic) ++ if (pic){ ++ if(unreference_pic(h, pic, ref_mask)) + remove_short_at_index(h, i); ++ } + + return pic; + } + + /** + * Remove a picture from the long term reference list by its index in +- * that list. This does no checking on the provided index; it is assumed +- * to be valid. The removed entry is set to NULL. Other entries are unaffected. +- * @param i index into h->long_ref of picture to remove. +- */ +-static void remove_long_at_index(H264Context *h, int i){ +- h->long_ref[i]= NULL; +- h->long_ref_count--; +-} +- +-/** +- * ++ * that list. + * @return the removed picture or NULL if an error occurs + */ +-static Picture * remove_long(H264Context *h, int i){ ++static Picture * remove_long(H264Context *h, int i, int ref_mask){ + Picture *pic; + + pic= h->long_ref[i]; +- if (pic) +- remove_long_at_index(h, i); ++ if (pic){ ++ if(unreference_pic(h, pic, ref_mask)){ ++ assert(h->long_ref[i]->long_ref == 1); ++ h->long_ref[i]->long_ref= 0; ++ h->long_ref[i]= NULL; ++ h->long_ref_count--; ++ } ++ } + + return pic; + } +@@ -3469,73 +3231,58 @@ + av_log(h->s.avctx, AV_LOG_DEBUG, "no mmco here\n"); + + for(i=0; iavctx->debug&FF_DEBUG_MMCO) + av_log(h->s.avctx, AV_LOG_DEBUG, "mmco:%d %d %d\n", h->mmco[i].opcode, h->mmco[i].short_pic_num, h->mmco[i].long_arg); + ++ if( mmco[i].opcode == MMCO_SHORT2UNUSED ++ || mmco[i].opcode == MMCO_SHORT2LONG){ ++ frame_num = pic_num_extract(h, mmco[i].short_pic_num, &structure); ++ pic = find_short(h, frame_num, &j); ++ if(!pic){ ++ if(mmco[i].opcode != MMCO_SHORT2LONG || !h->long_ref[mmco[i].long_arg] ++ || h->long_ref[mmco[i].long_arg]->frame_num != frame_num) ++ av_log(h->s.avctx, AV_LOG_ERROR, "mmco: unref short failure\n"); ++ continue; ++ } ++ } ++ + switch(mmco[i].opcode){ + case MMCO_SHORT2UNUSED: + if(s->avctx->debug&FF_DEBUG_MMCO) + av_log(h->s.avctx, AV_LOG_DEBUG, "mmco: unref short %d count %d\n", h->mmco[i].short_pic_num, h->short_ref_count); +- frame_num = pic_num_extract(h, mmco[i].short_pic_num, &structure); +- pic = find_short(h, frame_num, &j); +- if (pic) { +- if (unreference_pic(h, pic, structure ^ PICT_FRAME)) +- remove_short_at_index(h, j); +- } else if(s->avctx->debug&FF_DEBUG_MMCO) +- av_log(h->s.avctx, AV_LOG_DEBUG, "mmco: unref short failure\n"); ++ remove_short(h, frame_num, structure ^ PICT_FRAME); + break; + case MMCO_SHORT2LONG: +- if (FIELD_PICTURE && mmco[i].long_arg < h->long_ref_count && +- h->long_ref[mmco[i].long_arg]->frame_num == +- mmco[i].short_pic_num / 2) { +- /* do nothing, we've already moved this field pair. */ +- } else { +- int frame_num = mmco[i].short_pic_num >> FIELD_PICTURE; ++ if (h->long_ref[mmco[i].long_arg] != pic) ++ remove_long(h, mmco[i].long_arg, 0); + +- pic= remove_long(h, mmco[i].long_arg); +- if(pic) unreference_pic(h, pic, 0); +- +- h->long_ref[ mmco[i].long_arg ]= remove_short(h, frame_num); ++ remove_short_at_index(h, j); ++ h->long_ref[ mmco[i].long_arg ]= pic; + if (h->long_ref[ mmco[i].long_arg ]){ + h->long_ref[ mmco[i].long_arg ]->long_ref=1; + h->long_ref_count++; + } +- } + break; + case MMCO_LONG2UNUSED: + j = pic_num_extract(h, mmco[i].long_arg, &structure); + pic = h->long_ref[j]; + if (pic) { +- if (unreference_pic(h, pic, structure ^ PICT_FRAME)) +- remove_long_at_index(h, j); ++ remove_long(h, j, structure ^ PICT_FRAME); + } else if(s->avctx->debug&FF_DEBUG_MMCO) + av_log(h->s.avctx, AV_LOG_DEBUG, "mmco: unref long failure\n"); + break; + case MMCO_LONG: +- unref_pic = 1; +- if (FIELD_PICTURE && !s->first_field) { +- if (h->long_ref[mmco[i].long_arg] == s->current_picture_ptr) { +- /* Just mark second field as referenced */ +- unref_pic = 0; +- } else if (s->current_picture_ptr->reference) { ++ // Comment below left from previous code as it is an interresting note. + /* First field in pair is in short term list or + * at a different long term index. +- * This is not allowed; see 7.4.3, notes 2 and 3. ++ * This is not allowed; see 7.4.3.3, notes 2 and 3. + * Report the problem and keep the pair where it is, + * and mark this field valid. + */ +- av_log(h->s.avctx, AV_LOG_ERROR, +- "illegal long term reference assignment for second " +- "field in complementary field pair (first field is " +- "short term or has non-matching long index)\n"); +- unref_pic = 0; +- } +- } + +- if (unref_pic) { +- pic= remove_long(h, mmco[i].long_arg); +- if(pic) unreference_pic(h, pic, 0); ++ if (h->long_ref[mmco[i].long_arg] != s->current_picture_ptr) { ++ remove_long(h, mmco[i].long_arg, 0); + + h->long_ref[ mmco[i].long_arg ]= s->current_picture_ptr; + h->long_ref[ mmco[i].long_arg ]->long_ref=1; +@@ -3549,32 +3296,34 @@ + assert(mmco[i].long_arg <= 16); + // just remove the long term which index is greater than new max + for(j = mmco[i].long_arg; j<16; j++){ +- pic = remove_long(h, j); +- if (pic) unreference_pic(h, pic, 0); ++ remove_long(h, j, 0); + } + break; + case MMCO_RESET: + while(h->short_ref_count){ +- pic= remove_short(h, h->short_ref[0]->frame_num); +- if(pic) unreference_pic(h, pic, 0); ++ remove_short(h, h->short_ref[0]->frame_num, 0); + } + for(j = 0; j < 16; j++) { +- pic= remove_long(h, j); +- if(pic) unreference_pic(h, pic, 0); ++ remove_long(h, j, 0); + } ++ s->current_picture_ptr->poc= ++ s->current_picture_ptr->field_poc[0]= ++ s->current_picture_ptr->field_poc[1]= ++ h->poc_lsb= ++ h->poc_msb= ++ h->frame_num= ++ s->current_picture_ptr->frame_num= 0; + break; + default: assert(0); + } + } + +- if (!current_ref_assigned && FIELD_PICTURE && +- !s->first_field && s->current_picture_ptr->reference) { +- ++ if (!current_ref_assigned) { + /* Second field of complementary field pair; the first field of + * which is already referenced. If short referenced, it + * should be first entry in short_ref. If not, it must exist + * in long_ref; trying to put it on the short list here is an +- * error in the encoded bit stream (ref: 7.4.3, NOTE 2 and 3). ++ * error in the encoded bit stream (ref: 7.4.3.3, NOTE 2 and 3). + */ + if (h->short_ref_count && h->short_ref[0] == s->current_picture_ptr) { + /* Just mark the second field valid */ +@@ -3585,30 +3334,41 @@ + "in complementary field pair " + "(first field is long term)\n"); + } else { +- /* +- * First field in reference, but not in any sensible place on our +- * reference lists. This shouldn't happen unless reference +- * handling somewhere else is wrong. +- */ +- assert(0); ++ pic= remove_short(h, s->current_picture_ptr->frame_num, 0); ++ if(pic){ ++ av_log(h->s.avctx, AV_LOG_ERROR, "illegal short term buffer state detected\n"); ++ } ++ ++ if(h->short_ref_count) ++ memmove(&h->short_ref[1], &h->short_ref[0], h->short_ref_count*sizeof(Picture*)); ++ ++ h->short_ref[0]= s->current_picture_ptr; ++ h->short_ref_count++; ++ s->current_picture_ptr->reference |= s->picture_structure; + } +- current_ref_assigned = 1; + } + +- if(!current_ref_assigned){ +- pic= remove_short(h, s->current_picture_ptr->frame_num); +- if(pic){ +- unreference_pic(h, pic, 0); +- av_log(h->s.avctx, AV_LOG_ERROR, "illegal short term buffer state detected\n"); +- } ++ if (h->long_ref_count + h->short_ref_count > h->sps.ref_frame_count){ + +- if(h->short_ref_count) +- memmove(&h->short_ref[1], &h->short_ref[0], h->short_ref_count*sizeof(Picture*)); ++ /* We have too many reference frames, probably due to corrupted ++ * stream. Need to discard one frame. Prevents overrun of the ++ * short_ref and long_ref buffers. ++ */ ++ av_log(h->s.avctx, AV_LOG_ERROR, ++ "number of reference frames exceeds max (probably " ++ "corrupt input), discarding one\n"); + +- h->short_ref[0]= s->current_picture_ptr; +- h->short_ref[0]->long_ref=0; +- h->short_ref_count++; +- s->current_picture_ptr->reference |= s->picture_structure; ++ if (h->long_ref_count && !h->short_ref_count) { ++ for (i = 0; i < 16; ++i) ++ if (h->long_ref[i]) ++ break; ++ ++ assert(i < 16); ++ remove_long(h, i, 0); ++ } else { ++ pic = h->short_ref[h->short_ref_count - 1]; ++ remove_short(h, pic->frame_num, 0); ++ } + } + + print_short_term(h); +@@ -3620,13 +3380,12 @@ + MpegEncContext * const s = &h->s; + int i; + ++ h->mmco_index= 0; + if(h->nal_unit_type == NAL_IDR_SLICE){ //FIXME fields + s->broken_link= get_bits1(gb) -1; +- h->mmco[0].long_arg= get_bits1(gb) - 1; // current_long_term_idx +- if(h->mmco[0].long_arg == -1) +- h->mmco_index= 0; +- else{ ++ if(get_bits1(gb)){ + h->mmco[0].opcode= MMCO_LONG; ++ h->mmco[0].long_arg= 0; + h->mmco_index= 1; + } + }else{ +@@ -3662,7 +3421,7 @@ + }else{ + assert(h->long_ref_count + h->short_ref_count <= h->sps.ref_frame_count); + +- if(h->long_ref_count + h->short_ref_count == h->sps.ref_frame_count && ++ if(h->short_ref_count && h->long_ref_count + h->short_ref_count == h->sps.ref_frame_count && + !(FIELD_PICTURE && !s->first_field && s->current_picture_ptr->reference)) { + h->mmco[0].opcode= MMCO_SHORT2UNUSED; + h->mmco[0].short_pic_num= h->short_ref[ h->short_ref_count - 1 ]->frame_num; +@@ -3673,8 +3432,7 @@ + h->mmco[1].short_pic_num= h->mmco[0].short_pic_num + 1; + h->mmco_index= 2; + } +- }else +- h->mmco_index= 0; ++ } + } + } + +@@ -3685,24 +3443,15 @@ + MpegEncContext * const s = &h->s; + const int max_frame_num= 1<sps.log2_max_frame_num; + int field_poc[2]; ++ Picture *cur = s->current_picture_ptr; + +- if(h->nal_unit_type == NAL_IDR_SLICE){ +- h->frame_num_offset= 0; +- }else{ +- if(h->frame_num < h->prev_frame_num) +- h->frame_num_offset= h->prev_frame_num_offset + max_frame_num; +- else +- h->frame_num_offset= h->prev_frame_num_offset; +- } ++ h->frame_num_offset= h->prev_frame_num_offset; ++ if(h->frame_num < h->prev_frame_num) ++ h->frame_num_offset += max_frame_num; + + if(h->sps.poc_type==0){ + const int max_poc_lsb= 1<sps.log2_max_poc_lsb; + +- if(h->nal_unit_type == NAL_IDR_SLICE){ +- h->prev_poc_msb= +- h->prev_poc_lsb= 0; +- } +- + if (h->poc_lsb < h->prev_poc_lsb && h->prev_poc_lsb - h->poc_lsb >= max_poc_lsb/2) + h->poc_msb = h->prev_poc_msb + max_poc_lsb; + else if(h->poc_lsb > h->prev_poc_lsb && h->prev_poc_lsb - h->poc_lsb < -max_poc_lsb/2) +@@ -3749,29 +3498,20 @@ + if(s->picture_structure == PICT_FRAME) + field_poc[1] += h->delta_poc[1]; + }else{ +- int poc; +- if(h->nal_unit_type == NAL_IDR_SLICE){ +- poc= 0; +- }else{ +- if(h->nal_ref_idc) poc= 2*(h->frame_num_offset + h->frame_num); +- else poc= 2*(h->frame_num_offset + h->frame_num) - 1; +- } ++ int poc= 2*(h->frame_num_offset + h->frame_num); ++ ++ if(!h->nal_ref_idc) ++ poc--; ++ + field_poc[0]= poc; + field_poc[1]= poc; + } + +- if(s->picture_structure != PICT_BOTTOM_FIELD) { ++ if(s->picture_structure != PICT_BOTTOM_FIELD) + s->current_picture_ptr->field_poc[0]= field_poc[0]; +- s->current_picture_ptr->poc = field_poc[0]; +- } +- if(s->picture_structure != PICT_TOP_FIELD) { ++ if(s->picture_structure != PICT_TOP_FIELD) + s->current_picture_ptr->field_poc[1]= field_poc[1]; +- s->current_picture_ptr->poc = field_poc[1]; +- } +- if(!FIELD_PICTURE || !s->first_field) { +- Picture *cur = s->current_picture_ptr; +- cur->poc= FFMIN(cur->field_poc[0], cur->field_poc[1]); +- } ++ cur->poc= FFMIN(cur->field_poc[0], cur->field_poc[1]); + + return 0; + } +@@ -3855,7 +3595,7 @@ + + /** + * decodes a slice header. +- * this will allso call MPV_common_init() and frame_start() as needed ++ * This will also call MPV_common_init() and frame_start() as needed. + * + * @param h h264context + * @param h0 h264 master context (differs from 'h' when doing sliced based parallel decoding) +@@ -3868,13 +3608,21 @@ + unsigned int first_mb_in_slice; + unsigned int pps_id; + int num_ref_idx_active_override_flag; +- static const uint8_t slice_type_map[5]= {P_TYPE, B_TYPE, I_TYPE, SP_TYPE, SI_TYPE}; +- unsigned int slice_type, tmp, i; ++ static const uint8_t slice_type_map[5]= {FF_P_TYPE, FF_B_TYPE, FF_I_TYPE, FF_SP_TYPE, FF_SI_TYPE}; ++ unsigned int slice_type, tmp, i, j; + int default_ref_list_done = 0; + int last_pic_structure; + + s->dropable= h->nal_ref_idc == 0; + ++ if((s->avctx->flags2 & CODEC_FLAG2_FAST) && !h->nal_ref_idc){ ++ s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab; ++ s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab; ++ }else{ ++ s->me.qpel_put= s->dsp.put_h264_qpel_pixels_tab; ++ s->me.qpel_avg= s->dsp.avg_h264_qpel_pixels_tab; ++ } ++ + first_mb_in_slice= get_ue_golomb(&s->gb); + + if((s->flags2 & CODEC_FLAG2_CHUNKS) && first_mb_in_slice == 0){ +@@ -3895,14 +3643,15 @@ + h->slice_type_fixed=0; + + slice_type= slice_type_map[ slice_type ]; +- if (slice_type == I_TYPE ++ if (slice_type == FF_I_TYPE + || (h0->current_slice != 0 && slice_type == h0->last_slice_type) ) { + default_ref_list_done = 1; + } + h->slice_type= slice_type; ++ h->slice_type_nos= slice_type & 3; + +- s->pict_type= h->slice_type; // to make a few old func happy, it's wrong though +- if (s->pict_type == B_TYPE && s0->last_picture_ptr == NULL) { ++ s->pict_type= h->slice_type; // to make a few old functions happy, it's wrong though ++ if (s->pict_type == FF_B_TYPE && s0->last_picture_ptr == NULL) { + av_log(h->s.avctx, AV_LOG_ERROR, + "B picture before any references, skipping\n"); + return -1; +@@ -3914,13 +3663,13 @@ + return -1; + } + if(!h0->pps_buffers[pps_id]) { +- av_log(h->s.avctx, AV_LOG_ERROR, "non existing PPS referenced\n"); ++ av_log(h->s.avctx, AV_LOG_ERROR, "non-existing PPS referenced\n"); + return -1; + } + h->pps= *h0->pps_buffers[pps_id]; + + if(!h0->sps_buffers[h->pps.sps_id]) { +- av_log(h->s.avctx, AV_LOG_ERROR, "non existing SPS referenced\n"); ++ av_log(h->s.avctx, AV_LOG_ERROR, "non-existing SPS referenced\n"); + return -1; + } + h->sps = *h0->sps_buffers[h->pps.sps_id]; +@@ -3936,11 +3685,11 @@ + h->b_stride= s->mb_width*4; + h->b8_stride= s->mb_width*2; + +- s->width = 16*s->mb_width - 2*(h->sps.crop_left + h->sps.crop_right ); ++ s->width = 16*s->mb_width - 2*FFMIN(h->sps.crop_right, 7); + if(h->sps.frame_mbs_only_flag) +- s->height= 16*s->mb_height - 2*(h->sps.crop_top + h->sps.crop_bottom); ++ s->height= 16*s->mb_height - 2*FFMIN(h->sps.crop_bottom, 7); + else +- s->height= 16*s->mb_height - 4*(h->sps.crop_top + h->sps.crop_bottom); //FIXME recheck ++ s->height= 16*s->mb_height - 4*FFMIN(h->sps.crop_bottom, 3); + + if (s->context_initialized + && ( s->width != s->avctx->width || s->height != s->avctx->height)) { +@@ -3962,7 +3711,7 @@ + for(i = 1; i < s->avctx->thread_count; i++) { + H264Context *c; + c = h->thread_context[i] = av_malloc(sizeof(H264Context)); +- memcpy(c, h, sizeof(MpegEncContext)); ++ memcpy(c, h->s.thread_context[i], sizeof(MpegEncContext)); + memset(&c->s + 1, 0, sizeof(H264Context) - sizeof(MpegEncContext)); + c->sps = h->sps; + c->pps = h->pps; +@@ -4004,8 +3753,19 @@ + h->mb_aff_frame = h->sps.mb_aff; + } + } ++ h->mb_field_decoding_flag= s->picture_structure != PICT_FRAME; + + if(h0->current_slice == 0){ ++ while(h->frame_num != h->prev_frame_num && ++ h->frame_num != (h->prev_frame_num+1)%(1<sps.log2_max_frame_num)){ ++ av_log(NULL, AV_LOG_DEBUG, "Frame num gap %d %d\n", h->frame_num, h->prev_frame_num); ++ frame_start(h); ++ h->prev_frame_num++; ++ h->prev_frame_num %= 1<sps.log2_max_frame_num; ++ s->current_picture_ptr->frame_num= h->prev_frame_num; ++ execute_ref_pic_marking(h, NULL, 0); ++ } ++ + /* See if we have a decoded first field looking for a pair... */ + if (s0->first_field) { + assert(s0->current_picture_ptr); +@@ -4101,21 +3861,19 @@ + h->redundant_pic_count= get_ue_golomb(&s->gb); + } + +- //set defaults, might be overriden a few line later ++ //set defaults, might be overridden a few lines later + h->ref_count[0]= h->pps.ref_count[0]; + h->ref_count[1]= h->pps.ref_count[1]; + +- if(h->slice_type == P_TYPE || h->slice_type == SP_TYPE || h->slice_type == B_TYPE){ +- if(h->slice_type == B_TYPE){ ++ if(h->slice_type_nos != FF_I_TYPE){ ++ if(h->slice_type_nos == FF_B_TYPE){ + h->direct_spatial_mv_pred= get_bits1(&s->gb); +- if(FIELD_OR_MBAFF_PICTURE && h->direct_spatial_mv_pred) +- av_log(h->s.avctx, AV_LOG_ERROR, "Interlaced pictures + spatial direct mode is not implemented\n"); + } + num_ref_idx_active_override_flag= get_bits1(&s->gb); + + if(num_ref_idx_active_override_flag){ + h->ref_count[0]= get_ue_golomb(&s->gb) + 1; +- if(h->slice_type==B_TYPE) ++ if(h->slice_type_nos==FF_B_TYPE) + h->ref_count[1]= get_ue_golomb(&s->gb) + 1; + + if(h->ref_count[0]-1 > 32-1 || h->ref_count[1]-1 > 32-1){ +@@ -4124,7 +3882,7 @@ + return -1; + } + } +- if(h->slice_type == B_TYPE) ++ if(h->slice_type_nos == FF_B_TYPE) + h->list_count= 2; + else + h->list_count= 1; +@@ -4135,13 +3893,13 @@ + fill_default_ref_list(h); + } + +- if(decode_ref_pic_list_reordering(h) < 0) ++ if(h->slice_type_nos!=FF_I_TYPE && decode_ref_pic_list_reordering(h) < 0) + return -1; + +- if( (h->pps.weighted_pred && (h->slice_type == P_TYPE || h->slice_type == SP_TYPE )) +- || (h->pps.weighted_bipred_idc==1 && h->slice_type==B_TYPE ) ) ++ if( (h->pps.weighted_pred && h->slice_type_nos == FF_P_TYPE ) ++ || (h->pps.weighted_bipred_idc==1 && h->slice_type_nos== FF_B_TYPE ) ) + pred_weight_table(h); +- else if(h->pps.weighted_bipred_idc==2 && h->slice_type==B_TYPE) ++ else if(h->pps.weighted_bipred_idc==2 && h->slice_type_nos== FF_B_TYPE) + implicit_weight_table(h); + else + h->use_weight = 0; +@@ -4152,7 +3910,7 @@ + if(FRAME_MBAFF) + fill_mbaff_ref_list(h); + +- if( h->slice_type != I_TYPE && h->slice_type != SI_TYPE && h->pps.cabac ){ ++ if( h->slice_type_nos != FF_I_TYPE && h->pps.cabac ){ + tmp = get_ue_golomb(&s->gb); + if(tmp > 2){ + av_log(s->avctx, AV_LOG_ERROR, "cabac_init_idc overflow\n"); +@@ -4171,10 +3929,10 @@ + h->chroma_qp[0] = get_chroma_qp(h, 0, s->qscale); + h->chroma_qp[1] = get_chroma_qp(h, 1, s->qscale); + //FIXME qscale / qp ... stuff +- if(h->slice_type == SP_TYPE){ ++ if(h->slice_type == FF_SP_TYPE){ + get_bits1(&s->gb); /* sp_for_switch_flag */ + } +- if(h->slice_type==SP_TYPE || h->slice_type == SI_TYPE){ ++ if(h->slice_type==FF_SP_TYPE || h->slice_type == FF_SI_TYPE){ + get_se_golomb(&s->gb); /* slice_qs_delta */ + } + +@@ -4198,15 +3956,15 @@ + } + + if( s->avctx->skip_loop_filter >= AVDISCARD_ALL +- ||(s->avctx->skip_loop_filter >= AVDISCARD_NONKEY && h->slice_type != I_TYPE) +- ||(s->avctx->skip_loop_filter >= AVDISCARD_BIDIR && h->slice_type == B_TYPE) ++ ||(s->avctx->skip_loop_filter >= AVDISCARD_NONKEY && h->slice_type_nos != FF_I_TYPE) ++ ||(s->avctx->skip_loop_filter >= AVDISCARD_BIDIR && h->slice_type_nos == FF_B_TYPE) + ||(s->avctx->skip_loop_filter >= AVDISCARD_NONREF && h->nal_ref_idc == 0)) + h->deblocking_filter= 0; + + if(h->deblocking_filter == 1 && h0->max_contexts > 1) { + if(s->avctx->flags2 & CODEC_FLAG2_FAST) { + /* Cheat slightly for speed: +- Dont bother to deblock across slices */ ++ Do not bother to deblock across slices. */ + h->deblocking_filter = 2; + } else { + h0->max_contexts = 1; +@@ -4227,11 +3985,25 @@ + h0->last_slice_type = slice_type; + h->slice_num = ++h0->current_slice; + ++ for(j=0; j<2; j++){ ++ int *ref2frm= h->ref2frm[h->slice_num&15][j]; ++ ref2frm[0]= ++ ref2frm[1]= -1; ++ for(i=0; i<16; i++) ++ ref2frm[i+2]= 4*h->ref_list[j][i].frame_num ++ +(h->ref_list[j][i].reference&3); ++ ref2frm[18+0]= ++ ref2frm[18+1]= -1; ++ for(i=16; i<48; i++) ++ ref2frm[i+4]= 4*h->ref_list[j][i].frame_num ++ +(h->ref_list[j][i].reference&3); ++ } ++ + h->emu_edge_width= (s->flags&CODEC_FLAG_EMU_EDGE) ? 0 : 16; + h->emu_edge_height= (FRAME_MBAFF || FIELD_PICTURE) ? 0 : h->emu_edge_width; + + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ +- av_log(h->s.avctx, AV_LOG_DEBUG, "slice:%d %s mb:%d %c pps:%u frame:%d poc:%d/%d ref:%d/%d qp:%d loop:%d:%d:%d weight:%d%s\n", ++ av_log(h->s.avctx, AV_LOG_DEBUG, "slice:%d %s mb:%d %c pps:%u frame:%d poc:%d/%d ref:%d/%d qp:%d loop:%d:%d:%d weight:%d%s %s\n", + h->slice_num, + (s->picture_structure==PICT_FRAME ? "F" : s->picture_structure==PICT_TOP_FIELD ? "T" : "B"), + first_mb_in_slice, +@@ -4242,18 +4014,11 @@ + s->qscale, + h->deblocking_filter, h->slice_alpha_c0_offset/2, h->slice_beta_offset/2, + h->use_weight, +- h->use_weight==1 && h->use_weight_chroma ? "c" : "" ++ h->use_weight==1 && h->use_weight_chroma ? "c" : "", ++ h->slice_type == FF_B_TYPE ? (h->direct_spatial_mv_pred ? "SPAT" : "TEMP") : "" + ); + } + +- if((s->avctx->flags2 & CODEC_FLAG2_FAST) && !h->nal_ref_idc){ +- s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab; +- s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab; +- }else{ +- s->me.qpel_put= s->dsp.put_h264_qpel_pixels_tab; +- s->me.qpel_avg= s->dsp.avg_h264_qpel_pixels_tab; +- } +- + return 0; + } + +@@ -4354,12 +4119,11 @@ + level_code= (prefix<s.avctx, AV_LOG_ERROR, "prefix too large at %d %d\n", s->mb_x, s->mb_y); +- return -1; ++ level_code= (15<=16) ++ level_code += (1<<(prefix-3))-4096; + } + + if(trailing_ones < 3) level_code += 2; +@@ -4377,11 +4141,10 @@ + prefix = get_level_prefix(gb); + if(prefix<15){ + level_code = (prefix<s.avctx, AV_LOG_ERROR, "prefix too large at %d %d\n", s->mb_x, s->mb_y); +- return -1; ++ level_code = (15<=16) ++ level_code += (1<<(prefix-3))-4096; + } + mask= -(level_code&1); + level[i]= (((2+level_code)>>1) ^ mask) - mask; +@@ -4445,7 +4208,7 @@ + + static void predict_field_decoding_flag(H264Context *h){ + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + int mb_type = (h->slice_table[mb_xy-1] == h->slice_num) + ? s->current_picture.mb_type[mb_xy-1] + : (h->slice_table[mb_xy-s->mb_stride] == h->slice_num) +@@ -4459,7 +4222,7 @@ + */ + static void decode_mb_skip(H264Context *h){ + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy= h->mb_xy; + int mb_type=0; + + memset(h->non_zero_count[mb_xy], 0, 16); +@@ -4468,10 +4231,10 @@ + if(MB_FIELD) + mb_type|= MB_TYPE_INTERLACED; + +- if( h->slice_type == B_TYPE ) ++ if( h->slice_type_nos == FF_B_TYPE ) + { + // just for fill_caches. pred_direct_motion will set the real mb_type +- mb_type|= MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2|MB_TYPE_SKIP; ++ mb_type|= MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2|MB_TYPE_SKIP; + + fill_caches(h, mb_type, 0); //FIXME check what is needed and what not ... + pred_direct_motion(h, &mb_type); +@@ -4497,21 +4260,23 @@ + + /** + * decodes a macroblock +- * @returns 0 if ok, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed ++ * @returns 0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed + */ + static int decode_mb_cavlc(H264Context *h){ + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ int mb_xy; + int partition_count; + unsigned int mb_type, cbp; + int dct8x8_allowed= h->pps.transform_8x8_mode; + ++ mb_xy = h->mb_xy = s->mb_x + s->mb_y*s->mb_stride; ++ + s->dsp.clear_blocks(h->mb); //FIXME avoid if already clear (move after skip handlong? + + tprintf(s->avctx, "pic:%d mb:%d/%d\n", h->frame_num, s->mb_x, s->mb_y); + cbp = 0; /* avoid warning. FIXME: find a solution without slowing + down the code */ +- if(h->slice_type != I_TYPE && h->slice_type != SI_TYPE){ ++ if(h->slice_type_nos != FF_I_TYPE){ + if(s->mb_skip_run==-1) + s->mb_skip_run= get_ue_golomb(&s->gb); + +@@ -4529,13 +4294,12 @@ + if(FRAME_MBAFF){ + if( (s->mb_y&1) == 0 ) + h->mb_mbaff = h->mb_field_decoding_flag = get_bits1(&s->gb); +- }else +- h->mb_field_decoding_flag= (s->picture_structure!=PICT_FRAME); ++ } + + h->prev_mb_skipped= 0; + + mb_type= get_ue_golomb(&s->gb); +- if(h->slice_type == B_TYPE){ ++ if(h->slice_type_nos == FF_B_TYPE){ + if(mb_type < 23){ + partition_count= b_mb_type_info[mb_type].partition_count; + mb_type= b_mb_type_info[mb_type].type; +@@ -4543,7 +4307,7 @@ + mb_type -= 23; + goto decode_intra_mb; + } +- }else if(h->slice_type == P_TYPE /*|| h->slice_type == SP_TYPE */){ ++ }else if(h->slice_type_nos == FF_P_TYPE){ + if(mb_type < 5){ + partition_count= p_mb_type_info[mb_type].partition_count; + mb_type= p_mb_type_info[mb_type].type; +@@ -4552,7 +4316,9 @@ + goto decode_intra_mb; + } + }else{ +- assert(h->slice_type == I_TYPE); ++ assert(h->slice_type_nos == FF_I_TYPE); ++ if(h->slice_type == FF_SI_TYPE && mb_type) ++ mb_type--; + decode_intra_mb: + if(mb_type > 25){ + av_log(h->s.avctx, AV_LOG_ERROR, "mb_type %d in %c slice too large at %d %d\n", mb_type, av_get_pict_type_char(h->slice_type), s->mb_x, s->mb_y); +@@ -4570,38 +4336,18 @@ + h->slice_table[ mb_xy ]= h->slice_num; + + if(IS_INTRA_PCM(mb_type)){ +- unsigned int x, y; ++ unsigned int x; + + // We assume these blocks are very rare so we do not optimize it. + align_get_bits(&s->gb); + + // The pixels are stored in the same order as levels in h->mb array. +- for(y=0; y<16; y++){ +- const int index= 4*(y&3) + 32*((y>>2)&1) + 128*(y>>3); +- for(x=0; x<16; x++){ +- tprintf(s->avctx, "LUMA ICPM LEVEL (%3d)\n", show_bits(&s->gb, 8)); +- h->mb[index + (x&3) + 16*((x>>2)&1) + 64*(x>>3)]= get_bits(&s->gb, 8); +- } ++ for(x=0; x < (CHROMA ? 384 : 256); x++){ ++ ((uint8_t*)h->mb)[x]= get_bits(&s->gb, 8); + } +- for(y=0; y<8; y++){ +- const int index= 256 + 4*(y&3) + 32*(y>>2); +- for(x=0; x<8; x++){ +- tprintf(s->avctx, "CHROMA U ICPM LEVEL (%3d)\n", show_bits(&s->gb, 8)); +- h->mb[index + (x&3) + 16*(x>>2)]= get_bits(&s->gb, 8); +- } +- } +- for(y=0; y<8; y++){ +- const int index= 256 + 64 + 4*(y&3) + 32*(y>>2); +- for(x=0; x<8; x++){ +- tprintf(s->avctx, "CHROMA V ICPM LEVEL (%3d)\n", show_bits(&s->gb, 8)); +- h->mb[index + (x&3) + 16*(x>>2)]= get_bits(&s->gb, 8); +- } +- } + + // In deblocking, the quantizer is 0 + s->current_picture.qscale_table[mb_xy]= 0; +- h->chroma_qp[0] = get_chroma_qp(h, 0, 0); +- h->chroma_qp[1] = get_chroma_qp(h, 1, 0); + // All coeffs are present + memset(h->non_zero_count[mb_xy], 16, 16); + +@@ -4618,47 +4364,48 @@ + + //mb_pred + if(IS_INTRA(mb_type)){ +- int pred_mode; ++ int pred_mode; + // init_top_left_availability(h); +- if(IS_INTRA4x4(mb_type)){ +- int i; +- int di = 1; +- if(dct8x8_allowed && get_bits1(&s->gb)){ +- mb_type |= MB_TYPE_8x8DCT; +- di = 4; +- } ++ if(IS_INTRA4x4(mb_type)){ ++ int i; ++ int di = 1; ++ if(dct8x8_allowed && get_bits1(&s->gb)){ ++ mb_type |= MB_TYPE_8x8DCT; ++ di = 4; ++ } + + // fill_intra4x4_pred_table(h); +- for(i=0; i<16; i+=di){ +- int mode= pred_intra_mode(h, i); ++ for(i=0; i<16; i+=di){ ++ int mode= pred_intra_mode(h, i); + +- if(!get_bits1(&s->gb)){ +- const int rem_mode= get_bits(&s->gb, 3); +- mode = rem_mode + (rem_mode >= mode); +- } +- +- if(di==4) +- fill_rectangle( &h->intra4x4_pred_mode_cache[ scan8[i] ], 2, 2, 8, mode, 1 ); +- else +- h->intra4x4_pred_mode_cache[ scan8[i] ] = mode; ++ if(!get_bits1(&s->gb)){ ++ const int rem_mode= get_bits(&s->gb, 3); ++ mode = rem_mode + (rem_mode >= mode); + } +- write_back_intra_pred_mode(h); +- if( check_intra4x4_pred_mode(h) < 0) +- return -1; +- }else{ +- h->intra16x16_pred_mode= check_intra_pred_mode(h, h->intra16x16_pred_mode); +- if(h->intra16x16_pred_mode < 0) +- return -1; +- } + ++ if(di==4) ++ fill_rectangle( &h->intra4x4_pred_mode_cache[ scan8[i] ], 2, 2, 8, mode, 1 ); ++ else ++ h->intra4x4_pred_mode_cache[ scan8[i] ] = mode; ++ } ++ write_back_intra_pred_mode(h); ++ if( check_intra4x4_pred_mode(h) < 0) ++ return -1; ++ }else{ ++ h->intra16x16_pred_mode= check_intra_pred_mode(h, h->intra16x16_pred_mode); ++ if(h->intra16x16_pred_mode < 0) ++ return -1; ++ } ++ if(CHROMA){ + pred_mode= check_intra_pred_mode(h, get_ue_golomb(&s->gb)); + if(pred_mode < 0) + return -1; + h->chroma_pred_mode= pred_mode; ++ } + }else if(partition_count==4){ + int i, j, sub_partition_count[4], list, ref[2][4]; + +- if(h->slice_type == B_TYPE){ ++ if(h->slice_type_nos == FF_B_TYPE){ + for(i=0; i<4; i++){ + h->sub_mb_type[i]= get_ue_golomb(&s->gb); + if(h->sub_mb_type[i] >=13){ +@@ -4677,7 +4424,7 @@ + h->ref_cache[1][scan8[12]] = PART_NOT_AVAILABLE; + } + }else{ +- assert(h->slice_type == P_TYPE || h->slice_type == SP_TYPE); //FIXME SP correct ? ++ assert(h->slice_type_nos == FF_P_TYPE); //FIXME SP correct ? + for(i=0; i<4; i++){ + h->sub_mb_type[i]= get_ue_golomb(&s->gb); + if(h->sub_mb_type[i] >=4){ +@@ -4860,16 +4607,21 @@ + return -1; + } + +- if(IS_INTRA4x4(mb_type)) +- cbp= golomb_to_intra4x4_cbp[cbp]; +- else +- cbp= golomb_to_inter_cbp[cbp]; ++ if(CHROMA){ ++ if(IS_INTRA4x4(mb_type)) cbp= golomb_to_intra4x4_cbp[cbp]; ++ else cbp= golomb_to_inter_cbp [cbp]; ++ }else{ ++ if(IS_INTRA4x4(mb_type)) cbp= golomb_to_intra4x4_cbp_gray[cbp]; ++ else cbp= golomb_to_inter_cbp_gray[cbp]; ++ } + } + h->cbp = cbp; + + if(dct8x8_allowed && (cbp&15) && !IS_INTRA(mb_type)){ +- if(get_bits1(&s->gb)) ++ if(get_bits1(&s->gb)){ + mb_type |= MB_TYPE_8x8DCT; ++ h->cbp_table[mb_xy]= cbp; ++ } + } + s->current_picture.mb_type[mb_xy]= mb_type; + +@@ -5048,9 +4800,9 @@ + static int decode_cabac_mb_type( H264Context *h ) { + MpegEncContext * const s = &h->s; + +- if( h->slice_type == I_TYPE ) { ++ if( h->slice_type_nos == FF_I_TYPE ) { + return decode_cabac_intra_mb_type(h, 3, 1); +- } else if( h->slice_type == P_TYPE ) { ++ } else if( h->slice_type_nos == FF_P_TYPE ) { + if( get_cabac_noinline( &h->cabac, &h->cabac_state[14] ) == 0 ) { + /* P-type */ + if( get_cabac_noinline( &h->cabac, &h->cabac_state[15] ) == 0 ) { +@@ -5063,7 +4815,7 @@ + } else { + return decode_cabac_intra_mb_type(h, 17, 0) + 5; + } +- } else if( h->slice_type == B_TYPE ) { ++ } else if( h->slice_type_nos == FF_B_TYPE ) { + const int mba_xy = h->left_mb_xy[0]; + const int mbb_xy = h->top_mb_xy; + int ctx = 0; +@@ -5123,7 +4875,7 @@ + }else + mbb_xy = mb_x + (mb_y-1)*s->mb_stride; + }else{ +- int mb_xy = mb_x + mb_y*s->mb_stride; ++ int mb_xy = h->mb_xy; + mba_xy = mb_xy - 1; + mbb_xy = mb_xy - (s->mb_stride << FIELD_PICTURE); + } +@@ -5133,7 +4885,7 @@ + if( h->slice_table[mbb_xy] == h->slice_num && !IS_SKIP( s->current_picture.mb_type[mbb_xy] )) + ctx++; + +- if( h->slice_type == B_TYPE ) ++ if( h->slice_type_nos == FF_B_TYPE ) + ctx += 13; + return get_cabac_noinline( &h->cabac, &h->cabac_state[11+ctx] ); + } +@@ -5270,7 +5022,7 @@ + int ref = 0; + int ctx = 0; + +- if( h->slice_type == B_TYPE) { ++ if( h->slice_type_nos == FF_B_TYPE) { + if( refa > 0 && !h->direct_cache[scan8[n] - 1] ) + ctx++; + if( refb > 0 && !h->direct_cache[scan8[n] - 8] ) +@@ -5338,23 +5090,27 @@ + return get_cabac_bypass_sign( &h->cabac, -mvd ); + } + +-static inline int get_cabac_cbf_ctx( H264Context *h, int cat, int idx ) { ++static av_always_inline int get_cabac_cbf_ctx( H264Context *h, int cat, int idx, int is_dc ) { + int nza, nzb; + int ctx = 0; + +- if( cat == 0 ) { +- nza = h->left_cbp&0x100; +- nzb = h-> top_cbp&0x100; +- } else if( cat == 1 || cat == 2 ) { +- nza = h->non_zero_count_cache[scan8[idx] - 1]; +- nzb = h->non_zero_count_cache[scan8[idx] - 8]; +- } else if( cat == 3 ) { +- nza = (h->left_cbp>>(6+idx))&0x01; +- nzb = (h-> top_cbp>>(6+idx))&0x01; ++ if( is_dc ) { ++ if( cat == 0 ) { ++ nza = h->left_cbp&0x100; ++ nzb = h-> top_cbp&0x100; ++ } else { ++ nza = (h->left_cbp>>(6+idx))&0x01; ++ nzb = (h-> top_cbp>>(6+idx))&0x01; ++ } + } else { +- assert(cat == 4); +- nza = h->non_zero_count_cache[scan8[16+idx] - 1]; +- nzb = h->non_zero_count_cache[scan8[16+idx] - 8]; ++ if( cat == 4 ) { ++ nza = h->non_zero_count_cache[scan8[16+idx] - 1]; ++ nzb = h->non_zero_count_cache[scan8[16+idx] - 8]; ++ } else { ++ assert(cat == 1 || cat == 2); ++ nza = h->non_zero_count_cache[scan8[idx] - 1]; ++ nzb = h->non_zero_count_cache[scan8[idx] - 8]; ++ } + } + + if( nza > 0 ) +@@ -5366,15 +5122,14 @@ + return ctx + 4 * cat; + } + +-static const attribute_used uint8_t last_coeff_flag_offset_8x8[63] = { ++DECLARE_ASM_CONST(1, uint8_t, last_coeff_flag_offset_8x8[63]) = { + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8 + }; + +-static void decode_cabac_residual( H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff) { +- const int mb_xy = h->s.mb_x + h->s.mb_y*h->s.mb_stride; ++static av_always_inline void decode_cabac_residual_internal( H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff, int is_dc ) { + static const int significant_coeff_flag_offset[2][6] = { + { 105+0, 105+15, 105+29, 105+44, 105+47, 402 }, + { 277+0, 277+15, 277+29, 277+44, 277+47, 436 } +@@ -5396,15 +5151,25 @@ + 9, 9,10,10, 8,11,12,11, 9, 9,10,10, 8,13,13, 9, + 9,10,10, 8,13,13, 9, 9,10,10,14,14,14,14,14 } + }; ++ /* node ctx: 0..3: abslevel1 (with abslevelgt1 == 0). ++ * 4..7: abslevelgt1 + 3 (and abslevel1 doesn't matter). ++ * map node ctx => cabac ctx for level=1 */ ++ static const uint8_t coeff_abs_level1_ctx[8] = { 1, 2, 3, 4, 0, 0, 0, 0 }; ++ /* map node ctx => cabac ctx for level>1 */ ++ static const uint8_t coeff_abs_levelgt1_ctx[8] = { 5, 5, 5, 5, 6, 7, 8, 9 }; ++ static const uint8_t coeff_abs_level_transition[2][8] = { ++ /* update node ctx after decoding a level=1 */ ++ { 1, 2, 3, 3, 4, 5, 6, 7 }, ++ /* update node ctx after decoding a level>1 */ ++ { 4, 4, 4, 4, 5, 6, 7, 7 } ++ }; + + int index[64]; + + int av_unused last; + int coeff_count = 0; ++ int node_ctx = 0; + +- int abslevel1 = 1; +- int abslevelgt1 = 0; +- + uint8_t *significant_coeff_ctx_base; + uint8_t *last_coeff_ctx_base; + uint8_t *abs_level_m1_ctx_base; +@@ -5432,12 +5197,15 @@ + */ + + /* read coded block flag */ +- if( cat != 5 ) { +- if( get_cabac( CC, &h->cabac_state[85 + get_cabac_cbf_ctx( h, cat, n ) ] ) == 0 ) { +- if( cat == 1 || cat == 2 ) +- h->non_zero_count_cache[scan8[n]] = 0; +- else if( cat == 4 ) +- h->non_zero_count_cache[scan8[16+n]] = 0; ++ if( is_dc || cat != 5 ) { ++ if( get_cabac( CC, &h->cabac_state[85 + get_cabac_cbf_ctx( h, cat, n, is_dc ) ] ) == 0 ) { ++ if( !is_dc ) { ++ if( cat == 4 ) ++ h->non_zero_count_cache[scan8[16+n]] = 0; ++ else ++ h->non_zero_count_cache[scan8[n]] = 0; ++ } ++ + #ifdef CABAC_ON_STACK + h->cabac.range = cc.range ; + h->cabac.low = cc.low ; +@@ -5454,7 +5222,7 @@ + abs_level_m1_ctx_base = h->cabac_state + + coeff_abs_level_m1_offset[cat]; + +- if( cat == 5 ) { ++ if( !is_dc && cat == 5 ) { + #define DECODE_SIGNIFICANCE( coefs, sig_off, last_off ) \ + for(last= 0; last < coefs; last++) { \ + uint8_t *sig_ctx = significant_coeff_ctx_base + sig_off; \ +@@ -5483,34 +5251,39 @@ + } + assert(coeff_count > 0); + +- if( cat == 0 ) +- h->cbp_table[mb_xy] |= 0x100; +- else if( cat == 1 || cat == 2 ) +- h->non_zero_count_cache[scan8[n]] = coeff_count; +- else if( cat == 3 ) +- h->cbp_table[mb_xy] |= 0x40 << n; +- else if( cat == 4 ) +- h->non_zero_count_cache[scan8[16+n]] = coeff_count; +- else { +- assert( cat == 5 ); +- fill_rectangle(&h->non_zero_count_cache[scan8[n]], 2, 2, 8, coeff_count, 1); ++ if( is_dc ) { ++ if( cat == 0 ) ++ h->cbp_table[h->mb_xy] |= 0x100; ++ else ++ h->cbp_table[h->mb_xy] |= 0x40 << n; ++ } else { ++ if( cat == 5 ) ++ fill_rectangle(&h->non_zero_count_cache[scan8[n]], 2, 2, 8, coeff_count, 1); ++ else if( cat == 4 ) ++ h->non_zero_count_cache[scan8[16+n]] = coeff_count; ++ else { ++ assert( cat == 1 || cat == 2 ); ++ h->non_zero_count_cache[scan8[n]] = coeff_count; ++ } + } + +- for( coeff_count--; coeff_count >= 0; coeff_count-- ) { +- uint8_t *ctx = (abslevelgt1 != 0 ? 0 : FFMIN( 4, abslevel1 )) + abs_level_m1_ctx_base; +- int j= scantable[index[coeff_count]]; ++ do { ++ uint8_t *ctx = coeff_abs_level1_ctx[node_ctx] + abs_level_m1_ctx_base; + ++ int j= scantable[index[--coeff_count]]; ++ + if( get_cabac( CC, ctx ) == 0 ) { +- if( !qmul ) { ++ node_ctx = coeff_abs_level_transition[0][node_ctx]; ++ if( is_dc ) { + block[j] = get_cabac_bypass_sign( CC, -1); + }else{ +- block[j] = (get_cabac_bypass_sign( CC, -qmul[j]) + 32) >> 6;; ++ block[j] = (get_cabac_bypass_sign( CC, -qmul[j]) + 32) >> 6; + } +- +- abslevel1++; + } else { + int coeff_abs = 2; +- ctx = 5 + FFMIN( 4, abslevelgt1 ) + abs_level_m1_ctx_base; ++ ctx = coeff_abs_levelgt1_ctx[node_ctx] + abs_level_m1_ctx_base; ++ node_ctx = coeff_abs_level_transition[1][node_ctx]; ++ + while( coeff_abs < 15 && get_cabac( CC, ctx ) ) { + coeff_abs++; + } +@@ -5528,17 +5301,13 @@ + coeff_abs+= 14; + } + +- if( !qmul ) { +- if( get_cabac_bypass( CC ) ) block[j] = -coeff_abs; +- else block[j] = coeff_abs; ++ if( is_dc ) { ++ block[j] = get_cabac_bypass_sign( CC, -coeff_abs ); + }else{ +- if( get_cabac_bypass( CC ) ) block[j] = (-coeff_abs * qmul[j] + 32) >> 6; +- else block[j] = ( coeff_abs * qmul[j] + 32) >> 6; ++ block[j] = (get_cabac_bypass_sign( CC, -coeff_abs ) * qmul[j] + 32) >> 6; + } +- +- abslevelgt1++; + } +- } ++ } while( coeff_count ); + #ifdef CABAC_ON_STACK + h->cabac.range = cc.range ; + h->cabac.low = cc.low ; +@@ -5547,10 +5316,29 @@ + + } + ++#ifndef CONFIG_SMALL ++static void decode_cabac_residual_dc( H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff ) { ++ decode_cabac_residual_internal(h, block, cat, n, scantable, qmul, max_coeff, 1); ++} ++ ++static void decode_cabac_residual_nondc( H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff ) { ++ decode_cabac_residual_internal(h, block, cat, n, scantable, qmul, max_coeff, 0); ++} ++#endif ++ ++static void decode_cabac_residual( H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff ) { ++#ifdef CONFIG_SMALL ++ decode_cabac_residual_internal(h, block, cat, n, scantable, qmul, max_coeff, cat == 0 || cat == 3); ++#else ++ if( cat == 0 || cat == 3 ) decode_cabac_residual_dc(h, block, cat, n, scantable, qmul, max_coeff); ++ else decode_cabac_residual_nondc(h, block, cat, n, scantable, qmul, max_coeff); ++#endif ++} ++ + static inline void compute_mb_neighbors(H264Context *h) + { + MpegEncContext * const s = &h->s; +- const int mb_xy = s->mb_x + s->mb_y*s->mb_stride; ++ const int mb_xy = h->mb_xy; + h->top_mb_xy = mb_xy - s->mb_stride; + h->left_mb_xy[0] = mb_xy - 1; + if(FRAME_MBAFF){ +@@ -5577,18 +5365,20 @@ + + /** + * decodes a macroblock +- * @returns 0 if ok, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed ++ * @returns 0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed + */ + static int decode_mb_cabac(H264Context *h) { + MpegEncContext * const s = &h->s; +- const int mb_xy= s->mb_x + s->mb_y*s->mb_stride; ++ int mb_xy; + int mb_type, partition_count, cbp = 0; + int dct8x8_allowed= h->pps.transform_8x8_mode; + ++ mb_xy = h->mb_xy = s->mb_x + s->mb_y*s->mb_stride; ++ + s->dsp.clear_blocks(h->mb); //FIXME avoid if already clear (move after skip handlong?) + + tprintf(s->avctx, "pic:%d mb:%d/%d\n", h->frame_num, s->mb_x, s->mb_y); +- if( h->slice_type != I_TYPE && h->slice_type != SI_TYPE ) { ++ if( h->slice_type_nos != FF_I_TYPE ) { + int skip; + /* a skipped mb needs the aff flag from the following mb */ + if( FRAME_MBAFF && s->mb_x==0 && (s->mb_y&1)==0 ) +@@ -5622,8 +5412,7 @@ + if( (s->mb_y&1) == 0 ) + h->mb_mbaff = + h->mb_field_decoding_flag = decode_cabac_field_decoding_flag(h); +- }else +- h->mb_field_decoding_flag= (s->picture_structure!=PICT_FRAME); ++ } + + h->prev_mb_skipped = 0; + +@@ -5633,7 +5422,7 @@ + return -1; + } + +- if( h->slice_type == B_TYPE ) { ++ if( h->slice_type_nos == FF_B_TYPE ) { + if( mb_type < 23 ){ + partition_count= b_mb_type_info[mb_type].partition_count; + mb_type= b_mb_type_info[mb_type].type; +@@ -5641,7 +5430,7 @@ + mb_type -= 23; + goto decode_intra_mb; + } +- } else if( h->slice_type == P_TYPE ) { ++ } else if( h->slice_type_nos == FF_P_TYPE ) { + if( mb_type < 5) { + partition_count= p_mb_type_info[mb_type].partition_count; + mb_type= p_mb_type_info[mb_type].type; +@@ -5650,7 +5439,9 @@ + goto decode_intra_mb; + } + } else { +- assert(h->slice_type == I_TYPE); ++ if(h->slice_type == FF_SI_TYPE && mb_type) ++ mb_type--; ++ assert(h->slice_type_nos == FF_I_TYPE); + decode_intra_mb: + partition_count = 0; + cbp= i_mb_type_info[mb_type].cbp; +@@ -5664,7 +5455,6 @@ + + if(IS_INTRA_PCM(mb_type)) { + const uint8_t *ptr; +- unsigned int x, y; + + // We assume these blocks are very rare so we do not optimize it. + // FIXME The two following lines get the bitstream position in the cabac +@@ -5676,27 +5466,10 @@ + } + + // The pixels are stored in the same order as levels in h->mb array. +- for(y=0; y<16; y++){ +- const int index= 4*(y&3) + 32*((y>>2)&1) + 128*(y>>3); +- for(x=0; x<16; x++){ +- tprintf(s->avctx, "LUMA ICPM LEVEL (%3d)\n", *ptr); +- h->mb[index + (x&3) + 16*((x>>2)&1) + 64*(x>>3)]= *ptr++; +- } ++ memcpy(h->mb, ptr, 256); ptr+=256; ++ if(CHROMA){ ++ memcpy(h->mb+128, ptr, 128); ptr+=128; + } +- for(y=0; y<8; y++){ +- const int index= 256 + 4*(y&3) + 32*(y>>2); +- for(x=0; x<8; x++){ +- tprintf(s->avctx, "CHROMA U ICPM LEVEL (%3d)\n", *ptr); +- h->mb[index + (x&3) + 16*(x>>2)]= *ptr++; +- } +- } +- for(y=0; y<8; y++){ +- const int index= 256 + 64 + 4*(y&3) + 32*(y>>2); +- for(x=0; x<8; x++){ +- tprintf(s->avctx, "CHROMA V ICPM LEVEL (%3d)\n", *ptr); +- h->mb[index + (x&3) + 16*(x>>2)]= *ptr++; +- } +- } + + ff_init_cabac_decoder(&h->cabac, ptr, h->cabac.bytestream_end - ptr); + +@@ -5705,11 +5478,10 @@ + h->chroma_pred_mode_table[mb_xy] = 0; + // In deblocking, the quantizer is 0 + s->current_picture.qscale_table[mb_xy]= 0; +- h->chroma_qp[0] = get_chroma_qp(h, 0, 0); +- h->chroma_qp[1] = get_chroma_qp(h, 1, 0); + // All coeffs are present + memset(h->non_zero_count[mb_xy], 16, 16); + s->current_picture.mb_type[mb_xy]= mb_type; ++ h->last_qscale_diff = 0; + return 0; + } + +@@ -5744,16 +5516,18 @@ + h->intra16x16_pred_mode= check_intra_pred_mode( h, h->intra16x16_pred_mode ); + if( h->intra16x16_pred_mode < 0 ) return -1; + } +- h->chroma_pred_mode_table[mb_xy] = +- pred_mode = decode_cabac_mb_chroma_pre_mode( h ); ++ if(CHROMA){ ++ h->chroma_pred_mode_table[mb_xy] = ++ pred_mode = decode_cabac_mb_chroma_pre_mode( h ); + +- pred_mode= check_intra_pred_mode( h, pred_mode ); +- if( pred_mode < 0 ) return -1; +- h->chroma_pred_mode= pred_mode; ++ pred_mode= check_intra_pred_mode( h, pred_mode ); ++ if( pred_mode < 0 ) return -1; ++ h->chroma_pred_mode= pred_mode; ++ } + } else if( partition_count == 4 ) { + int i, j, sub_partition_count[4], list, ref[2][4]; + +- if( h->slice_type == B_TYPE ) { ++ if( h->slice_type_nos == FF_B_TYPE ) { + for( i = 0; i < 4; i++ ) { + h->sub_mb_type[i] = decode_cabac_b_mb_sub_type( h ); + sub_partition_count[i]= b_sub_mb_type_info[ h->sub_mb_type[i] ].partition_count; +@@ -5951,7 +5725,8 @@ + + if( !IS_INTRA16x16( mb_type ) ) { + cbp = decode_cabac_mb_cbp_luma( h ); +- cbp |= decode_cabac_mb_cbp_chroma( h ) << 4; ++ if(CHROMA) ++ cbp |= decode_cabac_mb_cbp_chroma( h ) << 4; + } + + h->cbp_table[mb_xy] = h->cbp = cbp; +@@ -6381,9 +6156,10 @@ + int mb_xy, mb_type; + int qp, qp0, qp1, qpc, qpc0, qpc1, qp_thresh; + +- mb_xy = mb_x + mb_y*s->mb_stride; ++ mb_xy = h->mb_xy; + + if(mb_x==0 || mb_y==mb_y_firstrow || !s->dsp.h264_loop_filter_strength || h->pps.chroma_qp_diff || ++1 || + (h->deblocking_filter == 2 && (h->slice_table[mb_xy] != h->slice_table[h->top_mb_xy] || + h->slice_table[mb_xy] != h->slice_table[mb_xy - 1]))) { + filter_mb(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize); +@@ -6451,7 +6227,7 @@ + int step = IS_8x8DCT(mb_type) ? 2 : 1; + edges = (mb_type & MB_TYPE_16x16) && !(h->cbp & 15) ? 1 : 4; + s->dsp.h264_loop_filter_strength( bS, h->non_zero_count_cache, h->ref_cache, h->mv_cache, +- (h->slice_type == B_TYPE), edges, step, mask_edge0, mask_edge1 ); ++ (h->slice_type_nos == FF_B_TYPE), edges, step, mask_edge0, mask_edge1, FIELD_PICTURE); + } + if( IS_INTRA(s->current_picture.mb_type[mb_xy-1]) ) + bSv[0][0] = 0x0004000400040004ULL; +@@ -6495,16 +6271,11 @@ + const int mvy_limit = IS_INTERLACED(mb_type) ? 2 : 4; + int first_vertical_edge_done = 0; + int dir; +- /* FIXME: A given frame may occupy more than one position in +- * the reference list. So ref2frm should be populated with +- * frame numbers, not indices. */ +- static const int ref2frm[34] = {-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, +- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}; + + //for sufficiently low qp, filtering wouldn't do anything + //this is a conservative estimate: could also check beta_offset and more accurate chroma_qp + if(!FRAME_MBAFF){ +- int qp_thresh = 15 - h->slice_alpha_c0_offset - FFMAX(0, FFMAX(h->pps.chroma_qp_index_offset[0], h->pps.chroma_qp_index_offset[1])); ++ int qp_thresh = 15 - h->slice_alpha_c0_offset - FFMAX3(0, h->pps.chroma_qp_index_offset[0], h->pps.chroma_qp_index_offset[1]); + int qp = s->current_picture.qscale_table[mb_xy]; + if(qp <= qp_thresh + && (mb_x == 0 || ((qp + s->current_picture.qscale_table[mb_xy-1] + 1)>>1) <= qp_thresh) +@@ -6513,6 +6284,43 @@ + } + } + ++ // CAVLC 8x8dct requires NNZ values for residual decoding that differ from what the loop filter needs ++ if(!h->pps.cabac && h->pps.transform_8x8_mode){ ++ int top_type, left_type[2]; ++ top_type = s->current_picture.mb_type[h->top_mb_xy] ; ++ left_type[0] = s->current_picture.mb_type[h->left_mb_xy[0]]; ++ left_type[1] = s->current_picture.mb_type[h->left_mb_xy[1]]; ++ ++ if(IS_8x8DCT(top_type)){ ++ h->non_zero_count_cache[4+8*0]= ++ h->non_zero_count_cache[5+8*0]= h->cbp_table[h->top_mb_xy] & 4; ++ h->non_zero_count_cache[6+8*0]= ++ h->non_zero_count_cache[7+8*0]= h->cbp_table[h->top_mb_xy] & 8; ++ } ++ if(IS_8x8DCT(left_type[0])){ ++ h->non_zero_count_cache[3+8*1]= ++ h->non_zero_count_cache[3+8*2]= h->cbp_table[h->left_mb_xy[0]]&2; //FIXME check MBAFF ++ } ++ if(IS_8x8DCT(left_type[1])){ ++ h->non_zero_count_cache[3+8*3]= ++ h->non_zero_count_cache[3+8*4]= h->cbp_table[h->left_mb_xy[1]]&8; //FIXME check MBAFF ++ } ++ ++ if(IS_8x8DCT(mb_type)){ ++ h->non_zero_count_cache[scan8[0 ]]= h->non_zero_count_cache[scan8[1 ]]= ++ h->non_zero_count_cache[scan8[2 ]]= h->non_zero_count_cache[scan8[3 ]]= h->cbp_table[mb_xy] & 1; ++ ++ h->non_zero_count_cache[scan8[0+ 4]]= h->non_zero_count_cache[scan8[1+ 4]]= ++ h->non_zero_count_cache[scan8[2+ 4]]= h->non_zero_count_cache[scan8[3+ 4]]= h->cbp_table[mb_xy] & 2; ++ ++ h->non_zero_count_cache[scan8[0+ 8]]= h->non_zero_count_cache[scan8[1+ 8]]= ++ h->non_zero_count_cache[scan8[2+ 8]]= h->non_zero_count_cache[scan8[3+ 8]]= h->cbp_table[mb_xy] & 4; ++ ++ h->non_zero_count_cache[scan8[0+12]]= h->non_zero_count_cache[scan8[1+12]]= ++ h->non_zero_count_cache[scan8[2+12]]= h->non_zero_count_cache[scan8[3+12]]= h->cbp_table[mb_xy] & 8; ++ } ++ } ++ + if (FRAME_MBAFF + // left mb is in picture + && h->slice_table[mb_xy-1] != 255 +@@ -6577,6 +6385,8 @@ + int edge; + const int mbm_xy = dir == 0 ? mb_xy -1 : h->top_mb_xy; + const int mbm_type = s->current_picture.mb_type[mbm_xy]; ++ int (*ref2frm) [64] = h->ref2frm[ h->slice_num &15 ][0] + (MB_MBAFF ? 20 : 2); ++ int (*ref2frmm)[64] = h->ref2frm[ h->slice_table[mbm_xy]&15 ][0] + (MB_MBAFF ? 20 : 2); + int start = h->slice_table[mbm_xy] == 255 ? 1 : 0; + + const int edges = (mb_type & (MB_TYPE_16x16|MB_TYPE_SKIP)) +@@ -6645,6 +6455,7 @@ + /* mbn_xy: neighbor macroblock */ + const int mbn_xy = edge > 0 ? mb_xy : mbm_xy; + const int mbn_type = s->current_picture.mb_type[mbn_xy]; ++ int (*ref2frmn)[64] = edge > 0 ? ref2frm : ref2frmm; + int16_t bS[4]; + int qp; + +@@ -6682,11 +6493,23 @@ + int b_idx= 8 + 4 + edge * (dir ? 8:1); + int bn_idx= b_idx - (dir ? 8:1); + int v = 0; +- for( l = 0; !v && l < 1 + (h->slice_type == B_TYPE); l++ ) { +- v |= ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] || ++ ++ for( l = 0; !v && l < 1 + (h->slice_type_nos == FF_B_TYPE); l++ ) { ++ v |= ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[l][h->ref_cache[l][bn_idx]] || + FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 || + FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit; + } ++ ++ if(h->slice_type_nos == FF_B_TYPE && v){ ++ v=0; ++ for( l = 0; !v && l < 2; l++ ) { ++ int ln= 1-l; ++ v |= ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[ln][h->ref_cache[ln][bn_idx]] || ++ FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[ln][bn_idx][0] ) >= 4 || ++ FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[ln][bn_idx][1] ) >= mvy_limit; ++ } ++ } ++ + bS[0] = bS[1] = bS[2] = bS[3] = v; + mv_done = 1; + } +@@ -6706,14 +6529,27 @@ + else if(!mv_done) + { + bS[i] = 0; +- for( l = 0; l < 1 + (h->slice_type == B_TYPE); l++ ) { +- if( ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] || ++ for( l = 0; l < 1 + (h->slice_type_nos == FF_B_TYPE); l++ ) { ++ if( ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[l][h->ref_cache[l][bn_idx]] || + FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 || + FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit ) { + bS[i] = 1; + break; + } + } ++ ++ if(h->slice_type_nos == FF_B_TYPE && bS[i]){ ++ bS[i] = 0; ++ for( l = 0; l < 2; l++ ) { ++ int ln= 1-l; ++ if( ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[ln][h->ref_cache[ln][bn_idx]] || ++ FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[ln][bn_idx][0] ) >= 4 || ++ FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[ln][bn_idx][1] ) >= mvy_limit ) { ++ bS[i] = 1; ++ break; ++ } ++ } ++ } + } + } + +@@ -6769,7 +6605,7 @@ + /* calculate pre-state */ + for( i= 0; i < 460; i++ ) { + int pre; +- if( h->slice_type == I_TYPE ) ++ if( h->slice_type_nos == FF_I_TYPE ) + pre = av_clip( ((cabac_context_init_I[i][0] * s->qscale) >>4 ) + cabac_context_init_I[i][1], 1, 126 ); + else + pre = av_clip( ((cabac_context_init_PB[h->cabac_init_idc][i][0] * s->qscale) >>4 ) + cabac_context_init_PB[h->cabac_init_idc][i][1], 1, 126 ); +@@ -7014,7 +6850,7 @@ + if( aspect_ratio_idc == EXTENDED_SAR ) { + sps->sar.num= get_bits(&s->gb, 16); + sps->sar.den= get_bits(&s->gb, 16); +- }else if(aspect_ratio_idc < 14){ ++ }else if(aspect_ratio_idc < sizeof(pixel_aspect)/sizeof(*pixel_aspect)){ + sps->sar= pixel_aspect[aspect_ratio_idc]; + }else{ + av_log(h->s.avctx, AV_LOG_ERROR, "illegal aspect ratio\n"); +@@ -7175,14 +7011,17 @@ + sps->level_idc= level_idc; + + if(sps->profile_idc >= 100){ //high profile +- if(get_ue_golomb(&s->gb) == 3) //chroma_format_idc ++ sps->chroma_format_idc= get_ue_golomb(&s->gb); ++ if(sps->chroma_format_idc == 3) + get_bits1(&s->gb); //residual_color_transform_flag + get_ue_golomb(&s->gb); //bit_depth_luma_minus8 + get_ue_golomb(&s->gb); //bit_depth_chroma_minus8 + sps->transform_bypass = get_bits1(&s->gb); + decode_scaling_matrices(h, sps, NULL, 1, sps->scaling_matrix4, sps->scaling_matrix8); +- }else ++ }else{ + sps->scaling_matrix_present = 0; ++ sps->chroma_format_idc= 1; ++ } + + sps->log2_max_frame_num= get_ue_golomb(&s->gb) + 4; + sps->poc_type= get_ue_golomb(&s->gb); +@@ -7209,8 +7048,9 @@ + } + + tmp= get_ue_golomb(&s->gb); +- if(tmp > MAX_PICTURE_COUNT-2){ ++ if(tmp > MAX_PICTURE_COUNT-2 || tmp >= 32){ + av_log(h->s.avctx, AV_LOG_ERROR, "too many reference frames\n"); ++ return -1; + } + sps->ref_frame_count= tmp; + sps->gaps_in_frame_num_allowed_flag= get_bits1(&s->gb); +@@ -7248,6 +7088,9 @@ + if(sps->crop_left || sps->crop_top){ + av_log(h->s.avctx, AV_LOG_ERROR, "insane cropping not completely supported, this could look slightly wrong ...\n"); + } ++ if(sps->crop_right >= 8 || sps->crop_bottom >= (8>> !h->sps.frame_mbs_only_flag)){ ++ av_log(h->s.avctx, AV_LOG_ERROR, "brainfart cropping not supported, this could look slightly wrong ...\n"); ++ } + }else{ + sps->crop_left = + sps->crop_right = +@@ -7260,7 +7103,7 @@ + decode_vui_parameters(h, sps); + + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ +- av_log(h->s.avctx, AV_LOG_DEBUG, "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s\n", ++ av_log(h->s.avctx, AV_LOG_DEBUG, "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s %s\n", + sps_id, sps->profile_idc, sps->level_idc, + sps->poc_type, + sps->ref_frame_count, +@@ -7269,7 +7112,8 @@ + sps->direct_8x8_inference_flag ? "8B8" : "", + sps->crop_left, sps->crop_right, + sps->crop_top, sps->crop_bottom, +- sps->vui_parameters_present_flag ? "VUI" : "" ++ sps->vui_parameters_present_flag ? "VUI" : "", ++ ((const char*[]){"Gray","420","422","444"})[sps->chroma_format_idc] + ); + } + return 0; +@@ -7279,8 +7123,8 @@ + build_qp_table(PPS *pps, int t, int index) + { + int i; +- for(i = 0; i < 255; i++) +- pps->chroma_qp_table[t][i & 0xff] = chroma_qp[av_clip(i + index, 0, 51)]; ++ for(i = 0; i < 52; i++) ++ pps->chroma_qp_table[t][i] = chroma_qp[av_clip(i + index, 0, 51)]; + } + + static inline int decode_picture_parameter_set(H264Context *h, int bit_length){ +@@ -7370,11 +7214,9 @@ + } + + build_qp_table(pps, 0, pps->chroma_qp_index_offset[0]); +- if(pps->chroma_qp_index_offset[0] != pps->chroma_qp_index_offset[1]) { +- build_qp_table(pps, 1, pps->chroma_qp_index_offset[1]); ++ build_qp_table(pps, 1, pps->chroma_qp_index_offset[1]); ++ if(pps->chroma_qp_index_offset[0] != pps->chroma_qp_index_offset[1]) + h->pps.chroma_qp_diff= 1; +- } else +- memcpy(pps->chroma_qp_table[1], pps->chroma_qp_table[0], 256); + + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ + av_log(h->s.avctx, AV_LOG_DEBUG, "pps:%u sps:%u %s slice_groups:%d ref:%d/%d %s qp:%d/%d/%d/%d %s %s %s %s\n", +@@ -7430,7 +7272,7 @@ + } + + +-static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){ ++static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){ + MpegEncContext * const s = &h->s; + AVCodecContext * const avctx= s->avctx; + int buf_index=0; +@@ -7454,7 +7296,7 @@ + int consumed; + int dst_length; + int bit_length; +- uint8_t *ptr; ++ const uint8_t *ptr; + int i, nalsize = 0; + int err; + +@@ -7499,8 +7341,10 @@ + av_log(h->s.avctx, AV_LOG_DEBUG, "NAL %d at %d/%d length %d\n", hx->nal_unit_type, buf_index, buf_size, dst_length); + } + +- if (h->is_avc && (nalsize != consumed)) ++ if (h->is_avc && (nalsize != consumed)){ + av_log(h->s.avctx, AV_LOG_ERROR, "AVC: Consumed only %d bytes instead of %d\n", consumed, nalsize); ++ consumed= nalsize; ++ } + + buf_index += consumed; + +@@ -7529,8 +7373,8 @@ + s->current_picture_ptr->key_frame|= (hx->nal_unit_type == NAL_IDR_SLICE); + if(hx->redundant_pic_count==0 && hx->s.hurry_up < 5 + && (avctx->skip_frame < AVDISCARD_NONREF || hx->nal_ref_idc) +- && (avctx->skip_frame < AVDISCARD_BIDIR || hx->slice_type!=B_TYPE) +- && (avctx->skip_frame < AVDISCARD_NONKEY || hx->slice_type==I_TYPE) ++ && (avctx->skip_frame < AVDISCARD_BIDIR || hx->slice_type_nos!=FF_B_TYPE) ++ && (avctx->skip_frame < AVDISCARD_NONKEY || hx->slice_type_nos==FF_I_TYPE) + && avctx->skip_frame < AVDISCARD_ALL) + context_count++; + break; +@@ -7554,8 +7398,8 @@ + && s->context_initialized + && s->hurry_up < 5 + && (avctx->skip_frame < AVDISCARD_NONREF || hx->nal_ref_idc) +- && (avctx->skip_frame < AVDISCARD_BIDIR || hx->slice_type!=B_TYPE) +- && (avctx->skip_frame < AVDISCARD_NONKEY || hx->slice_type==I_TYPE) ++ && (avctx->skip_frame < AVDISCARD_BIDIR || hx->slice_type_nos!=FF_B_TYPE) ++ && (avctx->skip_frame < AVDISCARD_NONKEY || hx->slice_type_nos==FF_I_TYPE) + && avctx->skip_frame < AVDISCARD_ALL) + context_count++; + break; +@@ -7600,7 +7444,7 @@ + else if(err == 1) { + /* Slice could not be decoded in parallel mode, copy down + * NAL unit stuff to context 0 and restart. Note that +- * rbsp_buffer is not transfered, but since we no longer ++ * rbsp_buffer is not transferred, but since we no longer + * run in parallel mode this should not be an issue. */ + h->nal_unit_type = hx->nal_unit_type; + h->nal_ref_idc = hx->nal_ref_idc; +@@ -7617,22 +7461,15 @@ + * returns the number of bytes consumed for building the current frame + */ + static int get_consumed_bytes(MpegEncContext *s, int pos, int buf_size){ +- if(s->flags&CODEC_FLAG_TRUNCATED){ +- pos -= s->parse_context.last_index; +- if(pos<0) pos=0; // FIXME remove (unneeded?) +- +- return pos; +- }else{ + if(pos==0) pos=1; //avoid infinite loops (i doubt that is needed but ...) + if(pos+10>buf_size) pos=buf_size; // oops ;) + + return pos; +- } + } + + static int decode_frame(AVCodecContext *avctx, + void *data, int *data_size, +- uint8_t *buf, int buf_size) ++ const uint8_t *buf, int buf_size) + { + H264Context *h = avctx->priv_data; + MpegEncContext *s = &h->s; +@@ -7642,7 +7479,7 @@ + s->flags= avctx->flags; + s->flags2= avctx->flags2; + +- /* no supplementary picture */ ++ /* end of stream, output what is still in the buffers */ + if (buf_size == 0) { + Picture *out; + int i, out_idx; +@@ -7650,7 +7487,7 @@ + //FIXME factorize this with the output code below + out = h->delayed_pic[0]; + out_idx = 0; +- for(i=1; h->delayed_pic[i] && !h->delayed_pic[i]->key_frame; i++) ++ for(i=1; h->delayed_pic[i] && h->delayed_pic[i]->poc; i++) + if(h->delayed_pic[i]->poc < out->poc){ + out = h->delayed_pic[i]; + out_idx = i; +@@ -7667,14 +7504,6 @@ + return 0; + } + +- if(s->flags&CODEC_FLAG_TRUNCATED){ +- int next= ff_h264_find_frame_end(h, buf, buf_size); +- +- if( ff_combine_frame(&s->parse_context, next, (const uint8_t **)&buf, &buf_size) < 0 ) +- return buf_size; +-//printf("next:%d buf_size:%d last_index:%d\n", next, buf_size, s->parse_context.last_index); +- } +- + if(h->is_avc && !h->got_avcC) { + int i, cnt, nalsize; + unsigned char *p = avctx->extradata; +@@ -7734,7 +7563,6 @@ + if(!(s->flags2 & CODEC_FLAG2_CHUNKS) || (s->mb_y >= s->mb_height && s->mb_height)){ + Picture *out = s->current_picture_ptr; + Picture *cur = s->current_picture_ptr; +- Picture *prev = h->delayed_output_pic; + int i, pics, cross_idr, out_of_order, out_idx; + + s->mb_y= 0; +@@ -7742,13 +7570,13 @@ + s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_H264; + s->current_picture_ptr->pict_type= s->pict_type; + +- h->prev_frame_num_offset= h->frame_num_offset; +- h->prev_frame_num= h->frame_num; + if(!s->dropable) { ++ execute_ref_pic_marking(h, h->mmco, h->mmco_index); + h->prev_poc_msb= h->poc_msb; + h->prev_poc_lsb= h->poc_lsb; +- execute_ref_pic_marking(h, h->mmco, h->mmco_index); + } ++ h->prev_frame_num_offset= h->frame_num_offset; ++ h->prev_frame_num= h->frame_num; + + /* + * FIXME: Error handling code does not seem to support interlaced +@@ -7767,7 +7595,7 @@ + + MPV_frame_end(s); + +- if (s->first_field) { ++ if (cur->field_poc[0]==INT_MAX || cur->field_poc[1]==INT_MAX) { + /* Wait for second field. */ + *data_size = 0; + +@@ -7778,9 +7606,6 @@ + + //FIXME do something with unavailable reference frames + +-#if 0 //decode order +- *data_size = sizeof(AVFrame); +-#else + /* Sort B-frames into display order */ + + if(h->sps.bitstream_restriction_flag +@@ -7789,63 +7614,56 @@ + s->low_delay = 0; + } + ++ if( s->avctx->strict_std_compliance >= FF_COMPLIANCE_STRICT ++ && !h->sps.bitstream_restriction_flag){ ++ s->avctx->has_b_frames= MAX_DELAYED_PIC_COUNT; ++ s->low_delay= 0; ++ } ++ + pics = 0; + while(h->delayed_pic[pics]) pics++; + +- assert(pics+1 < sizeof(h->delayed_pic) / sizeof(h->delayed_pic[0])); ++ assert(pics <= MAX_DELAYED_PIC_COUNT); + + h->delayed_pic[pics++] = cur; + if(cur->reference == 0) + cur->reference = DELAYED_PIC_REF; + +- cross_idr = 0; +- for(i=0; h->delayed_pic[i]; i++) +- if(h->delayed_pic[i]->key_frame || h->delayed_pic[i]->poc==0) +- cross_idr = 1; +- + out = h->delayed_pic[0]; + out_idx = 0; +- for(i=1; h->delayed_pic[i] && !h->delayed_pic[i]->key_frame; i++) ++ for(i=1; h->delayed_pic[i] && h->delayed_pic[i]->poc; i++) + if(h->delayed_pic[i]->poc < out->poc){ + out = h->delayed_pic[i]; + out_idx = i; + } ++ cross_idr = !h->delayed_pic[0]->poc || !!h->delayed_pic[i]; + +- out_of_order = !cross_idr && prev && out->poc < prev->poc; ++ out_of_order = !cross_idr && out->poc < h->outputed_poc; ++ + if(h->sps.bitstream_restriction_flag && s->avctx->has_b_frames >= h->sps.num_reorder_frames) + { } +- else if(prev && pics <= s->avctx->has_b_frames) +- out = prev; +- else if((out_of_order && pics-1 == s->avctx->has_b_frames && pics < 15) ++ else if((out_of_order && pics-1 == s->avctx->has_b_frames && s->avctx->has_b_frames < MAX_DELAYED_PIC_COUNT) + || (s->low_delay && +- ((!cross_idr && prev && out->poc > prev->poc + 2) +- || cur->pict_type == B_TYPE))) ++ ((!cross_idr && out->poc > h->outputed_poc + 2) ++ || cur->pict_type == FF_B_TYPE))) + { + s->low_delay = 0; + s->avctx->has_b_frames++; +- out = prev; + } +- else if(out_of_order) +- out = prev; + + if(out_of_order || pics > s->avctx->has_b_frames){ ++ out->reference &= ~DELAYED_PIC_REF; + for(i=out_idx; h->delayed_pic[i]; i++) + h->delayed_pic[i] = h->delayed_pic[i+1]; + } +- +- if(prev == out) +- *data_size = 0; +- else ++ if(!out_of_order && pics > s->avctx->has_b_frames){ + *data_size = sizeof(AVFrame); +- if(prev && prev != out && prev->reference == DELAYED_PIC_REF) +- prev->reference = 0; +- h->delayed_output_pic = out; +-#endif + +- if(out) ++ h->outputed_poc = out->poc; + *pict= *(AVFrame*)out; +- else ++ }else{ + av_log(avctx, AV_LOG_DEBUG, "no picture\n"); ++ } + } + } + +@@ -7855,7 +7673,7 @@ + #if 0 //? + + /* Return the Picture timestamp as the frame number */ +- /* we substract 1 because it is added on utils.c */ ++ /* we subtract 1 because it is added on utils.c */ + avctx->frame_number = s->picture_number - 1; + #endif + return get_consumed_bytes(s, buf_index, buf_size); +@@ -7880,11 +7698,12 @@ + } + #endif + +-#if 0 //selftest ++#ifdef TEST ++#undef printf + #undef random + #define COUNT 8000 + #define SIZE (COUNT*40) +-int main(){ ++int main(void){ + int i; + uint8_t temp[SIZE]; + PutBitContext pb; +@@ -7944,6 +7763,7 @@ + STOP_TIMER("get_se_golomb"); + } + ++#if 0 + printf("testing 4x4 (I)DCT\n"); + + DCTELEM block[16]; +@@ -7983,14 +7803,12 @@ + } + } + printf("error=%f max_error=%d\n", ((float)error)/COUNT/16, (int)max_error ); +-#if 0 + printf("testing quantizer\n"); + for(qp=0; qp<52; qp++){ + for(i=0; i<16; i++) + src1_block[i]= src2_block[i]= random()%255; + + } +-#endif + printf("Testing NAL layer\n"); + + uint8_t bitstream[COUNT]; +@@ -8046,16 +7864,17 @@ + return -1; + } + } ++#endif + + printf("Testing RBSP\n"); + + + return 0; + } +-#endif ++#endif /* TEST */ + + +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + H264Context *h = avctx->priv_data; + MpegEncContext *s = &h->s; +@@ -8080,7 +7899,7 @@ + NULL, + decode_end, + decode_frame, +- /*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY, ++ /*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 | CODEC_CAP_DELAY, + .flush= flush_dpb, + }; + +Index: mythtv/libs/libavcodec/tiertexseqv.c +=================================================================== +--- mythtv/libs/libavcodec/tiertexseqv.c (revision 18209) ++++ mythtv/libs/libavcodec/tiertexseqv.c (working copy) +@@ -173,7 +173,7 @@ + } + } + +-static int seqvideo_decode_init(AVCodecContext *avctx) ++static av_cold int seqvideo_decode_init(AVCodecContext *avctx) + { + SeqVideoContext *seq = avctx->priv_data; + +@@ -185,7 +185,7 @@ + return 0; + } + +-static int seqvideo_decode_frame(AVCodecContext *avctx, ++static av_cold int seqvideo_decode_frame(AVCodecContext *avctx, + void *data, int *data_size, + uint8_t *buf, int buf_size) + { +Index: mythtv/libs/libavcodec/h264.h +=================================================================== +--- mythtv/libs/libavcodec/h264.h (revision 18209) ++++ mythtv/libs/libavcodec/h264.h (working copy) +@@ -51,10 +51,14 @@ + + #define MAX_MMCO_COUNT 66 + ++#define MAX_DELAYED_PIC_COUNT 16 ++ + /* Compiling in interlaced support reduces the speed + * of progressive decoding by about 2%. */ + #define ALLOW_INTERLACE + ++#define ALLOW_NOCHROMA ++ + #ifdef ALLOW_INTERLACE + #define MB_MBAFF h->mb_mbaff + #define MB_FIELD h->mb_field_decoding_flag +@@ -70,6 +74,16 @@ + #endif + #define FIELD_OR_MBAFF_PICTURE (FRAME_MBAFF || FIELD_PICTURE) + ++#ifdef ALLOW_NOCHROMA ++#define CHROMA h->sps.chroma_format_idc ++#else ++#define CHROMA 1 ++#endif ++ ++#ifndef ENABLE_H264_ENCODER ++#define ENABLE_H264_ENCODER 0 ++#endif ++ + /** + * Sequence parameter set + */ +@@ -77,6 +91,7 @@ + + int profile_idc; + int level_idc; ++ int chroma_format_idc; + int transform_bypass; ///< qpprime_y_zero_transform_bypass_flag + int log2_max_frame_num; ///< log2_max_frame_num_minus4 + 4 + int poc_type; ///< pic_order_cnt_type +@@ -132,7 +147,7 @@ + int transform_8x8_mode; ///< transform_8x8_mode_flag + uint8_t scaling_matrix4[6][16]; + uint8_t scaling_matrix8[2][64]; +- uint8_t chroma_qp_table[2][256]; ///< pre-scaled (with chroma_qp_index_offset) version of qp_table ++ uint8_t chroma_qp_table[2][64]; ///< pre-scaled (with chroma_qp_index_offset) version of qp_table + int chroma_qp_diff; + }PPS; + +@@ -264,6 +279,7 @@ + uint8_t *slice_table_base; + uint8_t *slice_table; ///< slice_table_base + 2*mb_stride + 1 + int slice_type; ++ int slice_type_nos; ///< S free slice type (SI/SP are remapped to I/P) + int slice_type_fixed; + + //interlacing specific flags +@@ -330,8 +346,9 @@ + Picture ref_list[2][48]; /**< 0..15: frame refs, 16..47: mbaff field refs. + Reordered version of default_ref_list + according to picture reordering in slice header */ +- Picture *delayed_pic[18]; //FIXME size? +- Picture *delayed_output_pic; ++ int ref2frm[16][2][64]; ///< reference to frame number lists, used in the loop filter, the first 2 are for -2,-1 ++ Picture *delayed_pic[MAX_DELAYED_PIC_COUNT+2]; //FIXME size? ++ int outputed_poc; + + /** + * memory management control operations buffer. +@@ -414,6 +431,8 @@ + int last_slice_type; + /** @} */ + ++ int mb_xy; ++ + }H264Context; + + #endif /* FFMPEG_H264_H */ +Index: mythtv/libs/libavcodec/mpegvideo_enc.c +=================================================================== +--- mythtv/libs/libavcodec/mpegvideo_enc.c (revision 18209) ++++ mythtv/libs/libavcodec/mpegvideo_enc.c (working copy) +@@ -231,7 +231,7 @@ + } + + /* init video encoder */ +-int MPV_encode_init(AVCodecContext *avctx) ++av_cold int MPV_encode_init(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + int i; +@@ -728,7 +728,7 @@ + return 0; + } + +-int MPV_encode_end(AVCodecContext *avctx) ++av_cold int MPV_encode_end(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +@@ -930,8 +930,8 @@ + assert(scale>=0 && scale <=3); + + // emms_c(); +- p_lambda= s->last_lambda_for[P_TYPE]; //s->next_picture_ptr->quality; +- b_lambda= s->last_lambda_for[B_TYPE]; //p_lambda *FFABS(s->avctx->b_quant_factor) + s->avctx->b_quant_offset; ++ p_lambda= s->last_lambda_for[FF_P_TYPE]; //s->next_picture_ptr->quality; ++ b_lambda= s->last_lambda_for[FF_B_TYPE]; //p_lambda *FFABS(s->avctx->b_quant_factor) + s->avctx->b_quant_offset; + if(!b_lambda) b_lambda= p_lambda; //FIXME we should do this somewhere else + lambda2= (b_lambda*b_lambda + (1<> FF_LAMBDA_SHIFT; + +@@ -986,7 +986,7 @@ + + c->error[0]= c->error[1]= c->error[2]= 0; + +- input[0].pict_type= I_TYPE; ++ input[0].pict_type= FF_I_TYPE; + input[0].quality= 1 * FF_QP2LAMBDA; + out_size = avcodec_encode_video(c, outbuf, outbuf_size, &input[0]); + // rd += (out_size * lambda2) >> FF_LAMBDA_SHIFT; +@@ -994,7 +994,7 @@ + for(i=0; imax_b_frames+1; i++){ + int is_p= i % (j+1) == j || i==s->max_b_frames; + +- input[i+1].pict_type= is_p ? P_TYPE : B_TYPE; ++ input[i+1].pict_type= is_p ? FF_P_TYPE : FF_B_TYPE; + input[i+1].quality= is_p ? p_lambda : b_lambda; + out_size = avcodec_encode_video(c, outbuf, outbuf_size, &input[i+1]); + rd += (out_size * lambda2) >> (FF_LAMBDA_SHIFT - 3); +@@ -1036,7 +1036,7 @@ + if(s->reordered_input_picture[0]==NULL && s->input_picture[0]){ + if(/*s->picture_in_gop_number >= s->gop_size ||*/ s->next_picture_ptr==NULL || s->intra_only){ + s->reordered_input_picture[0]= s->input_picture[0]; +- s->reordered_input_picture[0]->pict_type= I_TYPE; ++ s->reordered_input_picture[0]->pict_type= FF_I_TYPE; + s->reordered_input_picture[0]->coded_picture_number= s->coded_picture_number++; + }else{ + int b_frames; +@@ -1071,7 +1071,7 @@ + if(pict_num >= s->rc_context.num_entries) + break; + if(!s->input_picture[i]){ +- s->rc_context.entry[pict_num-1].new_pict_type = P_TYPE; ++ s->rc_context.entry[pict_num-1].new_pict_type = FF_P_TYPE; + break; + } + +@@ -1115,10 +1115,10 @@ + + for(i= b_frames - 1; i>=0; i--){ + int type= s->input_picture[i]->pict_type; +- if(type && type != B_TYPE) ++ if(type && type != FF_B_TYPE) + b_frames= i; + } +- if(s->input_picture[b_frames]->pict_type == B_TYPE && b_frames == s->max_b_frames){ ++ if(s->input_picture[b_frames]->pict_type == FF_B_TYPE && b_frames == s->max_b_frames){ + av_log(s->avctx, AV_LOG_ERROR, "warning, too many b frames in a row\n"); + } + +@@ -1128,29 +1128,29 @@ + }else{ + if(s->flags & CODEC_FLAG_CLOSED_GOP) + b_frames=0; +- s->input_picture[b_frames]->pict_type= I_TYPE; ++ s->input_picture[b_frames]->pict_type= FF_I_TYPE; + } + } + + if( (s->flags & CODEC_FLAG_CLOSED_GOP) + && b_frames +- && s->input_picture[b_frames]->pict_type== I_TYPE) ++ && s->input_picture[b_frames]->pict_type== FF_I_TYPE) + b_frames--; + + s->reordered_input_picture[0]= s->input_picture[b_frames]; +- if(s->reordered_input_picture[0]->pict_type != I_TYPE) +- s->reordered_input_picture[0]->pict_type= P_TYPE; ++ if(s->reordered_input_picture[0]->pict_type != FF_I_TYPE) ++ s->reordered_input_picture[0]->pict_type= FF_P_TYPE; + s->reordered_input_picture[0]->coded_picture_number= s->coded_picture_number++; + for(i=0; ireordered_input_picture[i+1]= s->input_picture[i]; +- s->reordered_input_picture[i+1]->pict_type= B_TYPE; ++ s->reordered_input_picture[i+1]->pict_type= FF_B_TYPE; + s->reordered_input_picture[i+1]->coded_picture_number= s->coded_picture_number++; + } + } + } + no_output_pic: + if(s->reordered_input_picture[0]){ +- s->reordered_input_picture[0]->reference= s->reordered_input_picture[0]->pict_type!=B_TYPE ? 3 : 0; ++ s->reordered_input_picture[0]->reference= s->reordered_input_picture[0]->pict_type!=FF_B_TYPE ? 3 : 0; + + copy_picture(&s->new_picture, s->reordered_input_picture[0]); + +@@ -1254,11 +1254,11 @@ + s->lambda_table[i]= FFMAX(s->lambda_table[i]+1, s->lambda_table[i]*(s->qscale+1) / s->qscale); + } + s->mb_skipped = 0; //done in MPV_frame_start() +- if(s->pict_type==P_TYPE){ //done in encode_picture() so we must undo it ++ if(s->pict_type==FF_P_TYPE){ //done in encode_picture() so we must undo it + if(s->flipflop_rounding || s->codec_id == CODEC_ID_H263P || s->codec_id == CODEC_ID_MPEG4) + s->no_rounding ^= 1; + } +- if(s->pict_type!=B_TYPE){ ++ if(s->pict_type!=FF_B_TYPE){ + s->time_base= s->last_time_base; + s->last_non_b_time= s->time - s->pp_time; + } +@@ -1475,7 +1475,7 @@ + + if(s->codec_id==CODEC_ID_MPEG4){ + if(!s->mb_intra){ +- if(s->pict_type == B_TYPE){ ++ if(s->pict_type == FF_B_TYPE){ + if(s->dquant&1 || s->mv_dir&MV_DIRECT) + s->dquant= 0; + } +@@ -1552,7 +1552,7 @@ + dest_cb = s->dest[1]; + dest_cr = s->dest[2]; + +- if ((!s->no_rounding) || s->pict_type==B_TYPE){ ++ if ((!s->no_rounding) || s->pict_type==FF_B_TYPE){ + op_pix = s->dsp.put_pixels_tab; + op_qpix= s->dsp.put_qpel_pixels_tab; + }else{ +@@ -1939,7 +1939,7 @@ + s->block_index[3]+=2; + + /* compute motion vector & mb_type and store in context */ +- if(s->pict_type==B_TYPE) ++ if(s->pict_type==FF_B_TYPE) + ff_estimate_b_frame_motion(s, s->mb_x, s->mb_y); + else + ff_estimate_p_frame_motion(s, s->mb_x, s->mb_y); +@@ -2336,7 +2336,7 @@ + s->mv[1][0][0] = best_s.mv[1][0][0]; + s->mv[1][0][1] = best_s.mv[1][0][1]; + +- qpi = s->pict_type == B_TYPE ? 2 : 0; ++ qpi = s->pict_type == FF_B_TYPE ? 2 : 0; + for(; qpi<4; qpi++){ + int dquant= dquant_tab[qpi]; + qp= last_qp + dquant; +@@ -2438,7 +2438,7 @@ + s->last_bits= put_bits_count(&s->pb); + + if (ENABLE_ANY_H263_ENCODER && +- s->out_format == FMT_H263 && s->pict_type!=B_TYPE) ++ s->out_format == FMT_H263 && s->pict_type!=FF_B_TYPE) + ff_h263_update_motion_val(s); + + if(next_block==0){ //FIXME 16 vs linesize16 +@@ -2565,7 +2565,7 @@ + s->last_mv_dir = s->mv_dir; + + if (ENABLE_ANY_H263_ENCODER && +- s->out_format == FMT_H263 && s->pict_type!=B_TYPE) ++ s->out_format == FMT_H263 && s->pict_type!=FF_B_TYPE) + ff_h263_update_motion_val(s); + + MPV_decode_mb(s, s->block); +@@ -2603,7 +2603,7 @@ + } + + //not beautiful here but we must write it before flushing so it has to be here +- if (ENABLE_MSMPEG4_ENCODER && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == I_TYPE) ++ if (ENABLE_MSMPEG4_ENCODER && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == FF_I_TYPE) + msmpeg4_encode_ext_header(s); + + write_slice_end(s); +@@ -2699,7 +2699,7 @@ + assert(s->current_picture_ptr->pts != AV_NOPTS_VALUE); + s->time= s->current_picture_ptr->pts*s->avctx->time_base.num; + +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + s->pb_time= s->pp_time - (s->last_non_b_time - s->time); + assert(s->pb_time > 0 && s->pb_time < s->pp_time); + }else{ +@@ -2731,10 +2731,10 @@ + + // s->lambda= s->current_picture_ptr->quality; //FIXME qscale / ... stuff for ME ratedistoration + +- if(s->pict_type==I_TYPE){ ++ if(s->pict_type==FF_I_TYPE){ + if(s->msmpeg4_version >= 3) s->no_rounding=1; + else s->no_rounding=0; +- }else if(s->pict_type!=B_TYPE){ ++ }else if(s->pict_type!=FF_B_TYPE){ + if(s->flipflop_rounding || s->codec_id == CODEC_ID_H263P || s->codec_id == CODEC_ID_MPEG4) + s->no_rounding ^= 1; + } +@@ -2744,7 +2744,7 @@ + return -1; + ff_get_2pass_fcode(s); + }else if(!(s->flags & CODEC_FLAG_QSCALE)){ +- if(s->pict_type==B_TYPE) ++ if(s->pict_type==FF_B_TYPE) + s->lambda= s->last_lambda_for[s->pict_type]; + else + s->lambda= s->last_lambda_for[s->last_non_b_pict_type]; +@@ -2759,17 +2759,17 @@ + ff_init_me(s); + + /* Estimate motion for every MB */ +- if(s->pict_type != I_TYPE){ ++ if(s->pict_type != FF_I_TYPE){ + s->lambda = (s->lambda * s->avctx->me_penalty_compensation + 128)>>8; + s->lambda2= (s->lambda2* (int64_t)s->avctx->me_penalty_compensation + 128)>>8; +- if(s->pict_type != B_TYPE && s->avctx->me_threshold==0){ +- if((s->avctx->pre_me && s->last_non_b_pict_type==I_TYPE) || s->avctx->pre_me==2){ ++ if(s->pict_type != FF_B_TYPE && s->avctx->me_threshold==0){ ++ if((s->avctx->pre_me && s->last_non_b_pict_type==FF_I_TYPE) || s->avctx->pre_me==2){ + s->avctx->execute(s->avctx, pre_estimate_motion_thread, (void**)&(s->thread_context[0]), NULL, s->avctx->thread_count); + } + } + + s->avctx->execute(s->avctx, estimate_motion_thread, (void**)&(s->thread_context[0]), NULL, s->avctx->thread_count); +- }else /* if(s->pict_type == I_TYPE) */{ ++ }else /* if(s->pict_type == FF_I_TYPE) */{ + /* I-Frame */ + for(i=0; imb_stride*s->mb_height; i++) + s->mb_type[i]= CANDIDATE_MB_TYPE_INTRA; +@@ -2786,22 +2786,22 @@ + s->current_picture. mb_var_sum= s->current_picture_ptr-> mb_var_sum= s->me. mb_var_sum_temp; + emms_c(); + +- if(s->me.scene_change_score > s->avctx->scenechange_threshold && s->pict_type == P_TYPE){ +- s->pict_type= I_TYPE; ++ if(s->me.scene_change_score > s->avctx->scenechange_threshold && s->pict_type == FF_P_TYPE){ ++ s->pict_type= FF_I_TYPE; + for(i=0; imb_stride*s->mb_height; i++) + s->mb_type[i]= CANDIDATE_MB_TYPE_INTRA; + //printf("Scene change detected, encoding as I Frame %d %d\n", s->current_picture.mb_var_sum, s->current_picture.mc_mb_var_sum); + } + + if(!s->umvplus){ +- if(s->pict_type==P_TYPE || s->pict_type==S_TYPE) { ++ if(s->pict_type==FF_P_TYPE || s->pict_type==FF_S_TYPE) { + s->f_code= ff_get_best_fcode(s, s->p_mv_table, CANDIDATE_MB_TYPE_INTER); + + if(s->flags & CODEC_FLAG_INTERLACED_ME){ + int a,b; + a= ff_get_best_fcode(s, s->p_field_mv_table[0][0], CANDIDATE_MB_TYPE_INTER_I); //FIXME field_select + b= ff_get_best_fcode(s, s->p_field_mv_table[1][1], CANDIDATE_MB_TYPE_INTER_I); +- s->f_code= FFMAX(s->f_code, FFMAX(a,b)); ++ s->f_code= FFMAX3(s->f_code, a, b); + } + + ff_fix_long_p_mvs(s); +@@ -2816,7 +2816,7 @@ + } + } + +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + int a, b; + + a = ff_get_best_fcode(s, s->b_forw_mv_table, CANDIDATE_MB_TYPE_FORWARD); +@@ -2850,7 +2850,7 @@ + if (estimate_qp(s, 0) < 0) + return -1; + +- if(s->qscale < 3 && s->max_qcoeff<=128 && s->pict_type==I_TYPE && !(s->flags & CODEC_FLAG_QSCALE)) ++ if(s->qscale < 3 && s->max_qcoeff<=128 && s->pict_type==FF_I_TYPE && !(s->flags & CODEC_FLAG_QSCALE)) + s->qscale= 3; //reduce clipping problems + + if (s->out_format == FMT_MJPEG) { +@@ -2868,7 +2868,7 @@ + + //FIXME var duplication + s->current_picture_ptr->key_frame= +- s->current_picture.key_frame= s->pict_type == I_TYPE; //FIXME pic_ptr ++ s->current_picture.key_frame= s->pict_type == FF_I_TYPE; //FIXME pic_ptr + s->current_picture_ptr->pict_type= + s->current_picture.pict_type= s->pict_type; + +Index: mythtv/libs/libavcodec/mdec.c +=================================================================== +--- mythtv/libs/libavcodec/mdec.c (revision 18209) ++++ mythtv/libs/libavcodec/mdec.c (working copy) +@@ -173,7 +173,7 @@ + av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); + return -1; + } +- p->pict_type= I_TYPE; ++ p->pict_type= FF_I_TYPE; + p->key_frame= 1; + a->last_dc[0]= + a->last_dc[1]= +@@ -214,7 +214,7 @@ + return (get_bits_count(&a->gb)+31)/32*4; + } + +-static void mdec_common_init(AVCodecContext *avctx){ ++static av_cold void mdec_common_init(AVCodecContext *avctx){ + MDECContext * const a = avctx->priv_data; + + dsputil_init(&a->dsp, avctx); +@@ -226,7 +226,7 @@ + a->avctx= avctx; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + MDECContext * const a = avctx->priv_data; + AVFrame *p= (AVFrame*)&a->picture; + +@@ -246,7 +246,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx){ ++static av_cold int decode_end(AVCodecContext *avctx){ + MDECContext * const a = avctx->priv_data; + + av_freep(&a->bitstream_buffer); +Index: mythtv/libs/libavcodec/smc.c +=================================================================== +--- mythtv/libs/libavcodec/smc.c (revision 18209) ++++ mythtv/libs/libavcodec/smc.c (working copy) +@@ -428,7 +428,7 @@ + } + } + +-static int smc_decode_init(AVCodecContext *avctx) ++static av_cold int smc_decode_init(AVCodecContext *avctx) + { + SmcContext *s = avctx->priv_data; + +@@ -467,7 +467,7 @@ + return buf_size; + } + +-static int smc_decode_end(AVCodecContext *avctx) ++static av_cold int smc_decode_end(AVCodecContext *avctx) + { + SmcContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/tiff.c +=================================================================== +--- mythtv/libs/libavcodec/tiff.c (revision 18209) ++++ mythtv/libs/libavcodec/tiff.c (working copy) +@@ -459,7 +459,7 @@ + return buf_size; + } + +-static int tiff_init(AVCodecContext *avctx){ ++static av_cold int tiff_init(AVCodecContext *avctx){ + TiffContext *s = avctx->priv_data; + + s->width = 0; +@@ -473,7 +473,7 @@ + return 0; + } + +-static int tiff_end(AVCodecContext *avctx) ++static av_cold int tiff_end(AVCodecContext *avctx) + { + TiffContext * const s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/flacenc.c +=================================================================== +--- mythtv/libs/libavcodec/flacenc.c (revision 18209) ++++ mythtv/libs/libavcodec/flacenc.c (working copy) +@@ -169,7 +169,7 @@ + return blocksize; + } + +-static int flac_encode_init(AVCodecContext *avctx) ++static av_cold int flac_encode_init(AVCodecContext *avctx) + { + int freq = avctx->sample_rate; + int channels = avctx->channels; +@@ -1478,7 +1478,7 @@ + return out_bytes; + } + +-static int flac_encode_close(AVCodecContext *avctx) ++static av_cold int flac_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->extradata); + avctx->extradata_size = 0; +Index: mythtv/libs/libavcodec/ratecontrol.c +=================================================================== +--- mythtv/libs/libavcodec/ratecontrol.c (revision 18209) ++++ mythtv/libs/libavcodec/ratecontrol.c (working copy) +@@ -144,7 +144,7 @@ + /* init all to skipped p frames (with b frames we might have a not encoded frame at the end FIXME) */ + for(i=0; inum_entries; i++){ + RateControlEntry *rce= &rcc->entry[i]; +- rce->pict_type= rce->new_pict_type=P_TYPE; ++ rce->pict_type= rce->new_pict_type=FF_P_TYPE; + rce->qscale= rce->new_qscale=FF_QP2LAMBDA * 2; + rce->misc_bits= s->mb_num + 10; + rce->mb_var_sum= s->mb_num*100; +@@ -212,9 +212,9 @@ + RateControlEntry rce; + double q; + +- if (i%((s->gop_size+3)/4)==0) rce.pict_type= I_TYPE; +- else if(i%(s->max_b_frames+1)) rce.pict_type= B_TYPE; +- else rce.pict_type= P_TYPE; ++ if (i%((s->gop_size+3)/4)==0) rce.pict_type= FF_I_TYPE; ++ else if(i%(s->max_b_frames+1)) rce.pict_type= FF_B_TYPE; ++ else rce.pict_type= FF_P_TYPE; + + rce.new_pict_type= rce.pict_type; + rce.mc_mb_var_sum= bits*s->mb_num/100000; +@@ -224,7 +224,7 @@ + rce.b_code = 1; + rce.misc_bits= 1; + +- if(s->pict_type== I_TYPE){ ++ if(s->pict_type== FF_I_TYPE){ + rce.i_count = s->mb_num; + rce.i_tex_bits= bits; + rce.p_tex_bits= 0; +@@ -320,23 +320,23 @@ + rce->p_tex_bits*rce->qscale, + (rce->i_tex_bits + rce->p_tex_bits)*(double)rce->qscale, + rce->mv_bits/mb_num, +- rce->pict_type == B_TYPE ? (rce->f_code + rce->b_code)*0.5 : rce->f_code, ++ rce->pict_type == FF_B_TYPE ? (rce->f_code + rce->b_code)*0.5 : rce->f_code, + rce->i_count/mb_num, + rce->mc_mb_var_sum/mb_num, + rce->mb_var_sum/mb_num, +- rce->pict_type == I_TYPE, +- rce->pict_type == P_TYPE, +- rce->pict_type == B_TYPE, ++ rce->pict_type == FF_I_TYPE, ++ rce->pict_type == FF_P_TYPE, ++ rce->pict_type == FF_B_TYPE, + rcc->qscale_sum[pict_type] / (double)rcc->frame_count[pict_type], + a->qcompress, +-/* rcc->last_qscale_for[I_TYPE], +- rcc->last_qscale_for[P_TYPE], +- rcc->last_qscale_for[B_TYPE], ++/* rcc->last_qscale_for[FF_I_TYPE], ++ rcc->last_qscale_for[FF_P_TYPE], ++ rcc->last_qscale_for[FF_B_TYPE], + rcc->next_non_b_qscale,*/ +- rcc->i_cplx_sum[I_TYPE] / (double)rcc->frame_count[I_TYPE], +- rcc->i_cplx_sum[P_TYPE] / (double)rcc->frame_count[P_TYPE], +- rcc->p_cplx_sum[P_TYPE] / (double)rcc->frame_count[P_TYPE], +- rcc->p_cplx_sum[B_TYPE] / (double)rcc->frame_count[B_TYPE], ++ rcc->i_cplx_sum[FF_I_TYPE] / (double)rcc->frame_count[FF_I_TYPE], ++ rcc->i_cplx_sum[FF_P_TYPE] / (double)rcc->frame_count[FF_P_TYPE], ++ rcc->p_cplx_sum[FF_P_TYPE] / (double)rcc->frame_count[FF_P_TYPE], ++ rcc->p_cplx_sum[FF_B_TYPE] / (double)rcc->frame_count[FF_B_TYPE], + (rcc->i_cplx_sum[pict_type] + rcc->p_cplx_sum[pict_type]) / (double)rcc->frame_count[pict_type], + 0 + }; +@@ -367,9 +367,9 @@ + q= bits2qp(rce, bits); + + /* I/B difference */ +- if (pict_type==I_TYPE && s->avctx->i_quant_factor<0.0) ++ if (pict_type==FF_I_TYPE && s->avctx->i_quant_factor<0.0) + q= -q*s->avctx->i_quant_factor + s->avctx->i_quant_offset; +- else if(pict_type==B_TYPE && s->avctx->b_quant_factor<0.0) ++ else if(pict_type==FF_B_TYPE && s->avctx->b_quant_factor<0.0) + q= -q*s->avctx->b_quant_factor + s->avctx->b_quant_offset; + if(q<1) q=1; + +@@ -380,17 +380,17 @@ + RateControlContext *rcc= &s->rc_context; + AVCodecContext *a= s->avctx; + const int pict_type= rce->new_pict_type; +- const double last_p_q = rcc->last_qscale_for[P_TYPE]; ++ const double last_p_q = rcc->last_qscale_for[FF_P_TYPE]; + const double last_non_b_q= rcc->last_qscale_for[rcc->last_non_b_pict_type]; + +- if (pict_type==I_TYPE && (a->i_quant_factor>0.0 || rcc->last_non_b_pict_type==P_TYPE)) ++ if (pict_type==FF_I_TYPE && (a->i_quant_factor>0.0 || rcc->last_non_b_pict_type==FF_P_TYPE)) + q= last_p_q *FFABS(a->i_quant_factor) + a->i_quant_offset; +- else if(pict_type==B_TYPE && a->b_quant_factor>0.0) ++ else if(pict_type==FF_B_TYPE && a->b_quant_factor>0.0) + q= last_non_b_q* a->b_quant_factor + a->b_quant_offset; + if(q<1) q=1; + + /* last qscale / qdiff stuff */ +- if(rcc->last_non_b_pict_type==pict_type || pict_type!=I_TYPE){ ++ if(rcc->last_non_b_pict_type==pict_type || pict_type!=FF_I_TYPE){ + double last_q= rcc->last_qscale_for[pict_type]; + const int maxdiff= FF_QP2LAMBDA * a->max_qdiff; + +@@ -400,7 +400,7 @@ + + rcc->last_qscale_for[pict_type]= q; //Note we cannot do that after blurring + +- if(pict_type!=B_TYPE) ++ if(pict_type!=FF_B_TYPE) + rcc->last_non_b_pict_type= pict_type; + + return q; +@@ -415,10 +415,10 @@ + + assert(qmin <= qmax); + +- if(pict_type==B_TYPE){ ++ if(pict_type==FF_B_TYPE){ + qmin= (int)(qmin*FFABS(s->avctx->b_quant_factor)+s->avctx->b_quant_offset + 0.5); + qmax= (int)(qmax*FFABS(s->avctx->b_quant_factor)+s->avctx->b_quant_offset + 0.5); +- }else if(pict_type==I_TYPE){ ++ }else if(pict_type==FF_I_TYPE){ + qmin= (int)(qmin*FFABS(s->avctx->i_quant_factor)+s->avctx->i_quant_offset + 0.5); + qmax= (int)(qmax*FFABS(s->avctx->i_quant_factor)+s->avctx->i_quant_offset + 0.5); + } +@@ -445,7 +445,7 @@ + get_qminmax(&qmin, &qmax, s, pict_type); + + /* modulation */ +- if(s->avctx->rc_qmod_freq && frame_num%s->avctx->rc_qmod_freq==0 && pict_type==P_TYPE) ++ if(s->avctx->rc_qmod_freq && frame_num%s->avctx->rc_qmod_freq==0 && pict_type==FF_P_TYPE) + q*= s->avctx->rc_qmod_amp; + + bits= qp2bits(rce, q); +@@ -689,7 +689,7 @@ + //printf("input_pic_num:%d pic_num:%d frame_rate:%d\n", s->input_picture_number, s->picture_number, s->frame_rate); + /* update predictors */ + if(picture_number>2 && !dry_run){ +- const int last_var= s->last_pict_type == I_TYPE ? rcc->last_mb_var_sum : rcc->last_mc_mb_var_sum; ++ const int last_var= s->last_pict_type == FF_I_TYPE ? rcc->last_mb_var_sum : rcc->last_mc_mb_var_sum; + update_predictor(&rcc->pred[s->last_pict_type], rcc->last_qscale, sqrt(last_var), s->frame_bits); + } + +@@ -704,7 +704,7 @@ + + //FIXME add a dts field to AVFrame and ensure its set and use it here instead of reordering + //but the reordering is simpler for now until h.264 b pyramid must be handeld +- if(s->pict_type == B_TYPE || s->low_delay) ++ if(s->pict_type == FF_B_TYPE || s->low_delay) + dts_pic= s->current_picture_ptr; + else + dts_pic= s->last_picture_ptr; +@@ -726,11 +726,11 @@ + br_compensation= (a->bit_rate_tolerance - diff)/a->bit_rate_tolerance; + if(br_compensation<=0.0) br_compensation=0.001; + +- var= pict_type == I_TYPE ? pic->mb_var_sum : pic->mc_mb_var_sum; ++ var= pict_type == FF_I_TYPE ? pic->mb_var_sum : pic->mc_mb_var_sum; + + short_term_q = 0; /* avoid warning */ + if(s->flags&CODEC_FLAG_PASS2){ +- if(pict_type!=I_TYPE) ++ if(pict_type!=FF_I_TYPE) + assert(pict_type == rce->new_pict_type); + + q= rce->new_qscale / br_compensation; +@@ -746,7 +746,7 @@ + rce->misc_bits= 1; + + bits= predict_size(&rcc->pred[pict_type], rce->qscale, sqrt(var)); +- if(pict_type== I_TYPE){ ++ if(pict_type== FF_I_TYPE){ + rce->i_count = s->mb_num; + rce->i_tex_bits= bits; + rce->p_tex_bits= 0; +@@ -776,7 +776,7 @@ + //printf("%f ", q); + assert(q>0.0); + +- if(pict_type==P_TYPE || s->intra_only){ //FIXME type dependent blur like in 2-pass ++ if(pict_type==FF_P_TYPE || s->intra_only){ //FIXME type dependent blur like in 2-pass + rcc->short_term_qsum*=a->qblur; + rcc->short_term_qcount*=a->qblur; + +@@ -859,7 +859,7 @@ + complexity[rce->new_pict_type]+= (rce->i_tex_bits+ rce->p_tex_bits)*(double)rce->qscale; + const_bits[rce->new_pict_type]+= rce->mv_bits + rce->misc_bits; + } +- all_const_bits= const_bits[I_TYPE] + const_bits[P_TYPE] + const_bits[B_TYPE]; ++ all_const_bits= const_bits[FF_I_TYPE] + const_bits[FF_P_TYPE] + const_bits[FF_B_TYPE]; + + if(all_available_bits < all_const_bits){ + av_log(s->avctx, AV_LOG_ERROR, "requested bitrate is too low\n"); +Index: mythtv/libs/libavcodec/mpegvideo_common.h +=================================================================== +--- mythtv/libs/libavcodec/mpegvideo_common.h (revision 18209) ++++ mythtv/libs/libavcodec/mpegvideo_common.h (working copy) +@@ -608,7 +608,7 @@ + + prefetch_motion(s, ref_picture, dir); + +- if(s->obmc && s->pict_type != B_TYPE){ ++ if(s->obmc && s->pict_type != FF_B_TYPE){ + int16_t mv_cache[4][4][2]; + const int xy= s->mb_x + s->mb_y*s->mb_stride; + const int mot_stride= s->b8_stride; +@@ -770,7 +770,7 @@ + s->mv[dir][1][0], s->mv[dir][1][1], 8); + } + } else { +- if(s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != B_TYPE && !s->first_field){ ++ if(s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != FF_B_TYPE && !s->first_field){ + ref_picture= s->current_picture_ptr->data; + } + +@@ -784,7 +784,7 @@ + for(i=0; i<2; i++){ + uint8_t ** ref2picture; + +- if(s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == B_TYPE || s->first_field){ ++ if(s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == FF_B_TYPE || s->first_field){ + ref2picture= ref_picture; + }else{ + ref2picture= s->current_picture_ptr->data; +Index: mythtv/libs/libavcodec/parser.c +=================================================================== +--- mythtv/libs/libavcodec/parser.c (revision 18209) ++++ mythtv/libs/libavcodec/parser.c (working copy) +@@ -192,7 +192,7 @@ + *poutbuf_size= buf_size; + if(avctx->extradata){ + if( (keyframe && (avctx->flags2 & CODEC_FLAG2_LOCAL_HEADER)) +- /*||(s->pict_type != I_TYPE && (s->flags & PARSER_FLAG_DUMP_EXTRADATA_AT_NOKEY))*/ ++ /*||(s->pict_type != FF_I_TYPE && (s->flags & PARSER_FLAG_DUMP_EXTRADATA_AT_NOKEY))*/ + /*||(? && (s->flags & PARSER_FLAG_DUMP_EXTRADATA_AT_BEGIN)*/){ + int size= buf_size + avctx->extradata_size; + *poutbuf_size= size; +Index: mythtv/libs/libavcodec/c93.c +=================================================================== +--- mythtv/libs/libavcodec/c93.c (revision 18209) ++++ mythtv/libs/libavcodec/c93.c (working copy) +@@ -45,13 +45,13 @@ + #define C93_HAS_PALETTE 0x01 + #define C93_FIRST_FRAME 0x02 + +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + avctx->pix_fmt = PIX_FMT_PAL8; + return 0; + } + +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + C93DecoderContext * const c93 = avctx->priv_data; + +Index: mythtv/libs/libavcodec/vp56.c +=================================================================== +--- mythtv/libs/libavcodec/vp56.c (revision 18209) ++++ mythtv/libs/libavcodec/vp56.c (working copy) +@@ -643,7 +643,7 @@ + return buf_size; + } + +-void vp56_init(AVCodecContext *avctx, int flip, int has_alpha) ++av_cold void vp56_init(AVCodecContext *avctx, int flip, int has_alpha) + { + vp56_context_t *s = avctx->priv_data; + int i; +@@ -683,7 +683,7 @@ + } + } + +-int vp56_free(AVCodecContext *avctx) ++av_cold int vp56_free(AVCodecContext *avctx) + { + vp56_context_t *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/roqvideodec.c +=================================================================== +--- mythtv/libs/libavcodec/roqvideodec.c (revision 18209) ++++ mythtv/libs/libavcodec/roqvideodec.c (working copy) +@@ -154,7 +154,7 @@ + } + + +-static int roq_decode_init(AVCodecContext *avctx) ++static av_cold int roq_decode_init(AVCodecContext *avctx) + { + RoqContext *s = avctx->priv_data; + +@@ -198,7 +198,7 @@ + return buf_size; + } + +-static int roq_decode_end(AVCodecContext *avctx) ++static av_cold int roq_decode_end(AVCodecContext *avctx) + { + RoqContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/bmpenc.c +=================================================================== +--- mythtv/libs/libavcodec/bmpenc.c (revision 18209) ++++ mythtv/libs/libavcodec/bmpenc.c (working copy) +@@ -23,7 +23,7 @@ + #include "bytestream.h" + #include "bmp.h" + +-static int bmp_encode_init(AVCodecContext *avctx){ ++static av_cold int bmp_encode_init(AVCodecContext *avctx){ + BMPContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +Index: mythtv/libs/libavcodec/flac.c +=================================================================== +--- mythtv/libs/libavcodec/flac.c (revision 18209) ++++ mythtv/libs/libavcodec/flac.c (working copy) +@@ -98,7 +98,7 @@ + static void allocate_buffers(FLACContext *s); + static int metadata_parse(FLACContext *s); + +-static int flac_decode_init(AVCodecContext * avctx) ++static av_cold int flac_decode_init(AVCodecContext * avctx) + { + FLACContext *s = avctx->priv_data; + s->avctx = avctx; +@@ -720,7 +720,7 @@ + + // s->last_blocksize = s->blocksize; + end: +- i= (get_bits_count(&s->gb)+7)/8;; ++ i= (get_bits_count(&s->gb)+7)/8; + if(i > buf_size){ + av_log(s->avctx, AV_LOG_ERROR, "overread: %d\n", i - buf_size); + s->bitstream_size=0; +@@ -736,7 +736,7 @@ + return i; + } + +-static int flac_decode_close(AVCodecContext *avctx) ++static av_cold int flac_decode_close(AVCodecContext *avctx) + { + FLACContext *s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/mpc7.c +=================================================================== +--- mythtv/libs/libavcodec/mpc7.c (revision 18209) ++++ mythtv/libs/libavcodec/mpc7.c (working copy) +@@ -44,7 +44,7 @@ + + static VLC scfi_vlc, dscf_vlc, hdr_vlc, quant_vlc[MPC7_QUANT_VLC_TABLES][2]; + +-static int mpc7_decode_init(AVCodecContext * avctx) ++static av_cold int mpc7_decode_init(AVCodecContext * avctx) + { + int i, j; + MPCContext *c = avctx->priv_data; +Index: mythtv/libs/libavcodec/sgienc.c +=================================================================== +--- mythtv/libs/libavcodec/sgienc.c (revision 18209) ++++ mythtv/libs/libavcodec/sgienc.c (working copy) +@@ -31,7 +31,7 @@ + AVFrame picture; + } SgiContext; + +-static int encode_init(AVCodecContext *avctx){ ++static av_cold int encode_init(AVCodecContext *avctx){ + SgiContext *s = avctx->priv_data; + + avcodec_get_frame_defaults(&s->picture); +Index: mythtv/libs/libavcodec/cinepak.c +=================================================================== +--- mythtv/libs/libavcodec/cinepak.c (revision 18209) ++++ mythtv/libs/libavcodec/cinepak.c (working copy) +@@ -387,7 +387,7 @@ + return 0; + } + +-static int cinepak_decode_init(AVCodecContext *avctx) ++static av_cold int cinepak_decode_init(AVCodecContext *avctx) + { + CinepakContext *s = avctx->priv_data; + +@@ -447,7 +447,7 @@ + return buf_size; + } + +-static int cinepak_decode_end(AVCodecContext *avctx) ++static av_cold int cinepak_decode_end(AVCodecContext *avctx) + { + CinepakContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/dxa.c +=================================================================== +--- mythtv/libs/libavcodec/dxa.c (revision 18209) ++++ mythtv/libs/libavcodec/dxa.c (working copy) +@@ -285,7 +285,7 @@ + return orig_buf_size; + } + +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + DxaDecContext * const c = avctx->priv_data; + +@@ -305,7 +305,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + DxaDecContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/msrle.c +=================================================================== +--- mythtv/libs/libavcodec/msrle.c (revision 18209) ++++ mythtv/libs/libavcodec/msrle.c (working copy) +@@ -236,7 +236,7 @@ + stream_ptr, s->size); + } + +-static int msrle_decode_init(AVCodecContext *avctx) ++static av_cold int msrle_decode_init(AVCodecContext *avctx) + { + MsrleContext *s = avctx->priv_data; + +@@ -283,7 +283,7 @@ + return buf_size; + } + +-static int msrle_decode_end(AVCodecContext *avctx) ++static av_cold int msrle_decode_end(AVCodecContext *avctx) + { + MsrleContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/dpcm.c +=================================================================== +--- mythtv/libs/libavcodec/dpcm.c (revision 18209) ++++ mythtv/libs/libavcodec/dpcm.c (working copy) +@@ -110,7 +110,7 @@ + + + +-static int dpcm_decode_init(AVCodecContext *avctx) ++static av_cold int dpcm_decode_init(AVCodecContext *avctx) + { + DPCMContext *s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/armv4l/mpegvideo_arm.c +=================================================================== +--- mythtv/libs/libavcodec/armv4l/mpegvideo_arm.c (revision 18209) ++++ mythtv/libs/libavcodec/armv4l/mpegvideo_arm.c (working copy) +@@ -28,7 +28,7 @@ + void MPV_common_init_armv4l(MpegEncContext *s) + { + /* IWMMXT support is a superset of armv5te, so +- * allow optimised functions for armv5te unless ++ * allow optimized functions for armv5te unless + * a better iwmmxt function exists + */ + #ifdef HAVE_ARMV5TE +Index: mythtv/libs/libavcodec/dca.c +=================================================================== +--- mythtv/libs/libavcodec/dca.c (revision 18209) ++++ mythtv/libs/libavcodec/dca.c (working copy) +@@ -177,7 +177,7 @@ + DSPContext dsp; + } DCAContext; + +-static void dca_init_vlcs(void) ++static av_cold void dca_init_vlcs(void) + { + static int vlcs_inited = 0; + int i, j; +@@ -1208,7 +1208,7 @@ + * @param s pointer to the DCAContext + */ + +-static void pre_calc_cosmod(DCAContext * s) ++static av_cold void pre_calc_cosmod(DCAContext * s) + { + int i, j, k; + static int cosmod_inited = 0; +@@ -1238,7 +1238,7 @@ + * @param avctx pointer to the AVCodecContext + */ + +-static int dca_decode_init(AVCodecContext * avctx) ++static av_cold int dca_decode_init(AVCodecContext * avctx) + { + DCAContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/mjpegenc.c +=================================================================== +--- mythtv/libs/libavcodec/mjpegenc.c (revision 18209) ++++ mythtv/libs/libavcodec/mjpegenc.c (working copy) +@@ -44,7 +44,7 @@ + #undef TWOMATRIXES + + +-int ff_mjpeg_encode_init(MpegEncContext *s) ++av_cold int ff_mjpeg_encode_init(MpegEncContext *s) + { + MJpegContext *m; + +Index: mythtv/libs/libavcodec/ws-snd1.c +=================================================================== +--- mythtv/libs/libavcodec/ws-snd1.c (revision 18209) ++++ mythtv/libs/libavcodec/ws-snd1.c (working copy) +@@ -36,7 +36,7 @@ + + #define CLIP8(a) if(a>127)a=127;if(a<-128)a=-128; + +-static int ws_snd_decode_init(AVCodecContext * avctx) ++static av_cold int ws_snd_decode_init(AVCodecContext * avctx) + { + // WSSNDContext *c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/sgidec.c +=================================================================== +--- mythtv/libs/libavcodec/sgidec.c (revision 18209) ++++ mythtv/libs/libavcodec/sgidec.c (working copy) +@@ -235,7 +235,7 @@ + } + } + +-static int sgi_init(AVCodecContext *avctx){ ++static av_cold int sgi_init(AVCodecContext *avctx){ + SgiState *s = avctx->priv_data; + + avcodec_get_frame_defaults(&s->picture); +@@ -244,7 +244,7 @@ + return 0; + } + +-static int sgi_end(AVCodecContext *avctx) ++static av_cold int sgi_end(AVCodecContext *avctx) + { + SgiState * const s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/mace.c +=================================================================== +--- mythtv/libs/libavcodec/mace.c (revision 18209) ++++ mythtv/libs/libavcodec/mace.c (working copy) +@@ -392,7 +392,7 @@ + } + /* \\\ */ + +-static int mace_decode_init(AVCodecContext * avctx) ++static av_cold int mace_decode_init(AVCodecContext * avctx) + { + if (avctx->channels > 2) + return -1; +Index: mythtv/libs/libavcodec/aasc.c +=================================================================== +--- mythtv/libs/libavcodec/aasc.c (revision 18209) ++++ mythtv/libs/libavcodec/aasc.c (working copy) +@@ -44,7 +44,7 @@ + } \ + stream_byte = buf[stream_ptr++]; + +-static int aasc_decode_init(AVCodecContext *avctx) ++static av_cold int aasc_decode_init(AVCodecContext *avctx) + { + AascContext *s = avctx->priv_data; + +@@ -150,7 +150,7 @@ + return buf_size; + } + +-static int aasc_decode_end(AVCodecContext *avctx) ++static av_cold int aasc_decode_end(AVCodecContext *avctx) + { + AascContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/vmdav.c +=================================================================== +--- mythtv/libs/libavcodec/vmdav.c (revision 18209) ++++ mythtv/libs/libavcodec/vmdav.c (working copy) +@@ -324,7 +324,7 @@ + } + } + +-static int vmdvideo_decode_init(AVCodecContext *avctx) ++static av_cold int vmdvideo_decode_init(AVCodecContext *avctx) + { + VmdVideoContext *s = avctx->priv_data; + int i; +@@ -401,7 +401,7 @@ + return buf_size; + } + +-static int vmdvideo_decode_end(AVCodecContext *avctx) ++static av_cold int vmdvideo_decode_end(AVCodecContext *avctx) + { + VmdVideoContext *s = avctx->priv_data; + +@@ -441,7 +441,7 @@ + 0xF00, 0x1000, 0x1400, 0x1800, 0x1C00, 0x2000, 0x3000, 0x4000 + }; + +-static int vmdaudio_decode_init(AVCodecContext *avctx) ++static av_cold int vmdaudio_decode_init(AVCodecContext *avctx) + { + VmdAudioContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/ulti.c +=================================================================== +--- mythtv/libs/libavcodec/ulti.c (revision 18209) ++++ mythtv/libs/libavcodec/ulti.c (working copy) +@@ -41,7 +41,7 @@ + const uint8_t *ulti_codebook; + } UltimotionDecodeContext; + +-static int ulti_decode_init(AVCodecContext *avctx) ++static av_cold int ulti_decode_init(AVCodecContext *avctx) + { + UltimotionDecodeContext *s = avctx->priv_data; + +@@ -393,7 +393,7 @@ + return buf_size; + } + +-static int ulti_decode_end(AVCodecContext *avctx) ++static av_cold int ulti_decode_end(AVCodecContext *avctx) + { + /* UltimotionDecodeContext *s = avctx->priv_data;*/ + +Index: mythtv/libs/libavcodec/mjpegdec.c +=================================================================== +--- mythtv/libs/libavcodec/mjpegdec.c (revision 18209) ++++ mythtv/libs/libavcodec/mjpegdec.c (working copy) +@@ -73,7 +73,7 @@ + ff_mjpeg_val_ac_chrominance, 251, 0, 1); + } + +-int ff_mjpeg_decode_init(AVCodecContext *avctx) ++av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) + { + MJpegDecodeContext *s = avctx->priv_data; + +@@ -1284,7 +1284,7 @@ + *data_size = sizeof(AVFrame); + + if(!s->lossless){ +- picture->quality= FFMAX(FFMAX(s->qscale[0], s->qscale[1]), s->qscale[2]); ++ picture->quality= FFMAX3(s->qscale[0], s->qscale[1], s->qscale[2]); + picture->qstride= 0; + picture->qscale_table= s->qscale_table; + memset(picture->qscale_table, picture->quality, (s->width+15)/16); +@@ -1338,7 +1338,7 @@ + return buf_ptr - buf; + } + +-int ff_mjpeg_decode_end(AVCodecContext *avctx) ++av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx) + { + MJpegDecodeContext *s = avctx->priv_data; + int i, j; +Index: mythtv/libs/libavcodec/mjpegbdec.c +=================================================================== +--- mythtv/libs/libavcodec/mjpegbdec.c (revision 18209) ++++ mythtv/libs/libavcodec/mjpegbdec.c (working copy) +@@ -123,7 +123,7 @@ + *data_size = sizeof(AVFrame); + + if(!s->lossless){ +- picture->quality= FFMAX(FFMAX(s->qscale[0], s->qscale[1]), s->qscale[2]); ++ picture->quality= FFMAX3(s->qscale[0], s->qscale[1], s->qscale[2]); + picture->qstride= 0; + picture->qscale_table= s->qscale_table; + memset(picture->qscale_table, picture->quality, (s->width+15)/16); +Index: mythtv/libs/libavcodec/h264data.h +=================================================================== +--- mythtv/libs/libavcodec/h264data.h (revision 18209) ++++ mythtv/libs/libavcodec/h264data.h (working copy) +@@ -54,7 +54,7 @@ + NAL_AUXILIARY_SLICE=19 + }; + +-static const AVRational pixel_aspect[14]={ ++static const AVRational pixel_aspect[17]={ + {0, 1}, + {1, 1}, + {12, 11}, +@@ -69,10 +69,13 @@ + {15, 11}, + {64, 33}, + {160,99}, ++ {4, 3}, ++ {3, 2}, ++ {2, 1}, + }; + + static const uint8_t golomb_to_pict_type[5]= +-{P_TYPE, B_TYPE, I_TYPE, SP_TYPE, SI_TYPE}; ++{FF_P_TYPE, FF_B_TYPE, FF_I_TYPE, FF_SP_TYPE, FF_SI_TYPE}; + + static const uint8_t pict_type_to_golomb[7]= + {-1, 2, 0, 1, -1, 4, 3}; +@@ -109,6 +112,14 @@ + 6, 24, 25, 20, 26, 21, 46, 28, 27, 47, 22, 29, 23, 30, 31, 12 + }; + ++static const uint8_t golomb_to_inter_cbp_gray[16]={ ++ 0, 1, 2, 4, 8, 3, 5,10,12,15, 7,11,13,14, 6, 9, ++}; ++ ++static const uint8_t golomb_to_intra4x4_cbp_gray[16]={ ++15, 0, 7,11,13,14, 3, 5,10,12, 1, 2, 4, 8, 6, 9, ++}; ++ + static const uint8_t chroma_dc_coeff_token_len[4*5]={ + 2, 0, 0, 0, + 6, 1, 0, 0, +Index: mythtv/libs/libavcodec/dvbsub_parser.c +=================================================================== +--- mythtv/libs/libavcodec/dvbsub_parser.c (revision 18209) ++++ mythtv/libs/libavcodec/dvbsub_parser.c (working copy) +@@ -38,7 +38,7 @@ + int in_packet; + } DVBSubParseContext; + +-static int dvbsub_parse_init(AVCodecParserContext *s) ++static av_cold int dvbsub_parse_init(AVCodecParserContext *s) + { + DVBSubParseContext *pc = s->priv_data; + pc->packet_buf = av_malloc(PARSE_BUF_SIZE); +@@ -181,7 +181,7 @@ + return buf_size; + } + +-static void dvbsub_parse_close(AVCodecParserContext *s) ++static av_cold void dvbsub_parse_close(AVCodecParserContext *s) + { + DVBSubParseContext *pc = s->priv_data; + av_freep(&pc->packet_buf); +Index: mythtv/libs/libavcodec/ffv1.c +=================================================================== +--- mythtv/libs/libavcodec/ffv1.c (revision 18209) ++++ mythtv/libs/libavcodec/ffv1.c (working copy) +@@ -530,7 +530,7 @@ + } + #endif /* CONFIG_ENCODERS */ + +-static int common_init(AVCodecContext *avctx){ ++static av_cold int common_init(AVCodecContext *avctx){ + FFV1Context *s = avctx->priv_data; + int width, height; + +@@ -548,7 +548,7 @@ + } + + #ifdef CONFIG_ENCODERS +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + FFV1Context *s = avctx->priv_data; + int i; +@@ -694,7 +694,7 @@ + } + #endif /* CONFIG_ENCODERS */ + +-static int common_end(AVCodecContext *avctx){ ++static av_cold int common_end(AVCodecContext *avctx){ + FFV1Context *s = avctx->priv_data; + int i; + +@@ -927,7 +927,7 @@ + return 0; + } + +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + // FFV1Context *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/flashsv.c +=================================================================== +--- mythtv/libs/libavcodec/flashsv.c (revision 18209) ++++ mythtv/libs/libavcodec/flashsv.c (working copy) +@@ -79,7 +79,7 @@ + } + + +-static int flashsv_decode_init(AVCodecContext *avctx) ++static av_cold int flashsv_decode_init(AVCodecContext *avctx) + { + FlashSVContext *s = avctx->priv_data; + int zret; // Zlib return code +@@ -228,7 +228,7 @@ + } + + +-static int flashsv_decode_end(AVCodecContext *avctx) ++static av_cold int flashsv_decode_end(AVCodecContext *avctx) + { + FlashSVContext *s = avctx->priv_data; + inflateEnd(&(s->zstream)); +Index: mythtv/libs/libavcodec/mpc8.c +=================================================================== +--- mythtv/libs/libavcodec/mpc8.c (revision 18209) ++++ mythtv/libs/libavcodec/mpc8.c (working copy) +@@ -92,7 +92,7 @@ + return mask; + } + +-static int mpc8_decode_init(AVCodecContext * avctx) ++static av_cold int mpc8_decode_init(AVCodecContext * avctx) + { + int i; + MPCContext *c = avctx->priv_data; +Index: mythtv/libs/libavcodec/jpeglsenc.c +=================================================================== +--- mythtv/libs/libavcodec/jpeglsenc.c (revision 18209) ++++ mythtv/libs/libavcodec/jpeglsenc.c (working copy) +@@ -368,7 +368,7 @@ + return put_bits_count(&pb) >> 3; + } + +-static int encode_init_ls(AVCodecContext *ctx) { ++static av_cold int encode_init_ls(AVCodecContext *ctx) { + JpeglsContext *c = (JpeglsContext*)ctx->priv_data; + + c->avctx = ctx; +Index: mythtv/libs/libavcodec/zmbv.c +=================================================================== +--- mythtv/libs/libavcodec/zmbv.c (revision 18209) ++++ mythtv/libs/libavcodec/zmbv.c (working copy) +@@ -588,7 +588,7 @@ + * Init zmbv decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + ZmbvContext * const c = avctx->priv_data; + int zret; // Zlib return code +@@ -637,7 +637,7 @@ + * Uninit zmbv decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + ZmbvContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/avs.c +=================================================================== +--- mythtv/libs/libavcodec/avs.c (revision 18209) ++++ mythtv/libs/libavcodec/avs.c (working copy) +@@ -141,7 +141,7 @@ + return buf_size; + } + +-static int avs_decode_init(AVCodecContext * avctx) ++static av_cold int avs_decode_init(AVCodecContext * avctx) + { + avctx->pix_fmt = PIX_FMT_PAL8; + return 0; +Index: mythtv/libs/libavcodec/vp3.c +=================================================================== +--- mythtv/libs/libavcodec/vp3.c (revision 18209) ++++ mythtv/libs/libavcodec/vp3.c (working copy) +@@ -269,7 +269,7 @@ + uint8_t qr_size [2][3][64]; + uint16_t qr_base[2][3][64]; + +- /* this is a list of indices into the all_fragments array indicating ++ /* this is a list of indexes into the all_fragments array indicating + * which of the fragments are coded */ + int *coded_fragment_list; + int coded_fragment_list_index; +@@ -291,19 +291,19 @@ + DECLARE_ALIGNED_16(int16_t, qmat[2][4][64]); //macroblock_width - +- (s->y_superblock_width * 2 - s->macroblock_width);; ++ (s->y_superblock_width * 2 - s->macroblock_width); + hilbert = hilbert_walk_mb; + mapping_index = 0; + current_macroblock = -1; +@@ -1223,7 +1223,7 @@ + int ac_c_table; + int residual_eob_run = 0; + +- /* fetch the DC table indices */ ++ /* fetch the DC table indexes */ + dc_y_table = get_bits(gb, 4); + dc_c_table = get_bits(gb, 4); + +@@ -1239,7 +1239,7 @@ + residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_c_table], 0, + s->first_coded_c_fragment, s->last_coded_c_fragment, residual_eob_run); + +- /* fetch the AC table indices */ ++ /* fetch the AC table indexes */ + ac_y_table = get_bits(gb, 4); + ac_c_table = get_bits(gb, 4); + +@@ -1331,7 +1331,7 @@ + /* DC values for the left, up-left, up, and up-right fragments */ + int vl, vul, vu, vur; + +- /* indices for the left, up-left, up, and up-right fragments */ ++ /* indexes for the left, up-left, up, and up-right fragments */ + int l, ul, u, ur; + + /* +@@ -1933,7 +1933,7 @@ + /* + * This is the ffmpeg/libavcodec API init function. + */ +-static int vp3_decode_init(AVCodecContext *avctx) ++static av_cold int vp3_decode_init(AVCodecContext *avctx) + { + Vp3DecodeContext *s = avctx->priv_data; + int i, inter, plane; +@@ -2310,7 +2310,7 @@ + /* + * This is the ffmpeg/libavcodec API module cleanup function. + */ +-static int vp3_decode_end(AVCodecContext *avctx) ++static av_cold int vp3_decode_end(AVCodecContext *avctx) + { + Vp3DecodeContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/sonic.c +=================================================================== +--- mythtv/libs/libavcodec/sonic.c (revision 18209) ++++ mythtv/libs/libavcodec/sonic.c (working copy) +@@ -503,7 +503,7 @@ + return -1; + } + +-static int sonic_encode_init(AVCodecContext *avctx) ++static av_cold int sonic_encode_init(AVCodecContext *avctx) + { + SonicContext *s = avctx->priv_data; + PutBitContext pb; +@@ -608,7 +608,7 @@ + return 0; + } + +-static int sonic_encode_close(AVCodecContext *avctx) ++static av_cold int sonic_encode_close(AVCodecContext *avctx) + { + SonicContext *s = avctx->priv_data; + int i; +@@ -751,7 +751,7 @@ + #endif //CONFIG_ENCODERS + + #ifdef CONFIG_DECODERS +-static int sonic_decode_init(AVCodecContext *avctx) ++static av_cold int sonic_decode_init(AVCodecContext *avctx) + { + SonicContext *s = avctx->priv_data; + GetBitContext gb; +@@ -831,7 +831,7 @@ + return 0; + } + +-static int sonic_decode_close(AVCodecContext *avctx) ++static av_cold int sonic_decode_close(AVCodecContext *avctx) + { + SonicContext *s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/ptx.c +=================================================================== +--- mythtv/libs/libavcodec/ptx.c (revision 18209) ++++ mythtv/libs/libavcodec/ptx.c (working copy) +@@ -25,7 +25,7 @@ + AVFrame picture; + } PTXContext; + +-static int ptx_init(AVCodecContext *avctx) { ++static av_cold int ptx_init(AVCodecContext *avctx) { + PTXContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +@@ -95,7 +95,7 @@ + return offset + w*h*bytes_per_pixel; + } + +-static int ptx_end(AVCodecContext *avctx) { ++static av_cold int ptx_end(AVCodecContext *avctx) { + PTXContext *s = avctx->priv_data; + + if(s->picture.data[0]) +Index: mythtv/libs/libavcodec/lzw.c +=================================================================== +--- mythtv/libs/libavcodec/lzw.c (revision 18209) ++++ mythtv/libs/libavcodec/lzw.c (working copy) +@@ -109,12 +109,12 @@ + s->pbuf= s->ebuf; + } + +-void ff_lzw_decode_open(LZWState **p) ++av_cold void ff_lzw_decode_open(LZWState **p) + { + *p = av_mallocz(sizeof(struct LZWState)); + } + +-void ff_lzw_decode_close(LZWState **p) ++av_cold void ff_lzw_decode_close(LZWState **p) + { + av_freep(p); + } +Index: mythtv/libs/libavcodec/qtrleenc.c +=================================================================== +--- mythtv/libs/libavcodec/qtrleenc.c (revision 18209) ++++ mythtv/libs/libavcodec/qtrleenc.c (working copy) +@@ -57,7 +57,7 @@ + uint8_t* skip_table; + } QtrleEncContext; + +-static int qtrle_encode_init(AVCodecContext *avctx) ++static av_cold int qtrle_encode_init(AVCodecContext *avctx) + { + QtrleEncContext *s = avctx->priv_data; + +@@ -303,7 +303,7 @@ + return chunksize; + } + +-static int qtrle_encode_end(AVCodecContext *avctx) ++static av_cold int qtrle_encode_end(AVCodecContext *avctx) + { + QtrleEncContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/qdrw.c +=================================================================== +--- mythtv/libs/libavcodec/qdrw.c (revision 18209) ++++ mythtv/libs/libavcodec/qdrw.c (working copy) +@@ -130,7 +130,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + // QdrawContext * const a = avctx->priv_data; + + if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) { +Index: mythtv/libs/libavcodec/libgsm.c +=================================================================== +--- mythtv/libs/libavcodec/libgsm.c (revision 18209) ++++ mythtv/libs/libavcodec/libgsm.c (working copy) +@@ -35,7 +35,7 @@ + #define GSM_MS_BLOCK_SIZE 65 + #define GSM_FRAME_SIZE 160 + +-static int libgsm_init(AVCodecContext *avctx) { ++static av_cold int libgsm_init(AVCodecContext *avctx) { + if (avctx->channels > 1 || avctx->sample_rate != 8000 || avctx->bit_rate != 13000) + return -1; + +@@ -60,7 +60,7 @@ + return 0; + } + +-static int libgsm_close(AVCodecContext *avctx) { ++static av_cold int libgsm_close(AVCodecContext *avctx) { + gsm_destroy(avctx->priv_data); + avctx->priv_data = NULL; + return 0; +Index: mythtv/libs/libavcodec/mpegvideo.c +=================================================================== +--- mythtv/libs/libavcodec/mpegvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/mpegvideo.c (working copy) +@@ -261,7 +261,7 @@ + * but it would require an API change. */ + memmove(s->prev_pict_types+1, s->prev_pict_types, PREV_PICT_TYPES_BUFFER_SIZE-1); + s->prev_pict_types[0]= s->pict_type; +- if(pic->age < PREV_PICT_TYPES_BUFFER_SIZE && s->prev_pict_types[pic->age] == B_TYPE) ++ if(pic->age < PREV_PICT_TYPES_BUFFER_SIZE && s->prev_pict_types[pic->age] == FF_B_TYPE) + pic->age= INT_MAX; // Skipped MBs in B-frames are quite rare in MPEG-1/2 and it is a bit tricky to skip them anyway. + + return 0; +@@ -591,9 +591,7 @@ + s->context_initialized = 1; + + s->thread_context[0]= s; +- /* h264 does thread context setup itself, but it needs context[0] +- * to be fully initialized for the error resilience code */ +- threads = s->codec_id == CODEC_ID_H264 ? 1 : s->avctx->thread_count; ++ threads = s->avctx->thread_count; + + for(i=1; ithread_context[i]= av_malloc(sizeof(MpegEncContext)); +@@ -891,7 +889,7 @@ + assert(s->last_picture_ptr==NULL || s->out_format != FMT_H264 || s->codec_id == CODEC_ID_SVQ3); + + /* mark&release old frames */ +- if (s->pict_type != B_TYPE && s->last_picture_ptr && s->last_picture_ptr != s->next_picture_ptr && s->last_picture_ptr->data[0]) { ++ if (s->pict_type != FF_B_TYPE && s->last_picture_ptr && s->last_picture_ptr != s->next_picture_ptr && s->last_picture_ptr->data[0]) { + if(s->out_format != FMT_H264 || s->codec_id == CODEC_ID_SVQ3){ + avctx->release_buffer(avctx, (AVFrame*)s->last_picture_ptr); + +@@ -927,7 +925,7 @@ + if (!s->dropable){ + if (s->codec_id == CODEC_ID_H264) + pic->reference = s->picture_structure; +- else if (s->pict_type != B_TYPE) ++ else if (s->pict_type != FF_B_TYPE) + pic->reference = 3; + } + +@@ -955,11 +953,11 @@ + s->current_picture_ptr->pict_type= s->pict_type; + // if(s->flags && CODEC_FLAG_QSCALE) + // s->current_picture_ptr->quality= s->new_picture_ptr->quality; +- s->current_picture_ptr->key_frame= s->pict_type == I_TYPE; ++ s->current_picture_ptr->key_frame= s->pict_type == FF_I_TYPE; + + copy_picture(&s->current_picture, s->current_picture_ptr); + +- if (s->pict_type != B_TYPE) { ++ if (s->pict_type != FF_B_TYPE) { + s->last_picture_ptr= s->next_picture_ptr; + if(!s->dropable) + s->next_picture_ptr= s->current_picture_ptr; +@@ -973,13 +971,13 @@ + if(s->last_picture_ptr) copy_picture(&s->last_picture, s->last_picture_ptr); + if(s->next_picture_ptr) copy_picture(&s->next_picture, s->next_picture_ptr); + +- if(s->pict_type != I_TYPE && (s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) && !s->dropable){ ++ if(s->pict_type != FF_I_TYPE && (s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) && !s->dropable){ + av_log(avctx, AV_LOG_ERROR, "warning: first frame is no keyframe\n"); +- assert(s->pict_type != B_TYPE); //these should have been dropped if we don't have a reference ++ assert(s->pict_type != FF_B_TYPE); //these should have been dropped if we don't have a reference + goto alloc; + } + +- assert(s->pict_type == I_TYPE || (s->last_picture_ptr && s->last_picture_ptr->data[0])); ++ assert(s->pict_type == FF_I_TYPE || (s->last_picture_ptr && s->last_picture_ptr->data[0])); + + if(s->picture_structure!=PICT_FRAME && s->out_format != FMT_H264){ + int i; +@@ -1042,7 +1040,7 @@ + + s->last_pict_type = s->pict_type; + s->last_lambda_for[s->pict_type]= s->current_picture_ptr->quality; +- if(s->pict_type!=B_TYPE){ ++ if(s->pict_type!=FF_B_TYPE){ + s->last_non_b_pict_type= s->pict_type; + } + #if 0 +@@ -1116,8 +1114,8 @@ + for(y= 0; y <= ey; y++){ + x = (y*f)>>16; + fr= (y*f)&0xFFFF; +- buf[y*stride + x ]+= (color*(0x10000-fr))>>16;; +- buf[y*stride + x+1]+= (color* fr )>>16;; ++ buf[y*stride + x ]+= (color*(0x10000-fr))>>16; ++ buf[y*stride + x+1]+= (color* fr )>>16; + } + } + } +@@ -1739,7 +1737,7 @@ + ref_picture, pix_op, + s->mv[dir][1][0], s->mv[dir][1][1], block_s); + } else { +- if(s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != B_TYPE && !s->first_field){ ++ if(s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != FF_B_TYPE && !s->first_field){ + ref_picture= s->current_picture_ptr->data; + } + +@@ -1753,7 +1751,7 @@ + for(i=0; i<2; i++){ + uint8_t ** ref2picture; + +- if(s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == B_TYPE || s->first_field){ ++ if(s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == FF_B_TYPE || s->first_field){ + ref2picture= ref_picture; + }else{ + ref2picture= s->current_picture_ptr->data; +@@ -1911,14 +1909,14 @@ + else if (s->h263_pred || s->h263_aic) + s->mbintra_table[mb_xy]=1; + +- if ((s->flags&CODEC_FLAG_PSNR) || !(s->encoding && (s->intra_only || s->pict_type==B_TYPE) && s->avctx->mb_decision != FF_MB_DECISION_RD)) { //FIXME precalc ++ if ((s->flags&CODEC_FLAG_PSNR) || !(s->encoding && (s->intra_only || s->pict_type==FF_B_TYPE) && s->avctx->mb_decision != FF_MB_DECISION_RD)) { //FIXME precalc + uint8_t *dest_y, *dest_cb, *dest_cr; + int dct_linesize, dct_offset; + op_pixels_func (*op_pix)[4]; + qpel_mc_func (*op_qpix)[16]; + const int linesize= s->current_picture.linesize[0]; //not s->linesize as this would be wrong for field pics + const int uvlinesize= s->current_picture.linesize[1]; +- const int readable= s->pict_type != B_TYPE || s->encoding || s->avctx->draw_horiz_band || lowres_flag; ++ const int readable= s->pict_type != FF_B_TYPE || s->encoding || s->avctx->draw_horiz_band || lowres_flag; + const int block_size= lowres_flag ? 8>>s->avctx->lowres : 8; + + /* avoid copy if macroblock skipped in last frame too */ +@@ -1931,7 +1929,7 @@ + + if (s->mb_skipped) { + s->mb_skipped= 0; +- assert(s->pict_type!=I_TYPE); ++ assert(s->pict_type!=FF_I_TYPE); + + (*mbskip_ptr) ++; /* indicate that this time we skipped it */ + if(*mbskip_ptr >99) *mbskip_ptr= 99; +@@ -1977,7 +1975,7 @@ + } + }else{ + op_qpix= s->me.qpel_put; +- if ((!s->no_rounding) || s->pict_type==B_TYPE){ ++ if ((!s->no_rounding) || s->pict_type==FF_B_TYPE){ + op_pix = s->dsp.put_pixels_tab; + }else{ + op_pix = s->dsp.put_no_rnd_pixels_tab; +@@ -1996,8 +1994,8 @@ + /* skip dequant / idct if we are really late ;) */ + if(s->hurry_up>1) goto skip_idct; + if(s->avctx->skip_idct){ +- if( (s->avctx->skip_idct >= AVDISCARD_NONREF && s->pict_type == B_TYPE) +- ||(s->avctx->skip_idct >= AVDISCARD_NONKEY && s->pict_type != I_TYPE) ++ if( (s->avctx->skip_idct >= AVDISCARD_NONREF && s->pict_type == FF_B_TYPE) ++ ||(s->avctx->skip_idct >= AVDISCARD_NONKEY && s->pict_type != FF_I_TYPE) + || s->avctx->skip_idct >= AVDISCARD_ALL) + goto skip_idct; + } +@@ -2135,20 +2133,20 @@ + + h= FFMIN(h, s->avctx->height - y); + +- if(s->pict_type==B_TYPE || s->low_delay || (s->avctx->slice_flags&SLICE_FLAG_CODED_ORDER)) ++ if(s->pict_type==FF_B_TYPE || s->low_delay || (s->avctx->slice_flags&SLICE_FLAG_CODED_ORDER)) + src= (AVFrame*)s->current_picture_ptr; + else if(s->last_picture_ptr) + src= (AVFrame*)s->last_picture_ptr; + else + return; + +- if(s->pict_type==B_TYPE && s->picture_structure == PICT_FRAME && s->out_format != FMT_H264){ ++ if(s->pict_type==FF_B_TYPE && s->picture_structure == PICT_FRAME && s->out_format != FMT_H264){ + offset[0]= + offset[1]= + offset[2]= + offset[3]= 0; + }else{ +- offset[0]= y * s->linesize;; ++ offset[0]= y * s->linesize; + offset[1]= + offset[2]= (y >> s->chroma_y_shift) * s->uvlinesize; + offset[3]= 0; +@@ -2178,7 +2176,7 @@ + s->dest[1] = s->current_picture.data[1] + ((s->mb_x - 1) << (mb_size - s->chroma_x_shift)); + s->dest[2] = s->current_picture.data[2] + ((s->mb_x - 1) << (mb_size - s->chroma_x_shift)); + +- if(!(s->pict_type==B_TYPE && s->avctx->draw_horiz_band && s->picture_structure==PICT_FRAME)) ++ if(!(s->pict_type==FF_B_TYPE && s->avctx->draw_horiz_band && s->picture_structure==PICT_FRAME)) + { + s->dest[0] += s->mb_y * linesize << mb_size; + s->dest[1] += s->mb_y * uvlinesize << (mb_size - s->chroma_y_shift); +Index: mythtv/libs/libavcodec/svq1enc.c +=================================================================== +--- mythtv/libs/libavcodec/svq1enc.c (revision 18209) ++++ mythtv/libs/libavcodec/svq1enc.c (working copy) +@@ -82,7 +82,7 @@ + /* frame type */ + put_bits(&s->pb, 2, frame_type - 1); + +- if (frame_type == I_TYPE) { ++ if (frame_type == FF_I_TYPE) { + + /* no checksum since frame code is 0x20 */ + +@@ -283,7 +283,7 @@ + block_width = (width + 15) / 16; + block_height = (height + 15) / 16; + +- if(s->picture.pict_type == P_TYPE){ ++ if(s->picture.pict_type == FF_P_TYPE){ + s->m.avctx= s->avctx; + s->m.current_picture_ptr= &s->m.current_picture; + s->m.last_picture_ptr = &s->m.last_picture; +@@ -389,11 +389,11 @@ + ff_init_block_index(&s->m); + ff_update_block_index(&s->m); + +- if(s->picture.pict_type == I_TYPE || (s->m.mb_type[x + y*s->m.mb_stride]&CANDIDATE_MB_TYPE_INTRA)){ ++ if(s->picture.pict_type == FF_I_TYPE || (s->m.mb_type[x + y*s->m.mb_stride]&CANDIDATE_MB_TYPE_INTRA)){ + for(i=0; i<6; i++){ + init_put_bits(&s->reorder_pb[i], reorder_buffer[0][i], 7*32); + } +- if(s->picture.pict_type == P_TYPE){ ++ if(s->picture.pict_type == FF_P_TYPE){ + const uint8_t *vlc= ff_svq1_block_type_vlc[SVQ1_BLOCK_INTRA]; + put_bits(&s->reorder_pb[5], vlc[1], vlc[0]); + score[0]= vlc[1]*lambda; +@@ -408,7 +408,7 @@ + + best=0; + +- if(s->picture.pict_type == P_TYPE){ ++ if(s->picture.pict_type == FF_P_TYPE){ + const uint8_t *vlc= ff_svq1_block_type_vlc[SVQ1_BLOCK_INTER]; + int mx, my, pred_x, pred_y, dxy; + int16_t *motion_ptr; +@@ -479,7 +479,7 @@ + return 0; + } + +-static int svq1_encode_init(AVCodecContext *avctx) ++static av_cold int svq1_encode_init(AVCodecContext *avctx) + { + SVQ1Context * const s = avctx->priv_data; + +@@ -533,8 +533,8 @@ + init_put_bits(&s->pb, buf, buf_size); + + *p = *pict; +- p->pict_type = avctx->gop_size && avctx->frame_number % avctx->gop_size ? P_TYPE : I_TYPE; +- p->key_frame = p->pict_type == I_TYPE; ++ p->pict_type = avctx->gop_size && avctx->frame_number % avctx->gop_size ? FF_P_TYPE : FF_I_TYPE; ++ p->key_frame = p->pict_type == FF_I_TYPE; + + svq1_write_header(s, p->pict_type); + for(i=0; i<3; i++){ +@@ -554,7 +554,7 @@ + return (put_bits_count(&s->pb) / 8); + } + +-static int svq1_encode_end(AVCodecContext *avctx) ++static av_cold int svq1_encode_end(AVCodecContext *avctx) + { + SVQ1Context * const s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/shorten.c +=================================================================== +--- mythtv/libs/libavcodec/shorten.c (revision 18209) ++++ mythtv/libs/libavcodec/shorten.c (working copy) +@@ -100,7 +100,7 @@ + int32_t lpcqoffset; + } ShortenContext; + +-static int shorten_decode_init(AVCodecContext * avctx) ++static av_cold int shorten_decode_init(AVCodecContext * avctx) + { + ShortenContext *s = avctx->priv_data; + s->avctx = avctx; +@@ -501,7 +501,7 @@ + return i; + } + +-static int shorten_decode_close(AVCodecContext *avctx) ++static av_cold int shorten_decode_close(AVCodecContext *avctx) + { + ShortenContext *s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/xl.c +=================================================================== +--- mythtv/libs/libavcodec/xl.c (revision 18209) ++++ mythtv/libs/libavcodec/xl.c (working copy) +@@ -118,7 +118,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + // VideoXLContext * const a = avctx->priv_data; + + avctx->pix_fmt= PIX_FMT_YUV411P; +Index: mythtv/libs/libavcodec/targaenc.c +=================================================================== +--- mythtv/libs/libavcodec/targaenc.c (revision 18209) ++++ mythtv/libs/libavcodec/targaenc.c (working copy) +@@ -133,7 +133,7 @@ + return out + 26 - outbuf; + } + +-static int targa_encode_init(AVCodecContext *avctx) ++static av_cold int targa_encode_init(AVCodecContext *avctx) + { + return 0; + } +Index: mythtv/libs/libavcodec/mpegvideo.h +=================================================================== +--- mythtv/libs/libavcodec/mpegvideo.h (revision 18209) ++++ mythtv/libs/libavcodec/mpegvideo.h (working copy) +@@ -94,7 +94,7 @@ + uint8_t permutated[64]; + uint8_t raster_end[64]; + #ifdef ARCH_POWERPC +- /** Used by dct_quantise_alitvec to find last-non-zero */ ++ /** Used by dct_quantize_alitvec to find last-non-zero */ + DECLARE_ALIGNED_8(uint8_t, inverse[64]); + #endif + } ScanTable; +@@ -142,8 +142,8 @@ + int pic_id; /**< h264 pic_num (short -> no wrap version of pic_num, + pic_num & max_pic_num; long -> long_pic_num) */ + int long_ref; ///< 1->long term reference 0->short term reference +- int ref_poc[2][16]; ///< h264 POCs of the frames used as reference +- int ref_count[2]; ///< number of entries in ref_poc ++ int ref_poc[2][2][16]; ///< h264 POCs of the frames used as reference (FIXME need per slice) ++ int ref_count[2][2]; ///< number of entries in ref_poc (FIXME need per slice) + + int mb_var_sum; ///< sum of MB variance for current frame + int mc_mb_var_sum; ///< motion compensated MB variance for current frame +@@ -333,7 +333,7 @@ + int *lambda_table; + int adaptive_quant; ///< use adaptive quantization + int dquant; ///< qscale difference to prev qscale +- int pict_type; ///< I_TYPE, P_TYPE, B_TYPE, ... ++ int pict_type; ///< FF_I_TYPE, FF_P_TYPE, FF_B_TYPE, ... + int last_pict_type; //FIXME removes + int last_non_b_pict_type; ///< used for mpeg4 gmc b-frames & ratecontrol + int dropable; +Index: mythtv/libs/libavcodec/truemotion1.c +=================================================================== +--- mythtv/libs/libavcodec/truemotion1.c (revision 18209) ++++ mythtv/libs/libavcodec/truemotion1.c (working copy) +@@ -461,7 +461,7 @@ + return header.header_size; + } + +-static int truemotion1_decode_init(AVCodecContext *avctx) ++static av_cold int truemotion1_decode_init(AVCodecContext *avctx) + { + TrueMotion1Context *s = avctx->priv_data; + +@@ -877,7 +877,7 @@ + return buf_size; + } + +-static int truemotion1_decode_end(AVCodecContext *avctx) ++static av_cold int truemotion1_decode_end(AVCodecContext *avctx) + { + TrueMotion1Context *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/cabac.c +=================================================================== +--- mythtv/libs/libavcodec/cabac.c (revision 18209) ++++ mythtv/libs/libavcodec/cabac.c (working copy) +@@ -178,13 +178,13 @@ + } + } + +-#if 0 //selftest ++#ifdef TEST + #undef random + #define SIZE 10240 + + #include "avcodec.h" + +-int main(){ ++int main(void){ + CABACContext c; + uint8_t b[9*SIZE]; + uint8_t r[9*SIZE]; +@@ -262,4 +262,4 @@ + return 0; + } + +-#endif ++#endif /* TEST */ +Index: mythtv/libs/libavcodec/libx264.c +=================================================================== +--- mythtv/libs/libavcodec/libx264.c (revision 18209) ++++ mythtv/libs/libavcodec/libx264.c (working copy) +@@ -119,7 +119,7 @@ + return bufsize; + } + +-static int ++static av_cold int + X264_close(AVCodecContext *avctx) + { + X264Context *x4 = avctx->priv_data; +@@ -130,7 +130,7 @@ + return 0; + } + +-static int ++static av_cold int + X264_init(AVCodecContext *avctx) + { + X264Context *x4 = avctx->priv_data; +Index: mythtv/libs/libavcodec/mpeg12.c +=================================================================== +--- mythtv/libs/libavcodec/mpeg12.c (revision 18209) ++++ mythtv/libs/libavcodec/mpeg12.c (working copy) +@@ -236,7 +236,7 @@ + assert(s->mb_skipped==0); + + if (s->mb_skip_run-- != 0) { +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + s->mb_skipped = 1; + s->current_picture.mb_type[ s->mb_x + s->mb_y*s->mb_stride ]= MB_TYPE_SKIP | MB_TYPE_L0 | MB_TYPE_16x16; + } else { +@@ -267,7 +267,7 @@ + + switch(s->pict_type) { + default: +- case I_TYPE: ++ case FF_I_TYPE: + if (get_bits1(&s->gb) == 0) { + if (get_bits1(&s->gb) == 0){ + av_log(s->avctx, AV_LOG_ERROR, "invalid mb type in I Frame at %d %d\n", s->mb_x, s->mb_y); +@@ -278,7 +278,7 @@ + mb_type = MB_TYPE_INTRA; + } + break; +- case P_TYPE: ++ case FF_P_TYPE: + mb_type = get_vlc2(&s->gb, mb_ptype_vlc.table, MB_PTYPE_VLC_BITS, 1); + if (mb_type < 0){ + av_log(s->avctx, AV_LOG_ERROR, "invalid mb type in P Frame at %d %d\n", s->mb_x, s->mb_y); +@@ -286,7 +286,7 @@ + } + mb_type = ptype2mb_type[ mb_type ]; + break; +- case B_TYPE: ++ case FF_B_TYPE: + mb_type = get_vlc2(&s->gb, mb_btype_vlc.table, MB_BTYPE_VLC_BITS, 1); + if (mb_type < 0){ + av_log(s->avctx, AV_LOG_ERROR, "invalid mb type in B Frame at %d %d\n", s->mb_x, s->mb_y); +@@ -1339,7 +1339,7 @@ + + } Mpeg1Context; + +-static int mpeg_decode_init(AVCodecContext *avctx) ++static av_cold int mpeg_decode_init(AVCodecContext *avctx) + { + Mpeg1Context *s = avctx->priv_data; + MpegEncContext *s2 = &s->mpeg_enc_ctx; +@@ -1510,7 +1510,7 @@ + return -1; + + vbv_delay= get_bits(&s->gb, 16); +- if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_P_TYPE || s->pict_type == FF_B_TYPE) { + s->full_pel[0] = get_bits1(&s->gb); + f_code = get_bits(&s->gb, 3); + if (f_code == 0 && avctx->error_resilience >= FF_ER_COMPLIANT) +@@ -1518,7 +1518,7 @@ + s->mpeg_f_code[0][0] = f_code; + s->mpeg_f_code[0][1] = f_code; + } +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + s->full_pel[1] = get_bits1(&s->gb); + f_code = get_bits(&s->gb, 3); + if (f_code == 0 && avctx->error_resilience >= FF_ER_COMPLIANT) +@@ -1527,7 +1527,7 @@ + s->mpeg_f_code[1][1] = f_code; + } + s->current_picture.pict_type= s->pict_type; +- s->current_picture.key_frame= s->pict_type == I_TYPE; ++ s->current_picture.key_frame= s->pict_type == FF_I_TYPE; + + if(avctx->debug & FF_DEBUG_PICT_INFO) + av_log(avctx, AV_LOG_DEBUG, "vbv_delay %d, ref %d type:%d\n", vbv_delay, ref, s->pict_type); +@@ -1897,7 +1897,7 @@ + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ + av_log(s->avctx, AV_LOG_DEBUG, "qp:%d fc:%2d%2d%2d%2d %s %s %s %s %s dc:%d pstruct:%d fdct:%d cmv:%d qtype:%d ivlc:%d rff:%d %s\n", + s->qscale, s->mpeg_f_code[0][0],s->mpeg_f_code[0][1],s->mpeg_f_code[1][0],s->mpeg_f_code[1][1], +- s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), ++ s->pict_type == FF_I_TYPE ? "I" : (s->pict_type == FF_P_TYPE ? "P" : (s->pict_type == FF_B_TYPE ? "B" : "S")), + s->progressive_sequence ? "ps" :"", s->progressive_frame ? "pf" : "", s->alternate_scan ? "alt" :"", s->top_field_first ? "top" :"", + s->intra_dc_precision, s->picture_structure, s->frame_pred_frame_dct, s->concealment_motion_vectors, + s->q_scale_type, s->intra_vlc_format, s->repeat_first_field, s->chroma_420_type ? "420" :""); +@@ -1927,7 +1927,7 @@ + + for(i=0; i<2; i++){ + for(dir=0; dir<2; dir++){ +- if (s->mb_intra || (dir==1 && s->pict_type != B_TYPE)) { ++ if (s->mb_intra || (dir==1 && s->pict_type != FF_B_TYPE)) { + motion_x = motion_y = 0; + }else if (s->mv_type == MV_TYPE_16X16 || (s->mv_type == MV_TYPE_FIELD && field_pic)){ + motion_x = s->mv[dir][0][0]; +@@ -1972,7 +1972,7 @@ + + if(s->mb_y<= s->mb_height){ + int left= s->gb.size_in_bits - get_bits_count(&s->gb); +- int is_d10= s->chroma_format==2 && s->pict_type==I_TYPE && avctx->profile==0 && avctx->level==5 ++ int is_d10= s->chroma_format==2 && s->pict_type==FF_I_TYPE && avctx->profile==0 && avctx->level==5 + && s->intra_dc_precision == 2 && s->q_scale_type == 1 && s->alternate_scan == 0 + && s->progressive_frame == 0 /* vbv_delay == 0xBBB || 0xE10*/; + +@@ -2015,7 +2015,7 @@ + } + if(s->mb_skip_run){ + int i; +- if(s->pict_type == I_TYPE){ ++ if(s->pict_type == FF_I_TYPE){ + av_log(s->avctx, AV_LOG_ERROR, "skipped MB in I frame at %d %d\n", s->mb_x, s->mb_y); + return -1; + } +@@ -2028,7 +2028,7 @@ + s->mv_type = MV_TYPE_16X16; + else + s->mv_type = MV_TYPE_FIELD; +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + /* if P type, zero motion vector is implied */ + s->mv_dir = MV_DIR_FORWARD; + s->mv[0][0][0] = s->mv[0][0][1] = 0; +@@ -2117,7 +2117,7 @@ + + MPV_frame_end(s); + +- if (s->pict_type == B_TYPE || s->low_delay) { ++ if (s->pict_type == FF_B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + ff_print_debug_info(s, pict); + } else { +@@ -2547,7 +2547,7 @@ + start_code = -1; + buf_ptr = ff_find_start_code(buf_ptr,buf_end, &start_code); + if (start_code > 0x1ff){ +- if(s2->pict_type != B_TYPE || avctx->skip_frame <= AVDISCARD_DEFAULT){ ++ if(s2->pict_type != FF_B_TYPE || avctx->skip_frame <= AVDISCARD_DEFAULT){ + if(avctx->thread_count > 1){ + int i; + +@@ -2601,14 +2601,14 @@ + + if(s2->last_picture_ptr==NULL){ + /* Skip B-frames if we do not have reference frames. */ +- if(s2->pict_type==B_TYPE) break; ++ if(s2->pict_type==FF_B_TYPE) break; + /* Skip P-frames if we do not have reference frame no valid header. */ +-// if(s2->pict_type==P_TYPE && s2->first_field && !s2->first_slice) break; ++// if(s2->pict_type==FF_P_TYPE && s2->first_field && !s2->first_slice) break; + } + /* Skip B-frames if we are in a hurry. */ +- if(avctx->hurry_up && s2->pict_type==B_TYPE) break; +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s2->pict_type==B_TYPE) +- ||(avctx->skip_frame >= AVDISCARD_NONKEY && s2->pict_type!=I_TYPE) ++ if(avctx->hurry_up && s2->pict_type==FF_B_TYPE) break; ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s2->pict_type==FF_B_TYPE) ++ ||(avctx->skip_frame >= AVDISCARD_NONKEY && s2->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) + break; + /* Skip everything if we are in a hurry>=5. */ +@@ -2713,7 +2713,7 @@ + }; + + #ifdef HAVE_XVMC +-static int mpeg_mc_decode_init(AVCodecContext *avctx){ ++static av_cold int mpeg_mc_decode_init(AVCodecContext *avctx){ + Mpeg1Context *s; + + if( avctx->thread_count > 1) +Index: mythtv/libs/libavcodec/h263dec.c +=================================================================== +--- mythtv/libs/libavcodec/h263dec.c (revision 18209) ++++ mythtv/libs/libavcodec/h263dec.c (working copy) +@@ -35,7 +35,7 @@ + //#define DEBUG + //#define PRINT_FRAME_TIME + +-int ff_h263_decode_init(AVCodecContext *avctx) ++av_cold int ff_h263_decode_init(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +@@ -119,7 +119,7 @@ + return 0; + } + +-int ff_h263_decode_end(AVCodecContext *avctx) ++av_cold int ff_h263_decode_end(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +@@ -208,7 +208,7 @@ + //printf("%d %d %06X\n", ret, get_bits_count(&s->gb), show_bits(&s->gb, 24)); + ret= s->decode_mb(s, s->block); + +- if (s->pict_type!=B_TYPE) ++ if (s->pict_type!=FF_B_TYPE) + ff_h263_update_motion_val(s); + + if(ret<0){ +@@ -291,7 +291,7 @@ + int max_extra=7; + + /* no markers in M$ crap */ +- if(s->msmpeg4_version && s->pict_type==I_TYPE) ++ if(s->msmpeg4_version && s->pict_type==FF_I_TYPE) + max_extra+= 17; + + /* buggy padding but the frame should still end approximately at the bitstream end */ +@@ -581,30 +581,30 @@ + + // for hurry_up==5 + s->current_picture.pict_type= s->pict_type; +- s->current_picture.key_frame= s->pict_type == I_TYPE; ++ s->current_picture.key_frame= s->pict_type == FF_I_TYPE; + + /* skip B-frames if we don't have reference frames */ +- if(s->last_picture_ptr==NULL && (s->pict_type==B_TYPE || s->dropable)) return get_consumed_bytes(s, buf_size); ++ if(s->last_picture_ptr==NULL && (s->pict_type==FF_B_TYPE || s->dropable)) return get_consumed_bytes(s, buf_size); + /* skip b frames if we are in a hurry */ +- if(avctx->hurry_up && s->pict_type==B_TYPE) return get_consumed_bytes(s, buf_size); +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE) +- || (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE) ++ if(avctx->hurry_up && s->pict_type==FF_B_TYPE) return get_consumed_bytes(s, buf_size); ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==FF_B_TYPE) ++ || (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) + return get_consumed_bytes(s, buf_size); + /* skip everything if we are in a hurry>=5 */ + if(avctx->hurry_up>=5) return get_consumed_bytes(s, buf_size); + + if(s->next_p_frame_damaged){ +- if(s->pict_type==B_TYPE) ++ if(s->pict_type==FF_B_TYPE) + return get_consumed_bytes(s, buf_size); + else + s->next_p_frame_damaged=0; + } + +- if((s->avctx->flags2 & CODEC_FLAG2_FAST) && s->pict_type==B_TYPE){ ++ if((s->avctx->flags2 & CODEC_FLAG2_FAST) && s->pict_type==FF_B_TYPE){ + s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab; + s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab; +- }else if((!s->no_rounding) || s->pict_type==B_TYPE){ ++ }else if((!s->no_rounding) || s->pict_type==FF_B_TYPE){ + s->me.qpel_put= s->dsp.put_qpel_pixels_tab; + s->me.qpel_avg= s->dsp.avg_qpel_pixels_tab; + }else{ +@@ -649,7 +649,7 @@ + decode_slice(s); + } + +- if (s->h263_msmpeg4 && s->msmpeg4_version<4 && s->pict_type==I_TYPE) ++ if (s->h263_msmpeg4 && s->msmpeg4_version<4 && s->pict_type==FF_I_TYPE) + if(!ENABLE_MSMPEG4_DECODER || msmpeg4_decode_ext_header(s, buf_size) < 0){ + s->error_status_table[s->mb_num-1]= AC_ERROR|DC_ERROR|MV_ERROR; + } +@@ -690,7 +690,7 @@ + + assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type); + assert(s->current_picture.pict_type == s->pict_type); +- if (s->pict_type == B_TYPE || s->low_delay) { ++ if (s->pict_type == FF_B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; +@@ -702,7 +702,7 @@ + } + + /* Return the Picture timestamp as the frame number */ +- /* we substract 1 because it is added on utils.c */ ++ /* we subtract 1 because it is added on utils.c */ + avctx->frame_number = s->picture_number - 1; + + #ifdef PRINT_FRAME_TIME +Index: mythtv/libs/libavcodec/cabac.h +=================================================================== +--- mythtv/libs/libavcodec/cabac.h (revision 18209) ++++ mythtv/libs/libavcodec/cabac.h (working copy) +@@ -685,116 +685,6 @@ + #endif + } + +-//FIXME the x86 code from this file should be moved into i386/h264 or cabac something.c/h (note ill kill you if you move my code away from under my fingers before iam finished with it!) +-//FIXME use some macros to avoid duplicatin get_cabac (cannot be done yet as that would make optimization work hard) +-#if defined(ARCH_X86) && defined(HAVE_7REGS) && defined(HAVE_EBX_AVAILABLE) && !defined(BROKEN_RELOCATIONS) +-static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *significant_coeff_ctx_base, int *index){ +- void *end= significant_coeff_ctx_base + max_coeff - 1; +- int minusstart= -(int)significant_coeff_ctx_base; +- int minusindex= 4-(int)index; +- int coeff_count; +- asm volatile( +- "movl "RANGE "(%3), %%esi \n\t" +- "movl "LOW "(%3), %%ebx \n\t" +- +- "2: \n\t" +- +- BRANCHLESS_GET_CABAC("%%edx", "%3", "(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") +- +- "test $1, %%edx \n\t" +- " jz 3f \n\t" +- +- BRANCHLESS_GET_CABAC("%%edx", "%3", "61(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") +- +- "mov %2, %%"REG_a" \n\t" +- "movl %4, %%ecx \n\t" +- "add %1, %%"REG_c" \n\t" +- "movl %%ecx, (%%"REG_a") \n\t" +- +- "test $1, %%edx \n\t" +- " jnz 4f \n\t" +- +- "add $4, %%"REG_a" \n\t" +- "mov %%"REG_a", %2 \n\t" +- +- "3: \n\t" +- "add $1, %1 \n\t" +- "cmp %5, %1 \n\t" +- " jb 2b \n\t" +- "mov %2, %%"REG_a" \n\t" +- "movl %4, %%ecx \n\t" +- "add %1, %%"REG_c" \n\t" +- "movl %%ecx, (%%"REG_a") \n\t" +- "4: \n\t" +- "add %6, %%eax \n\t" +- "shr $2, %%eax \n\t" +- +- "movl %%esi, "RANGE "(%3) \n\t" +- "movl %%ebx, "LOW "(%3) \n\t" +- :"=&a"(coeff_count), "+r"(significant_coeff_ctx_base), "+m"(index)\ +- :"r"(c), "m"(minusstart), "m"(end), "m"(minusindex)\ +- : "%"REG_c, "%ebx", "%edx", "%esi", "memory"\ +- ); +- return coeff_count; +-} +- +-static int decode_significance_8x8_x86(CABACContext *c, uint8_t *significant_coeff_ctx_base, int *index, uint8_t *sig_off){ +- int minusindex= 4-(int)index; +- int coeff_count; +- long last=0; +- asm volatile( +- "movl "RANGE "(%3), %%esi \n\t" +- "movl "LOW "(%3), %%ebx \n\t" +- +- "mov %1, %%"REG_D" \n\t" +- "2: \n\t" +- +- "mov %6, %%"REG_a" \n\t" +- "movzbl (%%"REG_a", %%"REG_D"), %%edi \n\t" +- "add %5, %%"REG_D" \n\t" +- +- BRANCHLESS_GET_CABAC("%%edx", "%3", "(%%"REG_D")", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") +- +- "mov %1, %%edi \n\t" +- "test $1, %%edx \n\t" +- " jz 3f \n\t" +- +- "movzbl "MANGLE(last_coeff_flag_offset_8x8)"(%%edi), %%edi\n\t" +- "add %5, %%"REG_D" \n\t" +- +- BRANCHLESS_GET_CABAC("%%edx", "%3", "15(%%"REG_D")", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") +- +- "mov %2, %%"REG_a" \n\t" +- "mov %1, %%edi \n\t" +- "movl %%edi, (%%"REG_a") \n\t" +- +- "test $1, %%edx \n\t" +- " jnz 4f \n\t" +- +- "add $4, %%"REG_a" \n\t" +- "mov %%"REG_a", %2 \n\t" +- +- "3: \n\t" +- "addl $1, %%edi \n\t" +- "mov %%edi, %1 \n\t" +- "cmpl $63, %%edi \n\t" +- " jb 2b \n\t" +- "mov %2, %%"REG_a" \n\t" +- "movl %%edi, (%%"REG_a") \n\t" +- "4: \n\t" +- "addl %4, %%eax \n\t" +- "shr $2, %%eax \n\t" +- +- "movl %%esi, "RANGE "(%3) \n\t" +- "movl %%ebx, "LOW "(%3) \n\t" +- :"=&a"(coeff_count),"+m"(last), "+m"(index)\ +- :"r"(c), "m"(minusindex), "m"(significant_coeff_ctx_base), "m"(sig_off)\ +- : "%"REG_c, "%ebx", "%edx", "%esi", "%"REG_D, "memory"\ +- ); +- return coeff_count; +-} +-#endif /* defined(ARCH_X86) && && defined(HAVE_7REGS) && defined(HAVE_EBX_AVAILABLE) && !defined(BROKEN_RELOCATIONS) */ +- + /** + * + * @return the number of bytes read or 0 if no end +Index: mythtv/libs/libavcodec/aac_parser.c +=================================================================== +--- mythtv/libs/libavcodec/aac_parser.c (revision 18209) ++++ mythtv/libs/libavcodec/aac_parser.c (working copy) +@@ -81,7 +81,7 @@ + return size; + } + +-static int aac_parse_init(AVCodecParserContext *s1) ++static av_cold int aac_parse_init(AVCodecParserContext *s1) + { + AACAC3ParseContext *s = s1->priv_data; + s->inbuf_ptr = s->inbuf; +Index: mythtv/libs/libavcodec/ppc/gmc_altivec.c +=================================================================== +--- mythtv/libs/libavcodec/ppc/gmc_altivec.c (revision 18209) ++++ mythtv/libs/libavcodec/ppc/gmc_altivec.c (working copy) +@@ -29,7 +29,7 @@ + + /* + altivec-enhanced gmc1. ATM this code assume stride is a multiple of 8, +- to preserve proper dst alignement. ++ to preserve proper dst alignment. + */ + #define GMC1_PERF_COND (h==8) + void gmc1_altivec(uint8_t *dst /* align 8 */, uint8_t *src /* align1 */, int stride, int h, int x16, int y16, int rounder) +Index: mythtv/libs/libavcodec/ppc/mpegvideo_altivec.c +=================================================================== +--- mythtv/libs/libavcodec/ppc/mpegvideo_altivec.c (revision 18209) ++++ mythtv/libs/libavcodec/ppc/mpegvideo_altivec.c (working copy) +@@ -80,7 +80,7 @@ + vector float row0, row1, row2, row3, row4, row5, row6, row7; + vector float alt0, alt1, alt2, alt3, alt4, alt5, alt6, alt7; + const vector float zero = (const vector float)FOUROF(0.); +- // used after quantise step ++ // used after quantize step + int oldBaseValue = 0; + + // Load the data into the row/alt vectors +@@ -258,7 +258,7 @@ + } + } + +- // perform the quantise step, using the floating point data ++ // perform the quantize step, using the floating point data + // still in the row/alt registers + { + const int* biasAddr; +@@ -474,7 +474,7 @@ + data[0] = (oldBaseValue + 4) >> 3; + } + +- // We handled the tranpose permutation above and we don't ++ // We handled the transpose permutation above and we don't + // need to permute the "no" permutation case. + if ((lastNonZero > 0) && + (s->dsp.idct_permutation_type != FF_TRANSPOSE_IDCT_PERM) && +Index: mythtv/libs/libavcodec/ppc/dsputil_altivec.c +=================================================================== +--- mythtv/libs/libavcodec/ppc/dsputil_altivec.c (revision 18209) ++++ mythtv/libs/libavcodec/ppc/dsputil_altivec.c (working copy) +@@ -1094,7 +1094,7 @@ + dstV = \ + (vector signed short)vec_mergeh((vector signed char)vzero, \ + (vector signed char)dstO); \ +- /* substractions inside the first butterfly */ \ ++ /* subtractions inside the first butterfly */ \ + but0 = vec_sub(srcV, dstV); \ + op1 = vec_perm(but0, but0, perm1); \ + but1 = vec_mladd(but0, vprod1, op1); \ +@@ -1175,7 +1175,7 @@ + schedule for the 7450, and its code isn't much faster than + gcc-3.3 on the 7450 (but uses 25% less instructions...) + +- On the 970, the hand-made RA is still a win (arount 690 ++ On the 970, the hand-made RA is still a win (around 690 + vs. around 780), but xlc goes to around 660 on the + regular C code... + */ +@@ -1267,7 +1267,7 @@ + dstW = \ + (vector signed short)vec_mergel((vector signed char)vzero, \ + (vector signed char)dstO); \ +- /* substractions inside the first butterfly */ \ ++ /* subtractions inside the first butterfly */ \ + but0 = vec_sub(srcV, dstV); \ + but0S = vec_sub(srcW, dstW); \ + op1 = vec_perm(but0, but0, perm1); \ +Index: mythtv/libs/libavcodec/svq1dec.c +=================================================================== +--- mythtv/libs/libavcodec/svq1dec.c (revision 18209) ++++ mythtv/libs/libavcodec/svq1dec.c (working copy) +@@ -575,7 +575,7 @@ + if(s->pict_type==4) + return -1; + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + + /* unknown fields */ + if (s->f_code == 0x50 || s->f_code == 0x60) { +@@ -678,11 +678,11 @@ + + //FIXME this avoids some confusion for "B frames" without 2 references + //this should be removed after libavcodec can handle more flexible picture types & ordering +- if(s->pict_type==B_TYPE && s->last_picture_ptr==NULL) return buf_size; ++ if(s->pict_type==FF_B_TYPE && s->last_picture_ptr==NULL) return buf_size; + +- if(avctx->hurry_up && s->pict_type==B_TYPE) return buf_size; +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE) +- ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE) ++ if(avctx->hurry_up && s->pict_type==FF_B_TYPE) return buf_size; ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==FF_B_TYPE) ++ ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) + return buf_size; + +@@ -705,13 +705,13 @@ + + current = s->current_picture.data[i]; + +- if(s->pict_type==B_TYPE){ ++ if(s->pict_type==FF_B_TYPE){ + previous = s->next_picture.data[i]; + }else{ + previous = s->last_picture.data[i]; + } + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + /* keyframe */ + for (y=0; y < height; y+=16) { + for (x=0; x < width; x+=16) { +@@ -761,7 +761,7 @@ + return buf_size; + } + +-static int svq1_decode_init(AVCodecContext *avctx) ++static av_cold int svq1_decode_init(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + int i; +@@ -805,7 +805,7 @@ + return 0; + } + +-static int svq1_decode_end(AVCodecContext *avctx) ++static av_cold int svq1_decode_end(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/rpza.c +=================================================================== +--- mythtv/libs/libavcodec/rpza.c (revision 18209) ++++ mythtv/libs/libavcodec/rpza.c (working copy) +@@ -228,7 +228,7 @@ + } + } + +-static int rpza_decode_init(AVCodecContext *avctx) ++static av_cold int rpza_decode_init(AVCodecContext *avctx) + { + RpzaContext *s = avctx->priv_data; + +@@ -266,7 +266,7 @@ + return buf_size; + } + +-static int rpza_decode_end(AVCodecContext *avctx) ++static av_cold int rpza_decode_end(AVCodecContext *avctx) + { + RpzaContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/apedec.c +=================================================================== +--- mythtv/libs/libavcodec/apedec.c (revision 18209) ++++ mythtv/libs/libavcodec/apedec.c (working copy) +@@ -183,7 +183,7 @@ + return res; + } + +-static int ape_decode_init(AVCodecContext * avctx) ++static av_cold int ape_decode_init(AVCodecContext * avctx) + { + APEContext *s = avctx->priv_data; + int i; +@@ -222,7 +222,7 @@ + return 0; + } + +-static int ape_decode_close(AVCodecContext * avctx) ++static av_cold int ape_decode_close(AVCodecContext * avctx) + { + APEContext *s = avctx->priv_data; + int i; +@@ -490,7 +490,7 @@ + /* Keep a count of the blocks decoded in this frame */ + ctx->blocksdecoded = 0; + +- /* Initialise the rice structs */ ++ /* Initialize the rice structs */ + ctx->riceX.k = 10; + ctx->riceX.ksum = (1 << ctx->riceX.k) * 16; + ctx->riceY.k = 10; +@@ -514,7 +514,7 @@ + memset(p->historybuffer, 0, PREDICTOR_SIZE * sizeof(int32_t)); + p->buf = p->historybuffer; + +- /* Initialise and zero the co-efficients */ ++ /* Initialize and zero the co-efficients */ + memcpy(p->coeffsA[0], initial_coeffs, sizeof(initial_coeffs)); + memcpy(p->coeffsA[1], initial_coeffs, sizeof(initial_coeffs)); + memset(p->coeffsB, 0, sizeof(p->coeffsB)); +Index: mythtv/libs/libavcodec/tta.c +=================================================================== +--- mythtv/libs/libavcodec/tta.c (revision 18209) ++++ mythtv/libs/libavcodec/tta.c (working copy) +@@ -197,7 +197,7 @@ + return ret; + } + +-static int tta_decode_init(AVCodecContext * avctx) ++static av_cold int tta_decode_init(AVCodecContext * avctx) + { + TTAContext *s = avctx->priv_data; + int i; +@@ -425,7 +425,7 @@ + return buf_size; + } + +-static int tta_decode_close(AVCodecContext *avctx) { ++static av_cold int tta_decode_close(AVCodecContext *avctx) { + TTAContext *s = avctx->priv_data; + + if (s->decode_buffer) +Index: mythtv/libs/libavcodec/flashsvenc.c +=================================================================== +--- mythtv/libs/libavcodec/flashsvenc.c (revision 18209) ++++ mythtv/libs/libavcodec/flashsvenc.c (working copy) +@@ -97,7 +97,7 @@ + return 0; + } + +-static int flashsv_encode_init(AVCodecContext *avctx) ++static av_cold int flashsv_encode_init(AVCodecContext *avctx) + { + FlashSVContext *s = avctx->priv_data; + +@@ -271,7 +271,7 @@ + return res; + } + +-static int flashsv_encode_end(AVCodecContext *avctx) ++static av_cold int flashsv_encode_end(AVCodecContext *avctx) + { + FlashSVContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/cavs.c +=================================================================== +--- mythtv/libs/libavcodec/cavs.c (revision 18209) ++++ mythtv/libs/libavcodec/cavs.c (working copy) +@@ -668,7 +668,7 @@ + h->block = av_mallocz(64*sizeof(DCTELEM)); + } + +-int ff_cavs_init(AVCodecContext *avctx) { ++av_cold int ff_cavs_init(AVCodecContext *avctx) { + AVSContext *h = avctx->priv_data; + MpegEncContext * const s = &h->s; + +@@ -699,7 +699,7 @@ + return 0; + } + +-int ff_cavs_end(AVCodecContext *avctx) { ++av_cold int ff_cavs_end(AVCodecContext *avctx) { + AVSContext *h = avctx->priv_data; + + av_free(h->top_qp); +Index: mythtv/libs/libavcodec/mmvideo.c +=================================================================== +--- mythtv/libs/libavcodec/mmvideo.c (revision 18209) ++++ mythtv/libs/libavcodec/mmvideo.c (working copy) +@@ -47,7 +47,7 @@ + AVFrame frame; + } MmContext; + +-static int mm_decode_init(AVCodecContext *avctx) ++static av_cold int mm_decode_init(AVCodecContext *avctx) + { + MmContext *s = avctx->priv_data; + +@@ -182,7 +182,7 @@ + return buf_size; + } + +-static int mm_decode_end(AVCodecContext *avctx) ++static av_cold int mm_decode_end(AVCodecContext *avctx) + { + MmContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/rectangle.h +=================================================================== +--- mythtv/libs/libavcodec/rectangle.h (revision 0) ++++ mythtv/libs/libavcodec/rectangle.h (revision 0) +@@ -0,0 +1,121 @@ ++/* ++ * rectangle filling function ++ * Copyright (c) 2003 Michael Niedermayer ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++/** ++ * @file rectangle.h ++ * useful rectangle filling function ++ * @author Michael Niedermayer ++ */ ++ ++#ifndef FFMPEG_RECTANGLE_H ++#define FFMPEG_RECTANGLE_H ++ ++#include "common.h" ++ ++/** ++ * fill a rectangle. ++ * @param h height of the rectangle, should be a constant ++ * @param w width of the rectangle, should be a constant ++ * @param size the size of val (1 or 4), should be a constant ++ */ ++static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride, uint32_t val, int size){ ++ uint8_t *p= (uint8_t*)vp; ++ assert(size==1 || size==4); ++ assert(w<=4); ++ ++ w *= size; ++ stride *= size; ++ ++ assert((((long)vp)&(FFMIN(w, STRIDE_ALIGN)-1)) == 0); ++ assert((stride&(w-1))==0); ++ if(w==2){ ++ const uint16_t v= size==4 ? val : val*0x0101; ++ *(uint16_t*)(p + 0*stride)= v; ++ if(h==1) return; ++ *(uint16_t*)(p + 1*stride)= v; ++ if(h==2) return; ++ *(uint16_t*)(p + 2*stride)= v; ++ *(uint16_t*)(p + 3*stride)= v; ++ }else if(w==4){ ++ const uint32_t v= size==4 ? val : val*0x01010101; ++ *(uint32_t*)(p + 0*stride)= v; ++ if(h==1) return; ++ *(uint32_t*)(p + 1*stride)= v; ++ if(h==2) return; ++ *(uint32_t*)(p + 2*stride)= v; ++ *(uint32_t*)(p + 3*stride)= v; ++ }else if(w==8){ ++ //gcc can't optimize 64bit math on x86_32 ++#if defined(ARCH_X86_64) || (defined(MP_WORDSIZE) && MP_WORDSIZE >= 64) ++ const uint64_t v= val*0x0100000001ULL; ++ *(uint64_t*)(p + 0*stride)= v; ++ if(h==1) return; ++ *(uint64_t*)(p + 1*stride)= v; ++ if(h==2) return; ++ *(uint64_t*)(p + 2*stride)= v; ++ *(uint64_t*)(p + 3*stride)= v; ++ }else if(w==16){ ++ const uint64_t v= val*0x0100000001ULL; ++ *(uint64_t*)(p + 0+0*stride)= v; ++ *(uint64_t*)(p + 8+0*stride)= v; ++ *(uint64_t*)(p + 0+1*stride)= v; ++ *(uint64_t*)(p + 8+1*stride)= v; ++ if(h==2) return; ++ *(uint64_t*)(p + 0+2*stride)= v; ++ *(uint64_t*)(p + 8+2*stride)= v; ++ *(uint64_t*)(p + 0+3*stride)= v; ++ *(uint64_t*)(p + 8+3*stride)= v; ++#else ++ *(uint32_t*)(p + 0+0*stride)= val; ++ *(uint32_t*)(p + 4+0*stride)= val; ++ if(h==1) return; ++ *(uint32_t*)(p + 0+1*stride)= val; ++ *(uint32_t*)(p + 4+1*stride)= val; ++ if(h==2) return; ++ *(uint32_t*)(p + 0+2*stride)= val; ++ *(uint32_t*)(p + 4+2*stride)= val; ++ *(uint32_t*)(p + 0+3*stride)= val; ++ *(uint32_t*)(p + 4+3*stride)= val; ++ }else if(w==16){ ++ *(uint32_t*)(p + 0+0*stride)= val; ++ *(uint32_t*)(p + 4+0*stride)= val; ++ *(uint32_t*)(p + 8+0*stride)= val; ++ *(uint32_t*)(p +12+0*stride)= val; ++ *(uint32_t*)(p + 0+1*stride)= val; ++ *(uint32_t*)(p + 4+1*stride)= val; ++ *(uint32_t*)(p + 8+1*stride)= val; ++ *(uint32_t*)(p +12+1*stride)= val; ++ if(h==2) return; ++ *(uint32_t*)(p + 0+2*stride)= val; ++ *(uint32_t*)(p + 4+2*stride)= val; ++ *(uint32_t*)(p + 8+2*stride)= val; ++ *(uint32_t*)(p +12+2*stride)= val; ++ *(uint32_t*)(p + 0+3*stride)= val; ++ *(uint32_t*)(p + 4+3*stride)= val; ++ *(uint32_t*)(p + 8+3*stride)= val; ++ *(uint32_t*)(p +12+3*stride)= val; ++#endif ++ }else ++ assert(0); ++ assert(h==4); ++} ++ ++#endif /* FFMPEG_RECTANGLE_H */ +Index: mythtv/libs/libavcodec/sp5xdec.c +=================================================================== +--- mythtv/libs/libavcodec/sp5xdec.c (revision 18209) ++++ mythtv/libs/libavcodec/sp5xdec.c (working copy) +@@ -124,7 +124,7 @@ + return -1; + } + +- s->picture.pict_type = I_TYPE; ++ s->picture.pict_type = FF_I_TYPE; + s->picture.key_frame = 1; + + for (i = 0; i < 3; i++) +Index: mythtv/libs/libavcodec/fraps.c +=================================================================== +--- mythtv/libs/libavcodec/fraps.c (revision 18209) ++++ mythtv/libs/libavcodec/fraps.c (working copy) +@@ -55,7 +55,7 @@ + * @param avctx codec context + * @return 0 on success or negative if fails + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + FrapsContext * const s = avctx->priv_data; + +@@ -300,7 +300,7 @@ + * @param avctx codec context + * @return 0 on success or negative if fails + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + FrapsContext *s = (FrapsContext*)avctx->priv_data; + +Index: mythtv/libs/libavcodec/cscd.c +=================================================================== +--- mythtv/libs/libavcodec/cscd.c (revision 18209) ++++ mythtv/libs/libavcodec/cscd.c (working copy) +@@ -212,7 +212,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx) { ++static av_cold int decode_init(AVCodecContext *avctx) { + CamStudioContext *c = avctx->priv_data; + if (avcodec_check_dimensions(avctx, avctx->height, avctx->width) < 0) { + return 1; +@@ -240,7 +240,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx) { ++static av_cold int decode_end(AVCodecContext *avctx) { + CamStudioContext *c = avctx->priv_data; + av_freep(&c->decomp_buf); + if (c->pic.data[0]) +Index: mythtv/libs/libavcodec/bmp.c +=================================================================== +--- mythtv/libs/libavcodec/bmp.c (revision 18209) ++++ mythtv/libs/libavcodec/bmp.c (working copy) +@@ -23,7 +23,7 @@ + #include "bytestream.h" + #include "bmp.h" + +-static int bmp_decode_init(AVCodecContext *avctx){ ++static av_cold int bmp_decode_init(AVCodecContext *avctx){ + BMPContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +@@ -231,7 +231,7 @@ + return buf_size; + } + +-static int bmp_decode_end(AVCodecContext *avctx) ++static av_cold int bmp_decode_end(AVCodecContext *avctx) + { + BMPContext* c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/mpeg12enc.c +=================================================================== +--- mythtv/libs/libavcodec/mpeg12enc.c (revision 18209) ++++ mythtv/libs/libavcodec/mpeg12enc.c (working copy) +@@ -133,7 +133,7 @@ + return 0; + } + +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + MpegEncContext *s = avctx->priv_data; + +@@ -349,7 +349,7 @@ + put_bits(&s->pb, 16, 0xFFFF); /* vbv_delay */ + + // RAL: Forward f_code also needed for B frames +- if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_P_TYPE || s->pict_type == FF_B_TYPE) { + put_bits(&s->pb, 1, 0); /* half pel coordinates */ + if(s->codec_id == CODEC_ID_MPEG1VIDEO) + put_bits(&s->pb, 3, s->f_code); /* forward_f_code */ +@@ -358,7 +358,7 @@ + } + + // RAL: Backward f_code necessary for B frames +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + put_bits(&s->pb, 1, 0); /* half pel coordinates */ + if(s->codec_id == CODEC_ID_MPEG1VIDEO) + put_bits(&s->pb, 3, s->b_code); /* backward_f_code */ +@@ -372,13 +372,13 @@ + if(s->codec_id == CODEC_ID_MPEG2VIDEO){ + put_header(s, EXT_START_CODE); + put_bits(&s->pb, 4, 8); //pic ext +- if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_P_TYPE || s->pict_type == FF_B_TYPE) { + put_bits(&s->pb, 4, s->f_code); + put_bits(&s->pb, 4, s->f_code); + }else{ + put_bits(&s->pb, 8, 255); + } +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + put_bits(&s->pb, 4, s->b_code); + put_bits(&s->pb, 4, s->b_code); + }else{ +@@ -451,15 +451,15 @@ + + if (cbp == 0 && !first_mb && s->mv_type == MV_TYPE_16X16 && + (mb_x != s->mb_width - 1 || (mb_y != s->mb_height - 1 && s->codec_id == CODEC_ID_MPEG1VIDEO)) && +- ((s->pict_type == P_TYPE && (motion_x | motion_y) == 0) || +- (s->pict_type == B_TYPE && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) ? ((s->mv[0][0][0] - s->last_mv[0][0][0])|(s->mv[0][0][1] - s->last_mv[0][0][1])) : 0) | ++ ((s->pict_type == FF_P_TYPE && (motion_x | motion_y) == 0) || ++ (s->pict_type == FF_B_TYPE && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) ? ((s->mv[0][0][0] - s->last_mv[0][0][0])|(s->mv[0][0][1] - s->last_mv[0][0][1])) : 0) | + ((s->mv_dir & MV_DIR_BACKWARD) ? ((s->mv[1][0][0] - s->last_mv[1][0][0])|(s->mv[1][0][1] - s->last_mv[1][0][1])) : 0)) == 0))) { + s->mb_skip_run++; + s->qscale -= s->dquant; + s->skip_count++; + s->misc_bits++; + s->last_bits++; +- if(s->pict_type == P_TYPE){ ++ if(s->pict_type == FF_P_TYPE){ + s->last_mv[0][1][0]= s->last_mv[0][0][0]= + s->last_mv[0][1][1]= s->last_mv[0][0][1]= 0; + } +@@ -471,7 +471,7 @@ + encode_mb_skip_run(s, s->mb_skip_run); + } + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + if(s->dquant && cbp){ + put_mb_modes(s, 2, 1, 0, 0); /* macroblock_type : macroblock_quant = 1 */ + put_qscale(s); +@@ -492,7 +492,7 @@ + s->misc_bits+= get_bits_diff(s); + s->i_count++; + memset(s->last_mv, 0, sizeof(s->last_mv)); +- } else if (s->pict_type == P_TYPE) { ++ } else if (s->pict_type == FF_P_TYPE) { + if(s->mv_type == MV_TYPE_16X16){ + if (cbp != 0) { + if ((motion_x|motion_y) == 0) { +Index: mythtv/libs/libavcodec/g726.c +=================================================================== +--- mythtv/libs/libavcodec/g726.c (revision 18209) ++++ mythtv/libs/libavcodec/g726.c (working copy) +@@ -266,7 +266,7 @@ + return av_clip(re_signal << 2, -0xffff, 0xffff); + } + +-static int g726_reset(G726Context* c, int bit_rate) ++static av_cold int g726_reset(G726Context* c, int bit_rate) + { + int i; + +@@ -319,7 +319,7 @@ + int code_size; + } AVG726Context; + +-static int g726_init(AVCodecContext * avctx) ++static av_cold int g726_init(AVCodecContext * avctx) + { + AVG726Context* c = (AVG726Context*)avctx->priv_data; + +@@ -346,7 +346,7 @@ + return 0; + } + +-static int g726_close(AVCodecContext *avctx) ++static av_cold int g726_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + return 0; +@@ -387,7 +387,7 @@ + mask = (1<code_size) - 1; + init_get_bits(&gb, buf, buf_size * 8); + if (c->bits_left) { +- int s = c->code_size - c->bits_left;; ++ int s = c->code_size - c->bits_left; + code = (c->bit_buffer << s) | get_bits(&gb, s); + *samples++ = g726_decode(&c->c, code & mask); + } +Index: mythtv/libs/libavcodec/xan.c +=================================================================== +--- mythtv/libs/libavcodec/xan.c (revision 18209) ++++ mythtv/libs/libavcodec/xan.c (working copy) +@@ -54,7 +54,7 @@ + + } XanContext; + +-static int xan_decode_init(AVCodecContext *avctx) ++static av_cold int xan_decode_init(AVCodecContext *avctx) + { + XanContext *s = avctx->priv_data; + +@@ -447,7 +447,7 @@ + return buf_size; + } + +-static int xan_decode_end(AVCodecContext *avctx) ++static av_cold int xan_decode_end(AVCodecContext *avctx) + { + XanContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/eval.c +=================================================================== +--- mythtv/libs/libavcodec/eval.c (revision 18209) ++++ mythtv/libs/libavcodec/eval.c (working copy) +@@ -451,7 +451,7 @@ + "E", + 0 + }; +-main(){ ++main(void){ + int i; + printf("%f == 12.7\n", ff_eval("1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_values, const_names, NULL, NULL, NULL, NULL, NULL)); + printf("%f == 0.931322575\n", ff_eval("80G/80Gi", const_values, const_names, NULL, NULL, NULL, NULL, NULL)); +Index: mythtv/libs/libavcodec/truemotion2.c +=================================================================== +--- mythtv/libs/libavcodec/truemotion2.c (revision 18209) ++++ mythtv/libs/libavcodec/truemotion2.c (working copy) +@@ -818,7 +818,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + TM2Context * const l = avctx->priv_data; + int i; + +@@ -855,7 +855,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx){ ++static av_cold int decode_end(AVCodecContext *avctx){ + TM2Context * const l = avctx->priv_data; + int i; + +Index: mythtv/libs/libavcodec/dsputil.h +=================================================================== +--- mythtv/libs/libavcodec/dsputil.h (revision 18209) ++++ mythtv/libs/libavcodec/dsputil.h (working copy) +@@ -321,7 +321,7 @@ + void (*h264_h_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta); + // h264_loop_filter_strength: simd only. the C version is inlined in h264.c + void (*h264_loop_filter_strength)(int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], +- int bidir, int edges, int step, int mask_mv0, int mask_mv1); ++ int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field); + + void (*h263_v_loop_filter)(uint8_t *src, int stride, int qscale); + void (*h263_h_loop_filter)(uint8_t *src, int stride, int qscale); +Index: mythtv/libs/libavcodec/wmv2.c +=================================================================== +--- mythtv/libs/libavcodec/wmv2.c (revision 18209) ++++ mythtv/libs/libavcodec/wmv2.c (working copy) +@@ -58,7 +58,7 @@ + DECLARE_ALIGNED_8(DCTELEM, abt_block2[6][64]); + }Wmv2Context; + +-static void wmv2_common_init(Wmv2Context * w){ ++av_cold void wmv2_common_init(Wmv2Context * w){ + MpegEncContext * const s= &w->s; + + ff_init_scantable(s->dsp.idct_permutation, &w->abt_scantable[0], wmv2_scantableA); +Index: mythtv/libs/libavcodec/xsubdec.c +=================================================================== +--- mythtv/libs/libavcodec/xsubdec.c (revision 18209) ++++ mythtv/libs/libavcodec/xsubdec.c (working copy) +@@ -22,7 +22,7 @@ + #include "bitstream.h" + #include "bytestream.h" + +-static int decode_init(AVCodecContext *avctx) { ++static av_cold int decode_init(AVCodecContext *avctx) { + avctx->pix_fmt = PIX_FMT_PAL8; + return 0; + } +Index: mythtv/libs/libavcodec/lclenc.c +=================================================================== +--- mythtv/libs/libavcodec/lclenc.c (revision 18209) ++++ mythtv/libs/libavcodec/lclenc.c (working copy) +@@ -139,7 +139,7 @@ + * Init lcl encoder + * + */ +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + LclEncContext *c = avctx->priv_data; + int zret; // Zlib return code +@@ -207,7 +207,7 @@ + * Uninit lcl encoder + * + */ +-static int encode_end(AVCodecContext *avctx) ++static av_cold int encode_end(AVCodecContext *avctx) + { + LclEncContext *c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/imgresample.c +=================================================================== +--- mythtv/libs/libavcodec/imgresample.c (revision 18209) ++++ mythtv/libs/libavcodec/imgresample.c (working copy) +@@ -285,7 +285,7 @@ + } + #endif /* HAVE_MMX */ + +-/* slow version to handle limit cases. Does not need optimisation */ ++/* slow version to handle limit cases. Does not need optimization */ + static void h_resample_slow(uint8_t *dst, int dst_width, + const uint8_t *src, int src_width, + int src_start, int src_incr, int16_t *filters) +Index: mythtv/libs/libavcodec/rangecoder.c +=================================================================== +--- mythtv/libs/libavcodec/rangecoder.c (revision 18209) ++++ mythtv/libs/libavcodec/rangecoder.c (working copy) +@@ -109,9 +109,9 @@ + return c->bytestream - c->bytestream_start; + } + +-#if 0 //selftest ++#ifdef TEST + #define SIZE 10240 +-int main(){ ++int main(void){ + RangeCoder c; + uint8_t b[9*SIZE]; + uint8_t r[9*SIZE]; +@@ -148,4 +148,4 @@ + + return 0; + } +-#endif ++#endif /* TEST */ +Index: mythtv/libs/libavcodec/motion_est_template.c +=================================================================== +--- mythtv/libs/libavcodec/motion_est_template.c (revision 18209) ++++ mythtv/libs/libavcodec/motion_est_template.c (working copy) +@@ -1035,7 +1035,7 @@ + score_map[0]= dmin; + + //FIXME precalc first term below? +- if((s->pict_type == B_TYPE && !(c->flags & FLAG_DIRECT)) || s->flags&CODEC_FLAG_MV0) ++ if((s->pict_type == FF_B_TYPE && !(c->flags & FLAG_DIRECT)) || s->flags&CODEC_FLAG_MV0) + dmin += (mv_penalty[pred_x] + mv_penalty[pred_y])*penalty_factor; + + /* first line */ +Index: mythtv/libs/libavcodec/imgconvert_template.h +=================================================================== +--- mythtv/libs/libavcodec/imgconvert_template.h (revision 18209) ++++ mythtv/libs/libavcodec/imgconvert_template.h (working copy) +@@ -414,7 +414,7 @@ + } + } + +-// RGB24 has optimised routines ++// RGB24 has optimized routines + #if !defined(FMT_RGB32) && !defined(FMT_RGB24) + /* alpha support */ + +Index: mythtv/libs/libavcodec/ac3_parser.c +=================================================================== +--- mythtv/libs/libavcodec/ac3_parser.c (revision 18209) ++++ mythtv/libs/libavcodec/ac3_parser.c (working copy) +@@ -147,7 +147,7 @@ + return 0; + } + +-static int ac3_parse_init(AVCodecParserContext *s1) ++static av_cold int ac3_parse_init(AVCodecParserContext *s1) + { + AACAC3ParseContext *s = s1->priv_data; + s->inbuf_ptr = s->inbuf; +Index: mythtv/libs/libavcodec/libmp3lame.c +=================================================================== +--- mythtv/libs/libavcodec/libmp3lame.c (revision 18209) ++++ mythtv/libs/libavcodec/libmp3lame.c (working copy) +@@ -36,7 +36,7 @@ + int buffer_index; + } Mp3AudioContext; + +-static int MP3lame_encode_init(AVCodecContext *avctx) ++static av_cold int MP3lame_encode_init(AVCodecContext *avctx) + { + Mp3AudioContext *s = avctx->priv_data; + +@@ -197,7 +197,7 @@ + return 0; + } + +-static int MP3lame_encode_close(AVCodecContext *avctx) ++static av_cold int MP3lame_encode_close(AVCodecContext *avctx) + { + Mp3AudioContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/lcldec.c +=================================================================== +--- mythtv/libs/libavcodec/lcldec.c (revision 18209) ++++ mythtv/libs/libavcodec/lcldec.c (working copy) +@@ -514,7 +514,7 @@ + * Init lcl decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + LclDecContext * const c = avctx->priv_data; + unsigned int basesize = avctx->width * avctx->height; +@@ -673,7 +673,7 @@ + * Uninit lcl decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + LclDecContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/txd.c +=================================================================== +--- mythtv/libs/libavcodec/txd.c (revision 18209) ++++ mythtv/libs/libavcodec/txd.c (working copy) +@@ -28,7 +28,7 @@ + AVFrame picture; + } TXDContext; + +-static int txd_init(AVCodecContext *avctx) { ++static av_cold int txd_init(AVCodecContext *avctx) { + TXDContext *s = avctx->priv_data; + + avcodec_get_frame_defaults(&s->picture); +@@ -142,7 +142,7 @@ + return -1; + } + +-static int txd_end(AVCodecContext *avctx) { ++static av_cold int txd_end(AVCodecContext *avctx) { + TXDContext *s = avctx->priv_data; + + if (s->picture.data[0]) +Index: mythtv/libs/libavcodec/alac.c +=================================================================== +--- mythtv/libs/libavcodec/alac.c (revision 18209) ++++ mythtv/libs/libavcodec/alac.c (working copy) +@@ -325,15 +325,15 @@ + + #if 0 + /* 4 and 8 are very common cases (the only ones i've seen). these +- * should be unrolled and optimised ++ * should be unrolled and optimized + */ + if (predictor_coef_num == 4) { +- /* FIXME: optimised general case */ ++ /* FIXME: optimized general case */ + return; + } + + if (predictor_coef_table == 8) { +- /* FIXME: optimised general case */ ++ /* FIXME: optimized general case */ + return; + } + #endif +@@ -624,7 +624,7 @@ + return input_buffer_size; + } + +-static int alac_decode_init(AVCodecContext * avctx) ++static av_cold int alac_decode_init(AVCodecContext * avctx) + { + ALACContext *alac = avctx->priv_data; + alac->avctx = avctx; +@@ -637,7 +637,7 @@ + return 0; + } + +-static int alac_decode_close(AVCodecContext *avctx) ++static av_cold int alac_decode_close(AVCodecContext *avctx) + { + ALACContext *alac = avctx->priv_data; + +Index: mythtv/libs/libavcodec/dca_parser.c +=================================================================== +--- mythtv/libs/libavcodec/dca_parser.c (revision 18209) ++++ mythtv/libs/libavcodec/dca_parser.c (working copy) +@@ -84,7 +84,7 @@ + return END_NOT_FOUND; + } + +-static int dca_parse_init(AVCodecParserContext * s) ++static av_cold int dca_parse_init(AVCodecParserContext * s) + { + DCAParseContext *pc1 = s->priv_data; + +Index: mythtv/libs/libavcodec/ac3.c +=================================================================== +--- mythtv/libs/libavcodec/ac3.c (revision 18209) ++++ mythtv/libs/libavcodec/ac3.c (working copy) +@@ -223,7 +223,7 @@ + * note: This function must remain thread safe because it is called by the + * AVParser init code. + */ +-void ac3_common_init(void) ++av_cold void ac3_common_init(void) + { + int i, j, k, l, v; + /* compute bndtab and masktab from bandsz */ +Index: mythtv/libs/libavcodec/imc.c +=================================================================== +--- mythtv/libs/libavcodec/imc.c (revision 18209) ++++ mythtv/libs/libavcodec/imc.c (working copy) +@@ -89,7 +89,7 @@ + } IMCContext; + + +-static int imc_decode_init(AVCodecContext * avctx) ++static av_cold int imc_decode_init(AVCodecContext * avctx) + { + int i, j; + IMCContext *q = avctx->priv_data; +@@ -792,7 +792,7 @@ + } + + +-static int imc_decode_close(AVCodecContext * avctx) ++static av_cold int imc_decode_close(AVCodecContext * avctx) + { + IMCContext *q = avctx->priv_data; + +Index: mythtv/libs/libavcodec/4xm.c +=================================================================== +--- mythtv/libs/libavcodec/4xm.c (revision 18209) ++++ mythtv/libs/libavcodec/4xm.c (working copy) +@@ -235,7 +235,7 @@ + } + } + +-static void init_vlcs(FourXContext *f){ ++static av_cold void init_vlcs(FourXContext *f){ + int i; + + for(i=0; i<8; i++){ +@@ -796,7 +796,7 @@ + f->avctx= avctx; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + FourXContext * const f = avctx->priv_data; + + if(avctx->extradata_size != 4 || !avctx->extradata) { +@@ -815,7 +815,7 @@ + } + + +-static int decode_end(AVCodecContext *avctx){ ++static av_cold int decode_end(AVCodecContext *avctx){ + FourXContext * const f = avctx->priv_data; + int i; + +Index: mythtv/libs/libavcodec/avcodec.h +=================================================================== +--- mythtv/libs/libavcodec/avcodec.h (revision 18209) ++++ mythtv/libs/libavcodec/avcodec.h (working copy) +@@ -753,6 +753,7 @@ + #define FF_S_TYPE 4 // S(GMC)-VOP MPEG4 + #define FF_SI_TYPE 5 + #define FF_SP_TYPE 6 ++#define FF_BI_TYPE 7 + + #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore). + #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer. +Index: mythtv/libs/libavcodec/vp5.c +=================================================================== +--- mythtv/libs/libavcodec/vp5.c (revision 18209) ++++ mythtv/libs/libavcodec/vp5.c (working copy) +@@ -266,7 +266,7 @@ + memset(model->vector_pdv, 0x80, sizeof(model->vector_pdv)); + } + +-static int vp5_decode_init(AVCodecContext *avctx) ++static av_cold int vp5_decode_init(AVCodecContext *avctx) + { + vp56_context_t *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/imgconvert.c +=================================================================== +--- mythtv/libs/libavcodec/imgconvert.c (revision 18209) ++++ mythtv/libs/libavcodec/imgconvert.c (working copy) +@@ -1935,7 +1935,7 @@ + + - PIX_FMT_422 must convert to and from PIX_FMT_422P. + +- The other conversion functions are just optimisations for common cases. ++ The other conversion functions are just optimizations for common cases. + */ + static const ConvertEntry convert_table[PIX_FMT_NB][PIX_FMT_NB] = { + [PIX_FMT_YUV420P] = { +Index: mythtv/libs/libavcodec/liba52.c +=================================================================== +--- mythtv/libs/libavcodec/liba52.c (revision 18209) ++++ mythtv/libs/libavcodec/liba52.c (working copy) +@@ -80,7 +80,7 @@ + } + #endif + +-static int a52_decode_init(AVCodecContext *avctx) ++static av_cold int a52_decode_init(AVCodecContext *avctx) + { + AC3DecodeState *s = avctx->priv_data; + +@@ -415,7 +415,7 @@ + return buf_ptr - buf; + } + +-static int a52_decode_end(AVCodecContext *avctx) ++static av_cold int a52_decode_end(AVCodecContext *avctx) + { + AC3DecodeState *s = avctx->priv_data; + s->a52_free(s->state); +Index: mythtv/libs/libavcodec/vc1.c +=================================================================== +--- mythtv/libs/libavcodec/vc1.c (revision 18209) ++++ mythtv/libs/libavcodec/vc1.c (working copy) +@@ -407,7 +407,7 @@ + my = s->mv[dir][0][1]; + + // store motion vectors for further use in B frames +- if(s->pict_type == P_TYPE) { ++ if(s->pict_type == FF_P_TYPE) { + s->current_picture.motion_val[1][s->block_index[0]][0] = mx; + s->current_picture.motion_val[1][s->block_index[0]][1] = my; + } +@@ -1041,26 +1041,26 @@ + v->s.pict_type = get_bits1(gb); + if (v->s.avctx->max_b_frames) { + if (!v->s.pict_type) { +- if (get_bits1(gb)) v->s.pict_type = I_TYPE; +- else v->s.pict_type = B_TYPE; +- } else v->s.pict_type = P_TYPE; +- } else v->s.pict_type = v->s.pict_type ? P_TYPE : I_TYPE; ++ if (get_bits1(gb)) v->s.pict_type = FF_I_TYPE; ++ else v->s.pict_type = FF_B_TYPE; ++ } else v->s.pict_type = FF_P_TYPE; ++ } else v->s.pict_type = v->s.pict_type ? FF_P_TYPE : FF_I_TYPE; + + v->bi_type = 0; +- if(v->s.pict_type == B_TYPE) { ++ if(v->s.pict_type == FF_B_TYPE) { + v->bfraction = get_vlc2(gb, ff_vc1_bfraction_vlc.table, VC1_BFRACTION_VLC_BITS, 1); + v->bfraction = ff_vc1_bfraction_lut[v->bfraction]; + if(v->bfraction == 0) { +- v->s.pict_type = BI_TYPE; ++ v->s.pict_type = FF_BI_TYPE; + } + } +- if(v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) ++ if(v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE) + skip_bits(gb, 7); // skip buffer fullness + + /* calculate RND */ +- if(v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) ++ if(v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE) + v->rnd = 1; +- if(v->s.pict_type == P_TYPE) ++ if(v->s.pict_type == FF_P_TYPE) + v->rnd ^= 1; + + /* Quantizer stuff */ +@@ -1091,18 +1091,18 @@ + if (v->postprocflag) v->postproc = get_bits1(gb); + } + else +- if (v->multires && v->s.pict_type != B_TYPE) v->respic = get_bits(gb, 2); ++ if (v->multires && v->s.pict_type != FF_B_TYPE) v->respic = get_bits(gb, 2); + +- if(v->res_x8 && (v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE)){ ++ if(v->res_x8 && (v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE)){ + v->x8_type = get_bits1(gb); + }else v->x8_type = 0; + //av_log(v->s.avctx, AV_LOG_INFO, "%c Frame: QP=[%i]%i (+%i/2) %i\n", +-// (v->s.pict_type == P_TYPE) ? 'P' : ((v->s.pict_type == I_TYPE) ? 'I' : 'B'), pqindex, v->pq, v->halfpq, v->rangeredfrm); ++// (v->s.pict_type == FF_P_TYPE) ? 'P' : ((v->s.pict_type == FF_I_TYPE) ? 'I' : 'B'), pqindex, v->pq, v->halfpq, v->rangeredfrm); + +- if(v->s.pict_type == I_TYPE || v->s.pict_type == P_TYPE) v->use_ic = 0; ++ if(v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_P_TYPE) v->use_ic = 0; + + switch(v->s.pict_type) { +- case P_TYPE: ++ case FF_P_TYPE: + if (v->pq < 5) v->tt_index = 0; + else if(v->pq < 13) v->tt_index = 1; + else v->tt_index = 2; +@@ -1185,7 +1185,7 @@ + v->ttfrm = TT_8X8; + } + break; +- case B_TYPE: ++ case FF_B_TYPE: + if (v->pq < 5) v->tt_index = 0; + else if(v->pq < 13) v->tt_index = 1; + else v->tt_index = 2; +@@ -1232,7 +1232,7 @@ + { + /* AC Syntax */ + v->c_ac_table_index = decode012(gb); +- if (v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) ++ if (v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE) + { + v->y_ac_table_index = decode012(gb); + } +@@ -1240,8 +1240,8 @@ + v->s.dc_table_index = get_bits1(gb); + } + +- if(v->s.pict_type == BI_TYPE) { +- v->s.pict_type = B_TYPE; ++ if(v->s.pict_type == FF_BI_TYPE) { ++ v->s.pict_type = FF_B_TYPE; + v->bi_type = 1; + } + return 0; +@@ -1260,19 +1260,19 @@ + } + switch(get_unary(gb, 0, 4)) { + case 0: +- v->s.pict_type = P_TYPE; ++ v->s.pict_type = FF_P_TYPE; + break; + case 1: +- v->s.pict_type = B_TYPE; ++ v->s.pict_type = FF_B_TYPE; + break; + case 2: +- v->s.pict_type = I_TYPE; ++ v->s.pict_type = FF_I_TYPE; + break; + case 3: +- v->s.pict_type = BI_TYPE; ++ v->s.pict_type = FF_BI_TYPE; + break; + case 4: +- v->s.pict_type = P_TYPE; // skipped pic ++ v->s.pict_type = FF_P_TYPE; // skipped pic + v->p_frame_skipped = 1; + return 0; + } +@@ -1293,11 +1293,11 @@ + if(v->interlace) + v->uvsamp = get_bits1(gb); + if(v->finterpflag) v->interpfrm = get_bits1(gb); +- if(v->s.pict_type == B_TYPE) { ++ if(v->s.pict_type == FF_B_TYPE) { + v->bfraction = get_vlc2(gb, ff_vc1_bfraction_vlc.table, VC1_BFRACTION_VLC_BITS, 1); + v->bfraction = ff_vc1_bfraction_lut[v->bfraction]; + if(v->bfraction == 0) { +- v->s.pict_type = BI_TYPE; /* XXX: should not happen here */ ++ v->s.pict_type = FF_BI_TYPE; /* XXX: should not happen here */ + } + } + pqindex = get_bits(gb, 5); +@@ -1318,11 +1318,11 @@ + if (v->quantizer_mode == QUANT_FRAME_EXPLICIT) + v->pquantizer = get_bits1(gb); + +- if(v->s.pict_type == I_TYPE || v->s.pict_type == P_TYPE) v->use_ic = 0; ++ if(v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_P_TYPE) v->use_ic = 0; + + switch(v->s.pict_type) { +- case I_TYPE: +- case BI_TYPE: ++ case FF_I_TYPE: ++ case FF_BI_TYPE: + status = bitplane_decoding(v->acpred_plane, &v->acpred_is_raw, v); + if (status < 0) return -1; + av_log(v->s.avctx, AV_LOG_DEBUG, "ACPRED plane encoding: " +@@ -1338,7 +1338,7 @@ + } + } + break; +- case P_TYPE: ++ case FF_P_TYPE: + if(v->postprocflag) + v->postproc = get_bits1(gb); + if (v->extended_mv) v->mvrange = get_unary(gb, 0, 3); +@@ -1429,7 +1429,7 @@ + v->ttfrm = TT_8X8; + } + break; +- case B_TYPE: ++ case FF_B_TYPE: + if(v->postprocflag) + v->postproc = get_bits1(gb); + if (v->extended_mv) v->mvrange = get_unary(gb, 0, 3); +@@ -1483,20 +1483,20 @@ + + /* AC Syntax */ + v->c_ac_table_index = decode012(gb); +- if (v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) ++ if (v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE) + { + v->y_ac_table_index = decode012(gb); + } + /* DC Syntax */ + v->s.dc_table_index = get_bits1(gb); +- if ((v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) && v->dquant) { ++ if ((v->s.pict_type == FF_I_TYPE || v->s.pict_type == FF_BI_TYPE) && v->dquant) { + av_log(v->s.avctx, AV_LOG_DEBUG, "VOP DQuant info\n"); + vop_dquant_decoding(v); + } + + v->bi_type = 0; +- if(v->s.pict_type == BI_TYPE) { +- v->s.pict_type = B_TYPE; ++ if(v->s.pict_type == FF_BI_TYPE) { ++ v->s.pict_type = FF_B_TYPE; + v->bi_type = 1; + } + return 0; +@@ -3017,7 +3017,7 @@ + offset_table[6] = { 0, 1, 3, 7, 15, 31 }; + int mb_has_coeffs = 1; /* last_flag */ + int dmv_x, dmv_y; /* Differential MV components */ +- int index, index1; /* LUT indices */ ++ int index, index1; /* LUT indexes */ + int val, sign; /* temp values */ + int first_block = 1; + int dst_idx, off; +@@ -3250,7 +3250,7 @@ + static const int size_table[6] = { 0, 2, 3, 4, 5, 8 }, + offset_table[6] = { 0, 1, 3, 7, 15, 31 }; + int mb_has_coeffs = 0; /* last_flag */ +- int index, index1; /* LUT indices */ ++ int index, index1; /* LUT indexes */ + int val, sign; /* temp values */ + int first_block = 1; + int dst_idx, off; +@@ -3742,7 +3742,7 @@ + ff_draw_horiz_band(s, s->mb_y * 16, 16); + s->first_slice_line = 0; + } +- s->pict_type = P_TYPE; ++ s->pict_type = FF_P_TYPE; + } + + static void vc1_decode_blocks(VC1Context *v) +@@ -3754,19 +3754,19 @@ + }else{ + + switch(v->s.pict_type) { +- case I_TYPE: ++ case FF_I_TYPE: + if(v->profile == PROFILE_ADVANCED) + vc1_decode_i_blocks_adv(v); + else + vc1_decode_i_blocks(v); + break; +- case P_TYPE: ++ case FF_P_TYPE: + if(v->p_frame_skipped) + vc1_decode_skip_blocks(v); + else + vc1_decode_p_blocks(v); + break; +- case B_TYPE: ++ case FF_B_TYPE: + if(v->bi_type){ + if(v->profile == PROFILE_ADVANCED) + vc1_decode_i_blocks_adv(v); +@@ -3818,7 +3818,7 @@ + * @todo TODO: Handle VC-1 IDUs (Transport level?) + * @todo TODO: Decypher remaining bits in extra_data + */ +-static int vc1_decode_init(AVCodecContext *avctx) ++static av_cold int vc1_decode_init(AVCodecContext *avctx) + { + VC1Context *v = avctx->priv_data; + MpegEncContext *s = &v->s; +@@ -4034,24 +4034,24 @@ + } + } + +- if(s->pict_type != I_TYPE && !v->res_rtm_flag){ ++ if(s->pict_type != FF_I_TYPE && !v->res_rtm_flag){ + av_free(buf2); + return -1; + } + + // for hurry_up==5 + s->current_picture.pict_type= s->pict_type; +- s->current_picture.key_frame= s->pict_type == I_TYPE; ++ s->current_picture.key_frame= s->pict_type == FF_I_TYPE; + + /* skip B-frames if we don't have reference frames */ +- if(s->last_picture_ptr==NULL && (s->pict_type==B_TYPE || s->dropable)){ ++ if(s->last_picture_ptr==NULL && (s->pict_type==FF_B_TYPE || s->dropable)){ + av_free(buf2); + return -1;//buf_size; + } + /* skip b frames if we are in a hurry */ +- if(avctx->hurry_up && s->pict_type==B_TYPE) return -1;//buf_size; +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE) +- || (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE) ++ if(avctx->hurry_up && s->pict_type==FF_B_TYPE) return -1;//buf_size; ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==FF_B_TYPE) ++ || (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) { + av_free(buf2); + return buf_size; +@@ -4063,7 +4063,7 @@ + } + + if(s->next_p_frame_damaged){ +- if(s->pict_type==B_TYPE) ++ if(s->pict_type==FF_B_TYPE) + return buf_size; + else + s->next_p_frame_damaged=0; +@@ -4090,7 +4090,7 @@ + + assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type); + assert(s->current_picture.pict_type == s->pict_type); +- if (s->pict_type == B_TYPE || s->low_delay) { ++ if (s->pict_type == FF_B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; +@@ -4102,7 +4102,7 @@ + } + + /* Return the Picture timestamp as the frame number */ +- /* we substract 1 because it is added on utils.c */ ++ /* we subtract 1 because it is added on utils.c */ + avctx->frame_number = s->picture_number - 1; + + av_free(buf2); +@@ -4113,7 +4113,7 @@ + /** Close a VC1/WMV3 decoder + * @warning Initial try at using MpegEncContext stuff + */ +-static int vc1_decode_end(AVCodecContext *avctx) ++static av_cold int vc1_decode_end(AVCodecContext *avctx) + { + VC1Context *v = avctx->priv_data; + +Index: mythtv/libs/libavcodec/vorbis_enc.c +=================================================================== +--- mythtv/libs/libavcodec/vorbis_enc.c (revision 18209) ++++ mythtv/libs/libavcodec/vorbis_enc.c (working copy) +@@ -932,7 +932,7 @@ + return 1; + } + +-static int vorbis_encode_init(AVCodecContext * avccontext) ++static av_cold int vorbis_encode_init(AVCodecContext * avccontext) + { + venc_context_t * venc = avccontext->priv_data; + +@@ -1015,7 +1015,7 @@ + } + + +-static int vorbis_encode_close(AVCodecContext * avccontext) ++static av_cold int vorbis_encode_close(AVCodecContext * avccontext) + { + venc_context_t * venc = avccontext->priv_data; + int i; +Index: mythtv/libs/libavcodec/bitstream.c +=================================================================== +--- mythtv/libs/libavcodec/bitstream.c (revision 18209) ++++ mythtv/libs/libavcodec/bitstream.c (working copy) +@@ -109,6 +109,8 @@ + index = vlc->table_size; + vlc->table_size += size; + if (vlc->table_size > vlc->table_allocated) { ++ if(use_static>1) ++ abort(); //cant do anything, init_vlc() is used with too little memory + vlc->table_allocated += (1 << vlc->bits); + if(use_static) + vlc->table = ff_realloc_static(vlc->table, +@@ -134,7 +136,7 @@ + VLC_TYPE (*table)[2]; + + table_size = 1 << table_nb_bits; +- table_index = alloc_table(vlc, table_size, flags & INIT_VLC_USE_STATIC); ++ table_index = alloc_table(vlc, table_size, flags & (INIT_VLC_USE_STATIC|INIT_VLC_USE_NEW_STATIC)); + #ifdef DEBUG_VLC + av_log(NULL,AV_LOG_DEBUG,"new table index=%d size=%d code_prefix=%x n=%d\n", + table_index, table_size, code_prefix, n_prefix); +@@ -263,7 +265,13 @@ + int flags) + { + vlc->bits = nb_bits; +- if(!(flags & INIT_VLC_USE_STATIC)) { ++ if(flags & INIT_VLC_USE_NEW_STATIC){ ++ if(vlc->table_size && vlc->table_size == vlc->table_allocated){ ++ return 0; ++ }else if(vlc->table_size){ ++ abort(); // fatal error, we are called on a partially initialized table ++ } ++ }else if(!(flags & INIT_VLC_USE_STATIC)) { + vlc->table = NULL; + vlc->table_allocated = 0; + vlc->table_size = 0; +@@ -286,6 +294,8 @@ + av_freep(&vlc->table); + return -1; + } ++ if((flags & INIT_VLC_USE_NEW_STATIC) && vlc->table_size != vlc->table_allocated) ++ av_log(NULL, AV_LOG_ERROR, "needed %d had %d\n", vlc->table_size, vlc->table_allocated); + return 0; + } + +Index: mythtv/libs/libavcodec/cook.c +=================================================================== +--- mythtv/libs/libavcodec/cook.c (revision 18209) ++++ mythtv/libs/libavcodec/cook.c (working copy) +@@ -359,7 +359,7 @@ + * Fill the gain array for the timedomain quantization. + * + * @param q pointer to the COOKContext +- * @param gaininfo[9] array of gain indices ++ * @param gaininfo[9] array of gain indexes + */ + + static void decode_gain_info(GetBitContext *gb, int *gaininfo) +Index: mythtv/libs/libavcodec/wnv1.c +=================================================================== +--- mythtv/libs/libavcodec/wnv1.c (revision 18209) ++++ mythtv/libs/libavcodec/wnv1.c (working copy) +@@ -116,7 +116,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + WNV1Context * const l = avctx->priv_data; + + l->avctx = avctx; +Index: mythtv/libs/libavcodec/vc1.h +=================================================================== +--- mythtv/libs/libavcodec/vc1.h (revision 18209) ++++ mythtv/libs/libavcodec/vc1.h (working copy) +@@ -127,9 +127,6 @@ + }; + //@} + +-/** One more frame type */ +-#define BI_TYPE 7 +- + enum CodingSet { + CS_HIGH_MOT_INTRA = 0, + CS_HIGH_MOT_INTER, +Index: mythtv/libs/libavcodec/bitstream.h +=================================================================== +--- mythtv/libs/libavcodec/bitstream.h (revision 18209) ++++ mythtv/libs/libavcodec/bitstream.h (working copy) +@@ -800,10 +800,20 @@ + const void *codes, int codes_wrap, int codes_size, + const void *symbols, int symbols_wrap, int symbols_size, + int flags); +-#define INIT_VLC_USE_STATIC 1 ++#define INIT_VLC_USE_STATIC 1 ///< VERY strongly deprecated and forbidden + #define INIT_VLC_LE 2 ++#define INIT_VLC_USE_NEW_STATIC 4 + void free_vlc(VLC *vlc); + ++#define INIT_VLC_STATIC(vlc, bits, a,b,c,d,e,f,g, static_size)\ ++{\ ++ static VLC_TYPE table[static_size][2];\ ++ (vlc)->table= table;\ ++ (vlc)->table_allocated= static_size;\ ++ init_vlc(vlc, bits, a,b,c,d,e,f,g, INIT_VLC_USE_NEW_STATIC);\ ++} ++ ++ + /** + * + * if the vlc code is invalid and max_depth=1 than no bits will be removed +Index: mythtv/libs/libavcodec/dsicinav.c +=================================================================== +--- mythtv/libs/libavcodec/dsicinav.c (revision 18209) ++++ mythtv/libs/libavcodec/dsicinav.c (working copy) +@@ -86,7 +86,7 @@ + }; + + +-static int cinvideo_decode_init(AVCodecContext *avctx) ++static av_cold int cinvideo_decode_init(AVCodecContext *avctx) + { + CinVideoContext *cin = avctx->priv_data; + unsigned int i; +@@ -284,7 +284,7 @@ + return buf_size; + } + +-static int cinvideo_decode_end(AVCodecContext *avctx) ++static av_cold int cinvideo_decode_end(AVCodecContext *avctx) + { + CinVideoContext *cin = avctx->priv_data; + int i; +@@ -298,7 +298,7 @@ + return 0; + } + +-static int cinaudio_decode_init(AVCodecContext *avctx) ++static av_cold int cinaudio_decode_init(AVCodecContext *avctx) + { + CinAudioContext *cin = avctx->priv_data; + +Index: mythtv/libs/libavcodec/qdm2.c +=================================================================== +--- mythtv/libs/libavcodec/qdm2.c (revision 18209) ++++ mythtv/libs/libavcodec/qdm2.c (working copy) +@@ -1431,7 +1431,7 @@ + if (q->sub_packet_list_B[0].packet == NULL) + return; + +- /* reset minimum indices for FFT coefficients */ ++ /* reset minimum indexes for FFT coefficients */ + q->fft_coefs_index = 0; + for (i=0; i < 5; i++) + q->fft_coefs_min_index[i] = -1; +@@ -1481,7 +1481,7 @@ + } + } // Loop on B packets + +- /* calculate maximum indices for FFT coefficients */ ++ /* calculate maximum indexes for FFT coefficients */ + for (i = 0, j = -1; i < 5; i++) + if (q->fft_coefs_min_index[i] >= 0) { + if (j >= 0) +Index: mythtv/libs/libavcodec/vorbis_dec.c +=================================================================== +--- mythtv/libs/libavcodec/vorbis_dec.c (revision 18209) ++++ mythtv/libs/libavcodec/vorbis_dec.c (working copy) +@@ -923,7 +923,7 @@ + + // Process the extradata using the functions above (identification header, setup header) + +-static int vorbis_decode_init(AVCodecContext *avccontext) { ++static av_cold int vorbis_decode_init(AVCodecContext *avccontext) { + vorbis_context *vc = avccontext->priv_data ; + uint8_t *headers = avccontext->extradata; + int headers_len=avccontext->extradata_size; +@@ -1617,7 +1617,7 @@ + + // Close decoder + +-static int vorbis_decode_close(AVCodecContext *avccontext) { ++static av_cold int vorbis_decode_close(AVCodecContext *avccontext) { + vorbis_context *vc = avccontext->priv_data; + + vorbis_free(vc); +Index: mythtv/libs/libavcodec/libfaac.c +=================================================================== +--- mythtv/libs/libavcodec/libfaac.c (revision 18209) ++++ mythtv/libs/libavcodec/libfaac.c (working copy) +@@ -31,7 +31,7 @@ + faacEncHandle faac_handle; + } FaacAudioContext; + +-static int Faac_encode_init(AVCodecContext *avctx) ++static av_cold int Faac_encode_init(AVCodecContext *avctx) + { + FaacAudioContext *s = avctx->priv_data; + faacEncConfigurationPtr faac_cfg; +@@ -132,7 +132,7 @@ + return bytes_written; + } + +-static int Faac_encode_close(AVCodecContext *avctx) ++static av_cold int Faac_encode_close(AVCodecContext *avctx) + { + FaacAudioContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/cyuv.c +=================================================================== +--- mythtv/libs/libavcodec/cyuv.c (revision 18209) ++++ mythtv/libs/libavcodec/cyuv.c (working copy) +@@ -44,7 +44,7 @@ + AVFrame frame; + } CyuvDecodeContext; + +-static int cyuv_decode_init(AVCodecContext *avctx) ++static av_cold int cyuv_decode_init(AVCodecContext *avctx) + { + CyuvDecodeContext *s = avctx->priv_data; + +@@ -164,7 +164,7 @@ + return buf_size; + } + +-static int cyuv_decode_end(AVCodecContext *avctx) ++static av_cold int cyuv_decode_end(AVCodecContext *avctx) + { + /* CyuvDecodeContext *s = avctx->priv_data;*/ + +Index: mythtv/libs/libavcodec/loco.c +=================================================================== +--- mythtv/libs/libavcodec/loco.c (revision 18209) ++++ mythtv/libs/libavcodec/loco.c (working copy) +@@ -225,7 +225,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx){ ++static av_cold int decode_init(AVCodecContext *avctx){ + LOCOContext * const l = avctx->priv_data; + int version; + +Index: mythtv/libs/libavcodec/huffyuv.c +=================================================================== +--- mythtv/libs/libavcodec/huffyuv.c (revision 18209) ++++ mythtv/libs/libavcodec/huffyuv.c (working copy) +@@ -478,7 +478,7 @@ + } + + #ifdef CONFIG_DECODERS +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + HYuvContext *s = avctx->priv_data; + +@@ -599,7 +599,7 @@ + return index; + } + +-static int encode_init(AVCodecContext *avctx) ++static av_cold int encode_init(AVCodecContext *avctx) + { + HYuvContext *s = avctx->priv_data; + int i, j; +@@ -1210,7 +1210,7 @@ + } + + #ifdef CONFIG_DECODERS +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + HYuvContext *s = avctx->priv_data; + int i; +@@ -1420,7 +1420,7 @@ + return size*4; + } + +-static int encode_end(AVCodecContext *avctx) ++static av_cold int encode_end(AVCodecContext *avctx) + { + HYuvContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/svq3.c +=================================================================== +--- mythtv/libs/libavcodec/svq3.c (revision 18209) ++++ mythtv/libs/libavcodec/svq3.c (working copy) +@@ -419,10 +419,10 @@ + h->topright_samples_available = 0xFFFF; + + if (mb_type == 0) { /* SKIP */ +- if (s->pict_type == P_TYPE || s->next_picture.mb_type[mb_xy] == -1) { ++ if (s->pict_type == FF_P_TYPE || s->next_picture.mb_type[mb_xy] == -1) { + svq3_mc_dir_part (s, 16*s->mb_x, 16*s->mb_y, 16, 16, 0, 0, 0, 0, 0, 0); + +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + svq3_mc_dir_part (s, 16*s->mb_x, 16*s->mb_y, 16, 16, 0, 0, 0, 0, 1, 1); + } + +@@ -483,15 +483,15 @@ + }else + memset (&h->ref_cache[m][scan8[0] - 1*8 - 1], PART_NOT_AVAILABLE, 8); + +- if (s->pict_type != B_TYPE) ++ if (s->pict_type != FF_B_TYPE) + break; + } + + /* decode motion vector(s) and form prediction(s) */ +- if (s->pict_type == P_TYPE) { ++ if (s->pict_type == FF_P_TYPE) { + if(svq3_mc_dir (h, (mb_type - 1), mode, 0, 0) < 0) + return -1; +- } else { /* B_TYPE */ ++ } else { /* FF_B_TYPE */ + if (mb_type != 2) { + if(svq3_mc_dir (h, 0, mode, 0, 0) < 0) + return -1; +@@ -590,11 +590,11 @@ + mb_type = MB_TYPE_INTRA16x16; + } + +- if (!IS_INTER(mb_type) && s->pict_type != I_TYPE) { ++ if (!IS_INTER(mb_type) && s->pict_type != FF_I_TYPE) { + for (i=0; i < 4; i++) { + memset (s->current_picture.motion_val[0][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); + } +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + for (i=0; i < 4; i++) { + memset (s->current_picture.motion_val[1][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); + } +@@ -603,12 +603,12 @@ + if (!IS_INTRA4x4(mb_type)) { + memset (h->intra4x4_pred_mode[mb_xy], DC_PRED, 8); + } +- if (!IS_SKIP(mb_type) || s->pict_type == B_TYPE) { ++ if (!IS_SKIP(mb_type) || s->pict_type == FF_B_TYPE) { + memset (h->non_zero_count_cache + 8, 0, 4*9*sizeof(uint8_t)); + s->dsp.clear_blocks(h->mb); + } + +- if (!IS_INTRA16x16(mb_type) && (!IS_SKIP(mb_type) || s->pict_type == B_TYPE)) { ++ if (!IS_INTRA16x16(mb_type) && (!IS_SKIP(mb_type) || s->pict_type == FF_B_TYPE)) { + if ((vlc = svq3_get_ue_golomb (&s->gb)) >= 48){ + av_log(h->s.avctx, AV_LOG_ERROR, "cbp_vlc=%d\n", vlc); + return -1; +@@ -616,7 +616,7 @@ + + cbp = IS_INTRA(mb_type) ? golomb_to_intra4x4_cbp[vlc] : golomb_to_inter_cbp[vlc]; + } +- if (IS_INTRA16x16(mb_type) || (s->pict_type != I_TYPE && s->adaptive_quant && cbp)) { ++ if (IS_INTRA16x16(mb_type) || (s->pict_type != FF_I_TYPE && s->adaptive_quant && cbp)) { + s->qscale += svq3_get_se_golomb (&s->gb); + + if (s->qscale > 31){ +@@ -760,7 +760,7 @@ + + static int svq3_decode_frame (AVCodecContext *avctx, + void *data, int *data_size, +- uint8_t *buf, int buf_size) { ++ const uint8_t *buf, int buf_size) { + MpegEncContext *const s = avctx->priv_data; + H264Context *const h = avctx->priv_data; + int m, mb_type; +@@ -859,21 +859,21 @@ + + /* for hurry_up==5 */ + s->current_picture.pict_type = s->pict_type; +- s->current_picture.key_frame = (s->pict_type == I_TYPE); ++ s->current_picture.key_frame = (s->pict_type == FF_I_TYPE); + + /* Skip B-frames if we do not have reference frames. */ +- if (s->last_picture_ptr == NULL && s->pict_type == B_TYPE) return 0; ++ if (s->last_picture_ptr == NULL && s->pict_type == FF_B_TYPE) return 0; + /* Skip B-frames if we are in a hurry. */ +- if (avctx->hurry_up && s->pict_type == B_TYPE) return 0; ++ if (avctx->hurry_up && s->pict_type == FF_B_TYPE) return 0; + /* Skip everything if we are in a hurry >= 5. */ + if (avctx->hurry_up >= 5) return 0; +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE) +- ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE) ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==FF_B_TYPE) ++ ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) + return 0; + + if (s->next_p_frame_damaged) { +- if (s->pict_type == B_TYPE) ++ if (s->pict_type == FF_B_TYPE) + return 0; + else + s->next_p_frame_damaged = 0; +@@ -882,7 +882,7 @@ + if (frame_start (h) < 0) + return -1; + +- if (s->pict_type == B_TYPE) { ++ if (s->pict_type == FF_B_TYPE) { + h->frame_num_offset = (h->slice_num - h->prev_frame_num); + + if (h->frame_num_offset < 0) { +@@ -930,9 +930,9 @@ + + mb_type = svq3_get_ue_golomb (&s->gb); + +- if (s->pict_type == I_TYPE) { ++ if (s->pict_type == FF_I_TYPE) { + mb_type += 8; +- } else if (s->pict_type == B_TYPE && mb_type >= 4) { ++ } else if (s->pict_type == FF_B_TYPE && mb_type >= 4) { + mb_type += 4; + } + if (mb_type > 33 || svq3_decode_mb (h, mb_type)) { +@@ -944,9 +944,9 @@ + hl_decode_mb (h); + } + +- if (s->pict_type != B_TYPE && !s->low_delay) { ++ if (s->pict_type != FF_B_TYPE && !s->low_delay) { + s->current_picture.mb_type[s->mb_x + s->mb_y*s->mb_stride] = +- (s->pict_type == P_TYPE && mb_type < 8) ? (mb_type - 1) : -1; ++ (s->pict_type == FF_P_TYPE && mb_type < 8) ? (mb_type - 1) : -1; + } + } + +@@ -955,7 +955,7 @@ + + MPV_frame_end(s); + +- if (s->pict_type == B_TYPE || s->low_delay) { ++ if (s->pict_type == FF_B_TYPE || s->low_delay) { + *(AVFrame *) data = *(AVFrame *) &s->current_picture; + } else { + *(AVFrame *) data = *(AVFrame *) &s->last_picture; +Index: mythtv/libs/libavcodec/tscc.c +=================================================================== +--- mythtv/libs/libavcodec/tscc.c (revision 18209) ++++ mythtv/libs/libavcodec/tscc.c (working copy) +@@ -253,7 +253,7 @@ + * Init tscc decoder + * + */ +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + CamtasiaContext * const c = avctx->priv_data; + int zret; // Zlib return code +@@ -316,7 +316,7 @@ + * Uninit tscc decoder + * + */ +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + CamtasiaContext * const c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/targa.c +=================================================================== +--- mythtv/libs/libavcodec/targa.c (revision 18209) ++++ mythtv/libs/libavcodec/targa.c (working copy) +@@ -220,7 +220,7 @@ + return buf_size; + } + +-static int targa_init(AVCodecContext *avctx){ ++static av_cold int targa_init(AVCodecContext *avctx){ + TargaContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +@@ -230,7 +230,7 @@ + return 0; + } + +-static int targa_end(AVCodecContext *avctx){ ++static av_cold int targa_end(AVCodecContext *avctx){ + TargaContext *s = avctx->priv_data; + + if(s->picture.data[0]) +Index: mythtv/libs/libavcodec/gif.c +=================================================================== +--- mythtv/libs/libavcodec/gif.c (revision 18209) ++++ mythtv/libs/libavcodec/gif.c (working copy) +@@ -308,7 +308,7 @@ + AVFrame picture; + } GIFContext; + +-static int gif_encode_init(AVCodecContext *avctx) ++static av_cold int gif_encode_init(AVCodecContext *avctx) + { + GIFContext *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/vb.c +=================================================================== +--- mythtv/libs/libavcodec/vb.c (revision 18209) ++++ mythtv/libs/libavcodec/vb.c (working copy) +@@ -234,7 +234,7 @@ + return buf_size; + } + +-static int decode_init(AVCodecContext *avctx) ++static av_cold int decode_init(AVCodecContext *avctx) + { + VBDecContext * const c = avctx->priv_data; + +@@ -257,7 +257,7 @@ + return 0; + } + +-static int decode_end(AVCodecContext *avctx) ++static av_cold int decode_end(AVCodecContext *avctx) + { + VBDecContext *c = avctx->priv_data; + +Index: mythtv/libs/libavcodec/vp6.c +=================================================================== +--- mythtv/libs/libavcodec/vp6.c (revision 18209) ++++ mythtv/libs/libavcodec/vp6.c (working copy) +@@ -610,7 +610,7 @@ + } + } + +-static int vp6_decode_init(AVCodecContext *avctx) ++static av_cold int vp6_decode_init(AVCodecContext *avctx) + { + vp56_context_t *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/pcm.c +=================================================================== +--- mythtv/libs/libavcodec/pcm.c (revision 18209) ++++ mythtv/libs/libavcodec/pcm.c (working copy) +@@ -42,7 +42,7 @@ + * alaw2linear() - Convert an A-law value to 16-bit linear PCM + * + */ +-static int alaw2linear(unsigned char a_val) ++static av_cold int alaw2linear(unsigned char a_val) + { + int t; + int seg; +@@ -57,7 +57,7 @@ + return ((a_val & SIGN_BIT) ? t : -t); + } + +-static int ulaw2linear(unsigned char u_val) ++static av_cold int ulaw2linear(unsigned char u_val) + { + int t; + +@@ -78,7 +78,7 @@ + static uint8_t linear_to_alaw[16384]; + static uint8_t linear_to_ulaw[16384]; + +-static void build_xlaw_table(uint8_t *linear_to_xlaw, ++static av_cold void build_xlaw_table(uint8_t *linear_to_xlaw, + int (*xlaw2linear)(unsigned char), + int mask) + { +@@ -102,7 +102,7 @@ + linear_to_xlaw[0] = linear_to_xlaw[1]; + } + +-static int pcm_encode_init(AVCodecContext *avctx) ++static av_cold int pcm_encode_init(AVCodecContext *avctx) + { + avctx->frame_size = 1; + switch(avctx->codec->id) { +@@ -152,7 +152,7 @@ + return 0; + } + +-static int pcm_encode_close(AVCodecContext *avctx) ++static av_cold int pcm_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + +@@ -323,7 +323,7 @@ + short table[256]; + } PCMDecode; + +-static int pcm_decode_init(AVCodecContext * avctx) ++static av_cold int pcm_decode_init(AVCodecContext * avctx) + { + PCMDecode *s = avctx->priv_data; + int i; +Index: mythtv/libs/libavcodec/pnmenc.c +=================================================================== +--- mythtv/libs/libavcodec/pnmenc.c (revision 18209) ++++ mythtv/libs/libavcodec/pnmenc.c (working copy) +@@ -23,7 +23,7 @@ + #include "pnm.h" + + +-static int common_init(AVCodecContext *avctx){ ++static av_cold int common_init(AVCodecContext *avctx){ + PNMContext *s = avctx->priv_data; + + avcodec_get_frame_defaults((AVFrame*)&s->picture); +Index: mythtv/libs/libavcodec/gifdec.c +=================================================================== +--- mythtv/libs/libavcodec/gifdec.c (revision 18209) ++++ mythtv/libs/libavcodec/gifdec.c (working copy) +@@ -272,7 +272,7 @@ + return -1; + } + +-static int gif_decode_init(AVCodecContext *avctx) ++static av_cold int gif_decode_init(AVCodecContext *avctx) + { + GifState *s = avctx->priv_data; + +@@ -317,7 +317,7 @@ + return s->bytestream - buf; + } + +-static int gif_decode_close(AVCodecContext *avctx) ++static av_cold int gif_decode_close(AVCodecContext *avctx) + { + GifState *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/adpcm.c +=================================================================== +--- mythtv/libs/libavcodec/adpcm.c (revision 18209) ++++ mythtv/libs/libavcodec/adpcm.c (working copy) +@@ -629,7 +629,7 @@ + } + #endif //CONFIG_ENCODERS + +-static int adpcm_decode_init(AVCodecContext * avctx) ++static av_cold int adpcm_decode_init(AVCodecContext * avctx) + { + ADPCMContext *c = avctx->priv_data; + unsigned int max_channels = 2; +Index: mythtv/libs/libavcodec/libxvid_rc.c +=================================================================== +--- mythtv/libs/libavcodec/libxvid_rc.c (revision 18209) ++++ mythtv/libs/libavcodec/libxvid_rc.c (working copy) +@@ -134,7 +134,7 @@ + if(!dry_run) + s->rc_context.dry_run_qscale= 0; + +- if(s->pict_type == B_TYPE) //FIXME this is not exactly identical to xvid ++ if(s->pict_type == FF_B_TYPE) //FIXME this is not exactly identical to xvid + return xvid_plg_data.quant * FF_QP2LAMBDA * s->avctx->b_quant_factor + s->avctx->b_quant_offset; + else + return xvid_plg_data.quant * FF_QP2LAMBDA; +Index: mythtv/libs/libavcodec/msvideo1.c +=================================================================== +--- mythtv/libs/libavcodec/msvideo1.c (revision 18209) ++++ mythtv/libs/libavcodec/msvideo1.c (working copy) +@@ -59,7 +59,7 @@ + + } Msvideo1Context; + +-static int msvideo1_decode_init(AVCodecContext *avctx) ++static av_cold int msvideo1_decode_init(AVCodecContext *avctx) + { + Msvideo1Context *s = avctx->priv_data; + +@@ -323,7 +323,7 @@ + return buf_size; + } + +-static int msvideo1_decode_end(AVCodecContext *avctx) ++static av_cold int msvideo1_decode_end(AVCodecContext *avctx) + { + Msvideo1Context *s = avctx->priv_data; + +Index: mythtv/libs/libavcodec/ac3enc.c +=================================================================== +--- mythtv/libs/libavcodec/ac3enc.c (revision 18209) ++++ mythtv/libs/libavcodec/ac3enc.c (working copy) +@@ -624,7 +624,7 @@ + return 0; + } + +-static int AC3_encode_init(AVCodecContext *avctx) ++static av_cold int AC3_encode_init(AVCodecContext *avctx) + { + int freq = avctx->sample_rate; + int bitrate = avctx->bit_rate; +@@ -1259,7 +1259,7 @@ + return output_frame_end(s); + } + +-static int AC3_encode_close(AVCodecContext *avctx) ++static av_cold int AC3_encode_close(AVCodecContext *avctx) + { + av_freep(&avctx->coded_frame); + return 0; +Index: mythtv/libs/libavcodec/h261dec.c +=================================================================== +--- mythtv/libs/libavcodec/h261dec.c (revision 18209) ++++ mythtv/libs/libavcodec/h261dec.c (working copy) +@@ -48,7 +48,7 @@ + + static int h261_decode_block(H261Context * h, DCTELEM * block, int n, int coded); + +-static void h261_decode_init_vlc(H261Context *h){ ++static av_cold void h261_decode_init_vlc(H261Context *h){ + static int done = 0; + + if(!done){ +@@ -70,7 +70,7 @@ + } + } + +-static int h261_decode_init(AVCodecContext *avctx){ ++static av_cold int h261_decode_init(AVCodecContext *avctx){ + H261Context *h= avctx->priv_data; + MpegEncContext * const s = &h->s; + +@@ -493,9 +493,9 @@ + skip_bits(&s->gb, 8); + } + +- // h261 has no I-FRAMES, but if we pass I_TYPE for the first frame, the codec crashes if it does ++ // h261 has no I-FRAMES, but if we pass FF_I_TYPE for the first frame, the codec crashes if it does + // not contain all I-blocks (e.g. when a packet is lost) +- s->pict_type = P_TYPE; ++ s->pict_type = FF_P_TYPE; + + h->gob_number = 0; + return 0; +@@ -593,12 +593,12 @@ + + // for hurry_up==5 + s->current_picture.pict_type= s->pict_type; +- s->current_picture.key_frame= s->pict_type == I_TYPE; ++ s->current_picture.key_frame= s->pict_type == FF_I_TYPE; + + /* skip everything if we are in a hurry>=5 */ + if(avctx->hurry_up>=5) return get_consumed_bytes(s, buf_size); +- if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE) +- ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE) ++ if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==FF_B_TYPE) ++ ||(avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=FF_I_TYPE) + || avctx->skip_frame >= AVDISCARD_ALL) + return get_consumed_bytes(s, buf_size); + +@@ -628,7 +628,7 @@ + return get_consumed_bytes(s, buf_size); + } + +-static int h261_decode_end(AVCodecContext *avctx) ++static av_cold int h261_decode_end(AVCodecContext *avctx) + { + H261Context *h= avctx->priv_data; + MpegEncContext *s = &h->s; +Index: mythtv/libs/libavcodec/wavpack.c +=================================================================== +--- mythtv/libs/libavcodec/wavpack.c (revision 18209) ++++ mythtv/libs/libavcodec/wavpack.c (working copy) +@@ -354,7 +354,7 @@ + return count; + } + +-static int wavpack_decode_init(AVCodecContext *avctx) ++static av_cold int wavpack_decode_init(AVCodecContext *avctx) + { + WavpackContext *s = avctx->priv_data; + +Index: mythtv/libs/libpostproc/postprocess_altivec_template.c +=================================================================== +--- mythtv/libs/libpostproc/postprocess_altivec_template.c (revision 18209) ++++ mythtv/libs/libpostproc/postprocess_altivec_template.c (working copy) +@@ -194,7 +194,7 @@ + One could remove the recomputation of the perm + vector by assuming (stride % 16) == 0, unfortunately + this is not always true. Quite a lot of load/stores +- can be removed by assuming proper alignement of ++ can be removed by assuming proper alignment of + src & stride :-( + */ + uint8_t *src2 = src; +@@ -382,7 +382,7 @@ + One could remove the recomputation of the perm + vector by assuming (stride % 16) == 0, unfortunately + this is not always true. Quite a lot of load/stores +- can be removed by assuming proper alignement of ++ can be removed by assuming proper alignment of + src & stride :-( + */ + uint8_t *src2 = src; +@@ -469,7 +469,7 @@ + const vector signed short dornotd = vec_sel((vector signed short)zero, + dclampedfinal, + vec_cmplt(absmE, vqp)); +- /* add/substract to l4 and l5 */ ++ /* add/subtract to l4 and l5 */ + const vector signed short vb4minusd = vec_sub(vb4, dornotd); + const vector signed short vb5plusd = vec_add(vb5, dornotd); + /* finally, stores */ +@@ -506,7 +506,7 @@ + One could remove the recomputation of the perm + vector by assuming (stride % 16) == 0, unfortunately + this is not always true. Quite a lot of load/stores +- can be removed by assuming proper alignement of ++ can be removed by assuming proper alignment of + src & stride :-( + */ + uint8_t *srcCopy = src; +Index: mythtv/libs/libavformat/ipmovie.c +=================================================================== +--- mythtv/libs/libavformat/ipmovie.c (revision 18209) ++++ mythtv/libs/libavformat/ipmovie.c (working copy) +@@ -446,7 +446,7 @@ + last_color = first_color + AV_RL16(&scratch[2]) - 1; + /* sanity check (since they are 16 bit values) */ + if ((first_color > 0xFF) || (last_color > 0xFF)) { +- debug_ipmovie("demux_ipmovie: set_palette indices out of range (%d -> %d)\n", ++ debug_ipmovie("demux_ipmovie: set_palette indexes out of range (%d -> %d)\n", + first_color, last_color); + chunk_type = CHUNK_BAD; + break; +Index: mythtv/libs/libavformat/matroskadec.c +=================================================================== +--- mythtv/libs/libavformat/matroskadec.c (revision 18209) ++++ mythtv/libs/libavformat/matroskadec.c (working copy) +@@ -99,8 +99,8 @@ + //.. + } MatroskaSubtitleTrack; + +-#define MAX_TRACK_SIZE (FFMAX(FFMAX(sizeof(MatroskaVideoTrack), \ +- sizeof(MatroskaAudioTrack)), \ ++#define MAX_TRACK_SIZE (FFMAX3(sizeof(MatroskaVideoTrack), \ ++ sizeof(MatroskaAudioTrack), \ + sizeof(MatroskaSubtitleTrack))) + + typedef struct MatroskaLevel { +Index: mythtv/libs/libavformat/avidec.c +=================================================================== +--- mythtv/libs/libavformat/avidec.c (revision 18209) ++++ mythtv/libs/libavformat/avidec.c (working copy) +@@ -957,7 +957,7 @@ + + if (ENABLE_DV_DEMUXER && avi->dv_demux) { + /* One and only one real stream for DV in AVI, and it has video */ +- /* offsets. Calling with other stream indices should have failed */ ++ /* offsets. Calling with other stream indexes should have failed */ + /* the av_index_search_timestamp call above. */ + assert(stream_index == 0); + +Index: mythtv/libs/libavformat/avformat.h +=================================================================== +--- mythtv/libs/libavformat/avformat.h (revision 18209) ++++ mythtv/libs/libavformat/avformat.h (working copy) +@@ -198,9 +198,9 @@ + /** size of private data so that it can be allocated in the wrapper */ + int priv_data_size; + /** +- * tell if a given file has a chance of being parsed by this format. +- * The buffer provided is guranteed to be AVPROBE_PADDING_SIZE bytes big +- * so you dont have to check for that unless you need more. ++ * Tell if a given file has a chance of being parsed by this format. ++ * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes ++ * big so you do not have to check for that unless you need more. + */ + int (*read_probe)(AVProbeData *); + /** read the format header and initialize the AVFormatContext +Index: mythtv/libs/libavformat/rmenc.c +=================================================================== +--- mythtv/libs/libavformat/rmenc.c (revision 18209) ++++ mythtv/libs/libavformat/rmenc.c (working copy) +@@ -403,7 +403,7 @@ + put_be16(pb, 0); + + for(i=0;inb_streams;i++) { +- put_be32(pb, 0); /* zero indices */ ++ put_be32(pb, 0); /* zero indexes */ + put_be16(pb, i); /* stream number */ + put_be32(pb, 0); /* next index */ + } +Index: mythtv/libs/libavformat/asf.h +=================================================================== +--- mythtv/libs/libavformat/asf.h (revision 18209) ++++ mythtv/libs/libavformat/asf.h (working copy) +@@ -56,7 +56,7 @@ + uint64_t send_time; /**< time to send file, in 100-nanosecond units + * invalid if broadcasting (could be ignored) */ + uint32_t preroll; /**< timestamp of the first packet, in milliseconds +- * if nonzero - substract from time */ ++ * if nonzero - subtract from time */ + uint32_t ignore; ///< preroll is 64bit - but let's just ignore it + uint32_t flags; /**< 0x01 - broadcast + * 0x02 - seekable +Index: mythtv/libs/libavformat/nsvdec.c +=================================================================== +--- mythtv/libs/libavformat/nsvdec.c (revision 18209) ++++ mythtv/libs/libavformat/nsvdec.c (working copy) +@@ -140,7 +140,7 @@ + #define TB_NSVF MKBETAG('N', 'S', 'V', 'f') + #define TB_NSVS MKBETAG('N', 'S', 'V', 's') + +-/* hardcoded stream indices */ ++/* hardcoded stream indexes */ + #define NSV_ST_VIDEO 0 + #define NSV_ST_AUDIO 1 + #define NSV_ST_SUBT 2 +Index: mythtv/libs/libavformat/segafilm.c +=================================================================== +--- mythtv/libs/libavformat/segafilm.c (revision 18209) ++++ mythtv/libs/libavformat/segafilm.c (working copy) +@@ -107,7 +107,7 @@ + /* normal Saturn .cpk files; 32-byte header */ + if (get_buffer(pb, scratch, 32) != 32) + return AVERROR(EIO); +- film->audio_samplerate = AV_RB16(&scratch[24]);; ++ film->audio_samplerate = AV_RB16(&scratch[24]); + film->audio_channels = scratch[21]; + film->audio_bits = scratch[22]; + if (film->audio_bits == 8) --- mythtv-0.21.0+fixes18207.orig/debian/patches/25_skiploop_option.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/25_skiploop_option.dpatch @@ -0,0 +1,299 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 25_skiploop_option.dpatch by Michael Haas +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add a checkbox to disable the deblocking loop filter for h.264 ffmpeg. +## DP: Enable this checkbox to reduce CPU usage when playing h.264 content. +## DP: Original patch by reidjr_at_lineone_net, updated by Robert Mcnamara + +@DPATCH@ + +=================================================================== +--- a/libs/libmythtv/avformatdecoder.cpp (revision 16446) ++++ b/libs/libmythtv/avformatdecoder.cpp (working copy) +@@ -1487,6 +1487,7 @@ + vdp.SetInput(QSize(width, height)); + QString dec = vdp.GetDecoder(); + uint thread_count = vdp.GetMaxCPUs(); ++ bool skip_loop_filter = vdp.IsSkipLoopEnabled(); + VERBOSE(VB_PLAYBACK, QString("Using %1 CPUs for decoding") + .arg(ENABLE_THREADS ? thread_count : 1)); + +@@ -1494,6 +1495,9 @@ + { + avcodec_thread_init(enc, thread_count); + enc->thread_count = thread_count; ++ if (!skip_loop_filter) ++ enc->skip_loop_filter = AVDISCARD_ALL; ++ + } + + bool handled = false; +Index: libs/libmythtv/videodisplayprofile.h +=================================================================== +--- a/libs/libmythtv/videodisplayprofile.h (revision 16446) ++++ b/libs/libmythtv/videodisplayprofile.h (working copy) +@@ -84,6 +84,9 @@ + uint GetMaxCPUs(void) const + { return GetPreference("pref_max_cpus").toUInt(); } + ++ bool IsSkipLoopEnabled(void) const ++ { return GetPreference("pref_skiploop").toInt(); } ++ + QString GetVideoRenderer(void) const + { return GetPreference("pref_videorenderer"); } + +@@ -125,7 +128,7 @@ + uint grpid, uint priority, + QString cmp0, uint width0, uint height0, + QString cmp1, uint width1, uint height1, +- QString decoder, uint max_cpus, QString videorenderer, ++ QString decoder, uint max_cpus, bool skiploop, QString videorenderer, + QString osdrenderer, bool osdfade, + QString deint0, QString deint1, QString filters); + +Index: libs/libmythtv/videodisplayprofile.cpp +=================================================================== +--- a/libs/libmythtv/videodisplayprofile.cpp (revision 16446) ++++ b/libs/libmythtv/videodisplayprofile.cpp (working copy) +@@ -170,6 +170,7 @@ + QString cmp1 = Get("pref_cmp1"); + QString decoder = Get("pref_decoder"); + uint max_cpus = Get("pref_max_cpus").toUInt(); ++ bool skiploop = Get("pref_skiploop").toInt(); + QString renderer = Get("pref_videorenderer"); + QString osd = Get("pref_osdrenderer"); + QString deint0 = Get("pref_deint0"); +@@ -177,9 +178,9 @@ + QString filter = Get("pref_filters"); + bool osdfade = Get("pref_osdfade").toInt(); + +- QString str = QString("cmp(%1%2) dec(%3) cpus(%4) rend(%5) ") ++ QString str = QString("cmp(%1%2) dec(%3) cpus(%4) skiploop(%5) rend(%6) ") + .arg(cmp0).arg(QString(cmp1.isEmpty() ? "" : ",") + cmp1) +- .arg(decoder).arg(max_cpus).arg(renderer); ++ .arg(decoder).arg(max_cpus).arg((skiploop) ? "enabled" : "disabled").arg(renderer); + str += QString("osd(%1) osdfade(%2) deint(%3,%4) filt(%5)") + .arg(osd).arg((osdfade) ? "enabled" : "disabled") + .arg(deint0).arg(deint1).arg(filter); +@@ -799,7 +800,7 @@ + uint groupid, uint priority, + QString cmp0, uint width0, uint height0, + QString cmp1, uint width1, uint height1, +- QString decoder, uint max_cpus, QString videorenderer, ++ QString decoder, uint max_cpus, bool skiploop, QString videorenderer, + QString osdrenderer, bool osdfade, + QString deint0, QString deint1, QString filters) + { +@@ -845,6 +846,9 @@ + queryValue += "pref_max_cpus"; + queryData += QString::number(max_cpus); + ++ queryValue += "pref_skiploop"; ++ queryData += (skiploop) ? "1" : "0"; ++ + queryValue += "pref_videorenderer"; + queryData += videorenderer; + +@@ -958,48 +962,48 @@ + DeleteProfileGroup("CPU++", hostname); + uint groupid = CreateProfileGroup("CPU++", hostname); + CreateProfile(groupid, 1, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", true, ++ "ffmpeg", 1, true, "xv-blit", "softblend", true, + "bobdeint", "linearblend", ""); + CreateProfile(groupid, 2, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", true, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", true, + "linearblend", "linearblend", ""); + + (void) QObject::tr("CPU+", "Sample: Hardware assist HD only"); + DeleteProfileGroup("CPU+", hostname); + groupid = CreateProfileGroup("CPU+", hostname); + CreateProfile(groupid, 1, "<=", 720, 576, ">", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", true, ++ "ffmpeg", 1, true, "xv-blit", "softblend", true, + "bobdeint", "linearblend", ""); + CreateProfile(groupid, 2, "<=", 1280, 720, ">", 720, 576, +- "xvmc", 1, "xvmc-blit", "opengl", true, ++ "xvmc", 1, true, "xvmc-blit", "opengl", true, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 3, "<=", 1280, 720, ">", 720, 576, +- "libmpeg2", 1, "xv-blit", "softblend", true, ++ "libmpeg2", 1, true, "xv-blit", "softblend", true, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 4, ">", 0, 0, "", 0, 0, +- "xvmc", 1, "xvmc-blit", "ia44blend", false, ++ "xvmc", 1, true, "xvmc-blit", "ia44blend", false, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 5, ">", 0, 0, "", 0, 0, +- "libmpeg2", 1, "xv-blit", "chromakey", false, ++ "libmpeg2", 1, true, "xv-blit", "chromakey", false, + "bobdeint", "onefield", ""); + + (void) QObject::tr("CPU--", "Sample: Hardware assist all"); + DeleteProfileGroup("CPU--", hostname); + groupid = CreateProfileGroup("CPU--", hostname); + CreateProfile(groupid, 1, "<=", 720, 576, ">", 0, 0, +- "ivtv", 1, "ivtv", "ivtv", true, ++ "ivtv", 1, true, "ivtv", "ivtv", true, + "none", "none", ""); + CreateProfile(groupid, 2, "<=", 720, 576, ">", 0, 0, +- "xvmc", 1, "xvmc-blit", "ia44blend", false, ++ "xvmc", 1, true, "xvmc-blit", "ia44blend", false, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 3, "<=", 1280, 720, ">", 720, 576, +- "xvmc", 1, "xvmc-blit", "ia44blend", false, ++ "xvmc", 1, true, "xvmc-blit", "ia44blend", false, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 4, ">", 0, 0, "", 0, 0, +- "xvmc", 1, "xvmc-blit", "ia44blend", false, ++ "xvmc", 1, true, "xvmc-blit", "ia44blend", false, + "bobdeint", "onefield", ""); + CreateProfile(groupid, 5, ">", 0, 0, "", 0, 0, +- "libmpeg2", 1, "xv-blit", "chromakey", false, ++ "libmpeg2", 1, true, "xv-blit", "chromakey", false, + "none", "none", ""); + } + +@@ -1009,48 +1013,48 @@ + DeleteProfileGroup("High Quality", hostname); + uint groupid = CreateProfileGroup("High Quality", hostname); + CreateProfile(groupid, 1, ">=", 1920, 1080, "", 0, 0, +- "ffmpeg", 2, "xv-blit", "softblend", true, ++ "ffmpeg", 2, true, "xv-blit", "softblend", true, + "linearblend", "linearblend", ""); + CreateProfile(groupid, 2, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", true, ++ "ffmpeg", 1, true, "xv-blit", "softblend", true, + "yadifdoubleprocessdeint", "yadifdeint", ""); + CreateProfile(groupid, 3, ">=", 1920, 1080, "", 0, 0, +- "ffmpeg", 2, "quartz-blit", "softblend", true, ++ "ffmpeg", 2, true, "quartz-blit", "softblend", true, + "linearblend", "linearblend", ""); + CreateProfile(groupid, 4, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", true, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", true, + "yadifdoubleprocessdeint", "yadifdeint", ""); + + (void) QObject::tr("Normal", "Sample: average quality"); + DeleteProfileGroup("Normal", hostname); + groupid = CreateProfileGroup("Normal", hostname); + CreateProfile(groupid, 1, ">=", 1280, 720, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", false, ++ "ffmpeg", 1, true, "xv-blit", "softblend", false, + "linearblend", "linearblend", ""); + CreateProfile(groupid, 2, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", true, ++ "ffmpeg", 1, true, "xv-blit", "softblend", true, + "greedyhdoubleprocessdeint", "kerneldeint", ""); + CreateProfile(groupid, 3, ">=", 1280, 720, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", false, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", false, + "linearblend", "linearblend", ""); + CreateProfile(groupid, 4, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", true, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", true, + "greedyhdoubleprocessdeint", "kerneldeint", ""); + + (void) QObject::tr("Slim", "Sample: low CPU usage"); + DeleteProfileGroup("Slim", hostname); + groupid = CreateProfileGroup("Slim", hostname); + CreateProfile(groupid, 1, ">=", 1280, 720, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", false, ++ "ffmpeg", 1, true, "xv-blit", "softblend", false, + "onefield", "onefield", ""); + CreateProfile(groupid, 2, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "xv-blit", "softblend", true, ++ "ffmpeg", 1, true, "xv-blit", "softblend", true, + "linearblend", "linearblend", ""); + CreateProfile(groupid, 3, ">=", 1280, 720, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", false, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", false, + "onefield", "onefield", ""); + CreateProfile(groupid, 4, ">", 0, 0, "", 0, 0, +- "ffmpeg", 1, "quartz-blit", "softblend", true, ++ "ffmpeg", 1, true, "quartz-blit", "softblend", true, + "linearblend", "linearblend", ""); + } + +Index: programs/mythfrontend/globalsettings.cpp +=================================================================== +--- a/programs/mythfrontend/globalsettings.cpp (revision 16446) ++++ b/programs/mythfrontend/globalsettings.cpp (working copy) +@@ -846,6 +846,7 @@ + height[1] = new TransSpinBoxSetting(0, 1088, 64, true); + decoder = new TransComboBoxSetting(); + max_cpus = new TransSpinBoxSetting(1, ENABLE_THREADS ? 4 : 1, 1, true); ++ skiploop = new TransCheckBoxSetting(); + vidrend = new TransComboBoxSetting(); + osdrend = new TransComboBoxSetting(); + osdfade = new TransCheckBoxSetting(); +@@ -877,6 +878,7 @@ + + decoder->setLabel(tr("Decoder")); + max_cpus->setLabel(tr("Max CPUs")); ++ skiploop->setLabel(tr("Loopfilter")); + vidrend->setLabel(tr("Video Renderer")); + osdrend->setLabel(tr("OSD Renderer")); + osdfade->setLabel(tr("OSD Fade")); +@@ -894,6 +896,12 @@ + filters->setHelpText( + QObject::tr("Example Custom filter list: 'ivtc,denoise3d'")); + ++ skiploop->setHelpText( ++ tr("When unchecked the deblocking loopfilter will be disabled " ++ "for h264 decoding.") + "\n" + ++ tr("Disabling will significantly reduce the load on the CPU " ++ "when watching HD h264.")); ++ + osdfade->setHelpText( + tr("When unchecked the OSD will not fade away but instead " + "will disappear abruptly.") + "\n" + +@@ -902,7 +910,7 @@ + + vid_row->addChild(decoder); + vid_row->addChild(max_cpus); +- ++ vid_row->addChild(skiploop); + osd_row->addChild(vidrend); + osd_row->addChild(osdrend); + osd_row->addChild(osdfade); +@@ -955,6 +963,7 @@ + + QString pdecoder = item.Get("pref_decoder"); + QString pmax_cpus = item.Get("pref_max_cpus"); ++ QString pskiploop = item.Get("pref_skiploop"); + QString prenderer = item.Get("pref_videorenderer"); + QString posd = item.Get("pref_osdrenderer"); + QString posdfade = item.Get("pref_osdfade"); +@@ -982,6 +991,9 @@ + + if (!pmax_cpus.isEmpty()) + max_cpus->setValue(pmax_cpus.toUInt()); ++ ++ skiploop->setValue((!pskiploop.isEmpty()) ? (bool) pskiploop.toInt() : true); ++ + if (!prenderer.isEmpty()) + vidrend->setValue(prenderer); + if (!posd.isEmpty()) +@@ -1015,6 +1027,7 @@ + + item.Set("pref_decoder", decoder->getValue()); + item.Set("pref_max_cpus", max_cpus->getValue()); ++ item.Set("pref_skiploop", (skiploop->boolValue()) ? "1" : "0"); + item.Set("pref_videorenderer", vidrend->getValue()); + item.Set("pref_osdrenderer", osdrend->getValue()); + item.Set("pref_osdfade", (osdfade->boolValue()) ? "1" : "0"); +Index: programs/mythfrontend/globalsettings.h +=================================================================== +--- a/programs/mythfrontend/globalsettings.h (revision 16446) ++++ b/programs/mythfrontend/globalsettings.h (working copy) +@@ -87,6 +87,7 @@ + TransSpinBoxSetting *height[2]; + TransComboBoxSetting *decoder; + TransSpinBoxSetting *max_cpus; ++ TransCheckBoxSetting *skiploop; + TransComboBoxSetting *vidrend; + TransComboBoxSetting *osdrend; + TransCheckBoxSetting *osdfade; --- mythtv-0.21.0+fixes18207.orig/debian/patches/24_fix_h264_frame_counting.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/24_fix_h264_frame_counting.dpatch @@ -0,0 +1,275 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 24_fix_h264_frame_counting.dpatch by Michael Haas +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Backport changeset 18104 from trunk +## DP: see http://cvs.mythtv.org/trac/changeset/18104 +## DP: committed by danielk, original patch by John Poet + +@DPATCH@ + +Index: /trunk/mythtv/libs/libmythtv/mpeg/h264utils.h +=================================================================== +--- mythtv/libs/libmythtv/mpeg/h264utils.h (revision 12750) ++++ mythtv/libs/libmythtv/mpeg/h264utils.h (revision 18104) +@@ -35,4 +35,9 @@ + + #include ++ ++extern "C" { ++#include // golomb.h should include this... ++#include "golomb.h" ++} + + namespace H264 +@@ -175,4 +180,6 @@ + private: + void KeyframePredicate(const uint8_t new_first_NAL_byte); /* throw() */ ++ void decode_Header(GetBitContext *gb); ++ void decode_SPS(GetBitContext *gb); + + bool errored; +@@ -183,12 +190,25 @@ + + uint8_t first_NAL_byte; ++ int log2_max_frame_num; ++ int frame_num; ++ int prev_frame_num; + + bool saw_AU_delimiter; + bool saw_first_VCL_NAL_unit; + bool saw_sps; ++ bool new_VLC_NAL; ++ ++ bool separate_colour_plane_flag; ++ bool frame_mbs_only_flag; ++ bool prev_field_pic_flag; ++ bool prev_bottom_field_flag; ++ uint prev_pic_parameter_set_id; ++ + + bool did_evaluate_once; + bool keyframe; + int64_t keyframe_sync_stream_offset; ++ ++ GetBitContext gb; + }; + +Index: /trunk/mythtv/libs/libmythtv/mpeg/h264utils.cpp +=================================================================== +--- mythtv/libs/libmythtv/mpeg/h264utils.cpp (revision 12750) ++++ mythtv/libs/libmythtv/mpeg/h264utils.cpp (revision 18104) +@@ -34,8 +34,7 @@ + #include + +-// C++ headers +-#include +- ++#include + // MythTV headers ++#include "mythverbose.h" + #include "h264utils.h" + +@@ -43,4 +42,5 @@ + // from libavcodec + extern const uint8_t *ff_find_start_code(const uint8_t * p, const uint8_t *end, uint32_t * state); ++#include "avcodec.h" + } + +@@ -62,8 +62,15 @@ + + first_NAL_byte = H264::NALUnitType::UNKNOWN; ++ ++ log2_max_frame_num = -1; ++ frame_num = 0; ++ prev_frame_num = -1; + + saw_AU_delimiter = false; + saw_first_VCL_NAL_unit = false; + saw_sps = false; ++ separate_colour_plane_flag = false; ++ frame_mbs_only_flag = true; ++ new_VLC_NAL = false; + + did_evaluate_once = false; +@@ -128,5 +135,5 @@ + if (!saw_first_VCL_NAL_unit && NALUnitType::IsVCLType(new_NAL_type)) + { +- saw_first_VCL_NAL_unit = true; ++ saw_first_VCL_NAL_unit = new_VLC_NAL; + saw_AU_delimiter = false; + state_changed = true; +@@ -155,6 +162,32 @@ + { + uint8_t k = *(local_bytes-1); ++ uint8_t NAL_type = k & 0x1f; + sync_stream_offset = stream_offset; + keyframe = false; ++ ++ if (NAL_type == NALUnitType::SPS || ++ NAL_type == NALUnitType::SLICE || ++ NAL_type == NALUnitType::SLICE_DPA) ++ { ++ /* ++ bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE ++ bytes larger then the actual read bits ++ */ ++ if (local_bytes + 20 + FF_INPUT_BUFFER_PADDING_SIZE < ++ local_bytes_end) ++ { ++ init_get_bits(&gb, local_bytes, ++ 8 * (local_bytes_end - local_bytes)); ++ ++ if (NAL_type == NALUnitType::SPS) ++ decode_SPS(&gb); ++ else ++ decode_Header(&gb); ++ } ++ } ++ else if (NAL_type == NALUnitType::SLICE_IDR) ++ { ++ frame_num = 0; ++ } + + KeyframePredicate(k); +@@ -176,3 +209,140 @@ + } + ++void KeyframeSequencer::decode_Header(GetBitContext *gb) ++{ ++ uint first_mb_in_slice; ++ uint slice_type; ++ uint pic_parameter_set_id; ++ bool field_pic_flag; ++ bool bottom_field_flag; ++ ++ if (log2_max_frame_num < 1) ++ { ++ VERBOSE(VB_IMPORTANT, "KeyframeSequencer::decode_Header: " ++ "SPS has not been parsed!"); ++ return; ++ } ++ ++ new_VLC_NAL = false; ++ ++ prev_frame_num = frame_num; ++ ++ first_mb_in_slice = get_ue_golomb(gb); ++ slice_type = get_ue_golomb(gb); ++ ++ pic_parameter_set_id = get_ue_golomb(gb); ++ if (pic_parameter_set_id != prev_pic_parameter_set_id) ++ { ++ new_VLC_NAL = true; ++ prev_pic_parameter_set_id = pic_parameter_set_id; ++ } ++ ++ if (separate_colour_plane_flag) ++ get_bits(gb, 2); // colour_plane_id ++ ++ frame_num = get_bits(gb, log2_max_frame_num); ++ ++ if (frame_mbs_only_flag) ++ { ++ new_VLC_NAL = true; ++ } ++ else ++ { ++ /* From section 7.3.3 Slice header syntax ++ if (!frame_mbs_only_flag) ++ { ++ field_pic_flag = get_bits1(gb); ++ if (field_pic_flag) ++ bottom_field_flag = get_bits1(gb); ++ } ++ */ ++ ++ field_pic_flag = get_bits1(gb); ++ if (field_pic_flag != prev_field_pic_flag) ++ { ++ new_VLC_NAL = true; ++ prev_field_pic_flag = field_pic_flag; ++ } ++ ++ if (field_pic_flag) ++ { ++ bottom_field_flag = get_bits1(gb); ++ if (bottom_field_flag != prev_bottom_field_flag) ++ { ++ new_VLC_NAL = !bottom_field_flag; ++ prev_bottom_field_flag = bottom_field_flag; ++ } ++ } ++ } ++} ++ ++/* ++ * libavcodec used for example ++ */ ++void KeyframeSequencer::decode_SPS(GetBitContext * gb) ++{ ++ int profile_idc, chroma_format_idc; ++ ++ profile_idc = get_bits(gb, 8); // profile_idc ++ get_bits1(gb); // constraint_set0_flag ++ get_bits1(gb); // constraint_set1_flag ++ get_bits1(gb); // constraint_set2_flag ++ get_bits1(gb); // constraint_set3_flag ++ get_bits(gb, 4); // reserved ++ get_bits(gb, 8); // level_idc ++ get_ue_golomb(gb); // sps_id ++ ++ if (profile_idc >= 100) ++ { // high profile ++ if ((chroma_format_idc = get_ue_golomb(gb)) == 3) // chroma_format_idc ++ separate_colour_plane_flag = (get_bits1(gb) == 1); ++ ++ get_ue_golomb(gb); // bit_depth_luma_minus8 ++ get_ue_golomb(gb); // bit_depth_chroma_minus8 ++ get_bits1(gb); // qpprime_y_zero_transform_bypass_flag ++ ++ if (get_bits1(gb)) // seq_scaling_matrix_present_flag ++ { ++ for (int idx = 0; idx < ((chroma_format_idc != 3) ? 8 : 12); ++idx) ++ { ++ get_bits1(gb); // scaling_list ++ } ++ } ++ } ++ ++ log2_max_frame_num = get_ue_golomb(gb) + 4; ++ ++ uint pic_order_cnt_type; ++ uint log2_max_pic_order_cnt_lsb; ++ bool delta_pic_order_always_zero_flag; ++ int offset_for_non_ref_pic; ++ int offset_for_top_to_bottom_field; ++ uint tmp; ++ uint num_ref_frames; ++ bool gaps_in_frame_num_allowed_flag; ++ uint pic_width_in_mbs; ++ uint pic_height_in_map_units; ++ ++ pic_order_cnt_type = get_ue_golomb(gb); ++ if (pic_order_cnt_type == 0) ++ { ++ log2_max_pic_order_cnt_lsb = get_ue_golomb(gb) + 4; ++ } ++ else if (pic_order_cnt_type == 1) ++ { ++ delta_pic_order_always_zero_flag = get_bits1(gb); ++ offset_for_non_ref_pic = get_se_golomb(gb); ++ offset_for_top_to_bottom_field = get_se_golomb(gb); ++ tmp = get_ue_golomb(gb); ++ for (uint idx = 0; idx < tmp; ++idx) ++ get_se_golomb(gb); // offset_for_ref_frame[i] ++ } ++ ++ num_ref_frames = get_ue_golomb(gb); ++ gaps_in_frame_num_allowed_flag = get_bits1(gb); ++ pic_width_in_mbs = get_ue_golomb(gb) + 1; ++ pic_height_in_map_units = get_ue_golomb(gb) + 1; ++ frame_mbs_only_flag = get_bits1(gb); ++} ++ + } // namespace H264 --- mythtv-0.21.0+fixes18207.orig/debian/patches/00list +++ mythtv-0.21.0+fixes18207/debian/patches/00list @@ -0,0 +1,11 @@ +02_settings.pro +08_default_directory.dpatch +09_perl_bindings_prefix +10_mythfilldatabase_log +11_add_myth_prime +12_add_firewire_tester +14_fix_video_fallback +16_hal_shutdown +24_fix_h264_frame_counting +25_skiploop_option +26_h264_ffmpeg_merge --- mythtv-0.21.0+fixes18207.orig/debian/patches/10_mythfilldatabase_log.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/10_mythfilldatabase_log.dpatch @@ -0,0 +1,31 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_mythfilldatabase_log.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Correct mythfilldatabase's log directory setting + +@DPATCH@ +diff -urNad mythtv-0.21.0~fixes16259~/programs/mythbackend/housekeeper.cpp mythtv-0.21.0~fixes16259/programs/mythbackend/housekeeper.cpp +--- mythtv-0.21.0~fixes16259~/programs/mythbackend/housekeeper.cpp 2007-12-11 08:56:01.000000000 -0600 ++++ mythtv-0.21.0~fixes16259/programs/mythbackend/housekeeper.cpp 2008-03-01 02:04:24.000000000 -0600 +@@ -300,7 +300,7 @@ + "mythfilldatabase"); + QString mfarg = gContext->GetSetting("MythFillDatabaseArgs", ""); + QString mflog = gContext->GetSetting("MythFillDatabaseLog", +- "/var/log/mythfilldatabase.log"); ++ "/var/log/mythtv"); + + if (mfpath == "mythfilldatabase") + mfpath = gContext->GetInstallPrefix() + "/bin/mythfilldatabase"; +diff -urNad mythtv-0.21.0~fixes16259~/programs/mythwelcome/welcomedialog.cpp mythtv-0.21.0~fixes16259/programs/mythwelcome/welcomedialog.cpp +--- mythtv-0.21.0~fixes16259~/programs/mythwelcome/welcomedialog.cpp 2008-01-14 10:45:33.000000000 -0600 ++++ mythtv-0.21.0~fixes16259/programs/mythwelcome/welcomedialog.cpp 2008-03-01 02:04:24.000000000 -0600 +@@ -458,7 +458,7 @@ + "mythfilldatabase"); + QString mfarg = gContext->GetSetting("MythFillDatabaseArgs", ""); + QString mflog = gContext->GetSetting("MythFillDatabaseLog", +- "/var/log/mythfilldatabase.log"); ++ "/var/log/mythtv/mythfilldatabase.log"); + + if (mflog == "") + command = QString("%1 %2").arg(mfpath).arg(mfarg); --- mythtv-0.21.0+fixes18207.orig/debian/patches/11_add_myth_prime.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/11_add_myth_prime.dpatch @@ -0,0 +1,542 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11_add_myth_prime.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mythtv-0.21.0+fixes16838~/programs/mythprime/mythprime.c mythtv-0.21.0+fixes16838/programs/mythprime/mythprime.c +--- mythtv-0.21.0+fixes16838~/programs/mythprime/mythprime.c 1969-12-31 18:00:00.000000000 -0600 ++++ mythtv-0.21.0+fixes16838/programs/mythprime/mythprime.c 2008-04-10 22:33:45.000000000 -0500 +@@ -0,0 +1,502 @@ ++/* ++ * mythprime mythtv firewire primer ++ * developed for mythbuntu 8.04 ++ * March 2008 by majoridiot ++ * ++ * attempts to intelligently locate and stabilize connections to ++ * cable stbs on the firewire bus ++ * ++ * called by /etc/init.d/mythtv-backend on -start and -restart ++ * ++ * returns: 0 on successful prime ++ * 1 on handle creation error ++ * 2 on priming error ++ * ++ * incorporates code (c) by: Jim Westfall, Kristian Hogsberg, Dan Dennedy, ++ * Andreas Micklei and Jim Lohmeyer ++ * ++ * Distributed as part of the mythbuntu distribution of ++ * MythTV under GPL v2 and later. ++ * ++ * depends on: libraw1394-dev libiec61883-dev libavc1394-dev ++ * ++ * compile instruction: ++ * $ gcc -Wall -o mythprime mythprime.c -liec61883 -lraw1394 -lavc1394 ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define VERSION ".55b beta" ++ ++#define VERBOSE(args...) do { if (verbose) printf(args); } while (0) ++#define SYNC_BYTE 0x47 ++#define MIN_PACKETS 25 ++#define MAX_NODATA 10 ++#define CSR_O_PCR_0 0x904 ++#define TUNER AVC1394_SUBUNIT_TYPE_TUNER ++#define TUNER_ALT AVC1394_SUBUNIT_TUNER ++#define PANEL AVC1394_SUBUNIT_TYPE_PANEL ++#define VCR AVC1394_SUBUNIT_TYPE_VCR ++#define VCR_ALT AVC1394_SUBUNIT_VCR ++#define POWER_ON AVC1394_CTYPE_CONTROL | AVC1394_SUBUNIT_TYPE_UNIT | AVC1394_SUBUNIT_ID_IGNORE | \ ++ AVC1394_COMMAND_POWER | AVC1394_CMD_OPERAND_POWER_ON ++ ++extern ++int iec61883_plug_set(raw1394handle_t handle, nodeid_t node, nodeaddr_t a, quadlet_t value); ++ ++extern ++int iec61883_plug_get(raw1394handle_t h, nodeid_t n, nodeaddr_t a, quadlet_t *value); ++ ++#define iec61883_get_oPCR0(h,n,v) iec61883_plug_get((h), (n), CSR_O_PCR_0, (quadlet_t *)(v)) ++#define iec61883_set_oPCR0(h,n,v) iec61883_plug_set((h), (n), CSR_O_PCR_0, *((quadlet_t *)&(v))) ++ ++#if ( __BYTE_ORDER == __BIG_ENDIAN ) ++struct iec61883_oPCR { ++ unsigned int online:1; ++ unsigned int bcast_connection:1; ++ unsigned int n_p2p_connections:6; ++ unsigned int reserved:2; ++ unsigned int channel:6; ++ unsigned int data_rate:2; ++ unsigned int overhead_id:4; ++ unsigned int payload:10; ++}; ++#else ++struct iec61883_oPCR { ++ unsigned int payload:10; ++ unsigned int overhead_id:4; ++ unsigned int data_rate:2; ++ unsigned int channel:6; ++ unsigned int reserved:2; ++ unsigned int n_p2p_connections:6; ++ unsigned int bcast_connection:1; ++ unsigned int online:1; ++}; ++#endif ++ ++int sync_failed = 0; ++int nodata = 0; ++int verbose = 0; ++int port = 0; ++ ++raw1394handle_t handle; ++ ++// read packets from firewire, looking for the synch byte ++static int read_packet (unsigned char *tspacket, int len, ++ unsigned int dropped, void *callback_data) ++{ ++ int *count = (int *)callback_data; ++ ++ if (dropped) ++ { ++ VERBOSE("Dropped %d packet(s)...\n", dropped); ++ return 0; ++ } ++ ++ if (tspacket[0] != SYNC_BYTE) ++ { ++ sync_failed = 1; ++ return 0; ++ } ++ nodata = 0; ++ *count = *count + 1; ++ return 1; ++} ++ ++// try to get a valid mpeg stream from firewire ++int test_connection(raw1394handle_t handle, int channel) ++{ ++ int count = 0; ++ int retry = 0; ++ int fd = raw1394_get_fd(handle); ++ iec61883_mpeg2_t mpeg; ++ struct timeval tv; ++ fd_set rfds; ++ sync_failed = 0; ++ ++ mpeg = iec61883_mpeg2_recv_init(handle, read_packet, (void*) &count); ++ iec61883_mpeg2_recv_start(mpeg, channel); ++ ++ while(count < MIN_PACKETS && retry < 2 && !sync_failed ++ && nodata < MAX_NODATA) ++ { ++ FD_ZERO(&rfds); ++ FD_SET(fd, &rfds); ++ tv.tv_sec = 1; ++ tv.tv_usec = 0; ++ ++ if (select(fd + 1, &rfds, NULL, NULL, &tv) > 0) ++ { ++ nodata++; ++ raw1394_loop_iterate(handle); ++ } ++ else ++ { ++ retry++; ++ } ++ } ++ iec61883_mpeg2_recv_stop(mpeg); ++ iec61883_mpeg2_close(mpeg); ++ ++ if (sync_failed) ++ { ++ VERBOSE("Error: could not find stream synch byte. Is STB tuned to a valid/unencrypted channel? "); ++ return 0; ++ } ++ ++ return count; ++} ++ ++// create and test a p2p connection ++// returns 1 on success, 0 on failure ++int test_p2p(raw1394handle_t handle, nodeid_t node) { ++ ++ int channel, count, success = 0; ++ channel = node; ++ ++ VERBOSE("Establishing P2P connection on node %d, channel %d... ", node, channel); ++ fflush(stdout); ++ ++ if (iec61883_cmp_create_p2p_output(handle, node | 0xffc0, 0, channel, ++ 1 /* fix me, speed */ ) != 0) ++ { ++ printf("ERROR: iec61883_cmp_create_p2p_output failed\n"); ++ return 0; ++ } ++ ++ VERBOSE("P2P: connection established.\n"); ++ VERBOSE("P2P: receiving packets... "); ++ ++ count = test_connection(handle, channel); ++ ++ if (count >= MIN_PACKETS) ++ { ++ VERBOSE("%d packets received\n", count); ++ success = 1; ++ } ++ else ++ { ++ VERBOSE("FAILED.\n"); ++ } ++ ++ VERBOSE("Disconnecting P2P connection on node %d, channel %d\n", node, channel); ++ iec61883_cmp_disconnect(handle, node | 0xffc0, 0, ++ raw1394_get_local_id (handle), ++ -1, channel, 0); ++ return success; ++} ++ ++// create and test a broadcast connection ++// returns 1 on success, 0 on failure ++int test_broadcast(raw1394handle_t handle, nodeid_t node) { ++ ++ int channel, count, success = 0; ++ channel = 63 - node; ++ ++ VERBOSE("Creating Broadcast connection on node %d, channel %d... ", node, channel); ++ fflush(stdout); ++ ++ if (iec61883_cmp_create_bcast_output(handle, node | 0xffc0, 0, channel, ++ 1 /* fix me, speed */ ) != 0) ++ { ++ VERBOSE("ERROR: iec61883_cmp_create_bcast_output failed\n"); ++ return 0; ++ } ++ ++ VERBOSE("Broadcast: connection established.\n"); ++ VERBOSE("Broadcast: receiving packets... "); ++ ++ count = test_connection(handle, channel); ++ if (count >= MIN_PACKETS) ++ { ++ VERBOSE("%d packets received.\n", count); ++ success = 1; ++ } ++ else ++ { ++ VERBOSE("FAILED.\n"); ++ } ++ ++ VERBOSE("Disconnecting broadcast connection on node %d, channel %d\n", node, channel); ++ iec61883_cmp_disconnect(handle, node | 0xffc0, 0, ++ raw1394_get_local_id (handle), ++ -1, channel, 0); ++ return success; ++} ++ ++int tap_plug0(raw1394handle_t handle, nodeid_t node, int action, int plugstate) { ++ ++ struct iec61883_oPCR o_pcr; ++ int plugact; ++ int plugnode = (0xffc0 + node); ++ ++ if (!action) ++ { ++ plugact = iec61883_get_oPCR0(handle, plugnode, &o_pcr); ++ if (plugact < 0) ++ { ++ VERBOSE("ERROR reading oPCR0: %s\n", strerror( errno )); ++ return 0; ++ } ++ return 1; ++ } ++ ++ o_pcr.n_p2p_connections = plugstate; ++ plugact = iec61883_set_oPCR0(handle, plugnode, o_pcr); ++ if (plugact < 0) ++ { ++ VERBOSE("ERROR setting 0PCR0: %s\n", strerror( errno )); ++ return 0; ++ } ++ ++ return 1; ++} ++ ++/* ++ * ++ * prime_stb: attempts to prime the stb on the supplied port and node ++ * ++ * returns 1 if any attempts succeed or 0 for total priming failure ++ * ++ */ ++ ++int prime_stb(raw1394handle_t handle, nodeid_t node) { ++ ++ int retries; ++ int success = 0; ++ int tries = 0; ++ int loop; ++ ++ success = 0; ++ ++ while (tries < 10) ++ { ++ if (!tap_plug0(handle, node, 1, 1)) ++ return 0; ++ for (loop = 0; loop < 5; loop++) ++ success += test_p2p(handle, node); ++ if (!tap_plug0(handle, node, 1, 0)) ++ return 0; ++ ++ VERBOSE("\nsuccessful connections: %d\n", success); ++ ++ if (success == 5) ++ return 1; ++ else if (tries < 1 || success > 0) ++ { ++ tries++; ++ success = 0; ++ continue; ++ } ++ break; ++ ++ } ++ ++ VERBOSE("\nP2P priming failed... attempting broadcast priming.\n"); ++ ++ tries = 0; ++ success = 0; ++ ++ while (tries < 3) ++ { ++ retries = 0; ++ while (retries < 10) ++ { ++ if (test_p2p(handle, node)) ++ { ++ success = 0; ++ while (test_broadcast(handle, node)) ++ { ++ success++; ++ if (success == 5) ++ return 1; ++ } ++ } ++ retries++; ++ } ++ tries++; ++ } ++ return 0; ++} ++ ++void usage(void) { ++ printf("mythprime [-v][-V][-h]\n"); ++ printf(" Options:\n"); ++ printf(" -v - verbose output\n"); ++ printf(" -V - Display version information and exit\n"); ++ printf(" -h - display this help and exit\n"); ++ exit(1); ++} ++ ++int main(int argc, char **argv) { ++ ++ int c; ++ int devices; ++ int searchnode = 0; ++ int avail_ports; ++ int primed = 0; ++ int failed = 0; ++ int skipped = 0; ++ int ignored = 0; ++ int runs = 0; ++ ++ opterr = 0; ++ ++ while ((c = getopt(argc, argv, "vVh")) != -1) ++ { ++ switch (c) ++ { ++ case 'v': ++ verbose = 1; ++ break; ++ ++ case 'V': ++ printf("\nmythprime version %s\n\n", VERSION); ++ exit(1); ++ break; ++ ++ case 'h': ++ usage(); ++ exit(1); ++ break; ++ ++ default: ++ printf("\nInvalid command line\n"); ++ usage(); ++ ++ } ++ } ++ ++ VERBOSE("mythprime %s\n\n", VERSION); ++ ++ VERBOSE("Checking for available firewire ports:"); ++ VERBOSE("\nAcquiring firewire handle... "); ++ ++ if (!(handle = raw1394_new_handle())) ++ { ++ VERBOSE("FAILED!\n"); ++ return 1; ++ } ++ ++ VERBOSE("OK.\n"); ++ ++ avail_ports = raw1394_get_port_info(handle, NULL, 0); ++ VERBOSE("%d ports found\n", avail_ports); ++ ++ if (!raw1394_reset_bus_new(handle, RAW1394_LONG_RESET) == 0) ++ { ++ printf("Bus reset failed: %d: %s\n", errno, strerror( errno )); ++ return 1; ++ } ++ ++ VERBOSE("Bus reset succeeded\n\n"); ++ ++ for (runs = 0; runs < 3; runs ++) ++ { ++ while (port < avail_ports) ++ { ++ VERBOSE("Acquiring handle on port %d.\n", port); ++ handle = raw1394_new_handle_on_port(port); ++ ++ if (!handle) ++ { ++ printf("Failed to acquire handle on port %d.\n", port); ++ return 1; ++ } ++ ++/* ++ * locate and prime cable boxes on the firewire bus by avc subtypes: ++ * ++ * the first check rules out most non-stbs by checking to see if the ++ * device is a panel or tuner- most stbs are both. the next check ++ * discludes vcrs, as most should report as a tuner and a vcr. ++ * ++ * this should find and prime only stbs and ignore all other devices ++ * that are likely to be connected to a mythtv backend server. ++ * ++*/ ++ devices = raw1394_get_nodecount(handle); ++ printf("%d devices detected. checking avc subtypes...\n", devices - 1); ++ for (devices=devices; devices > 0; devices--) ++ { ++ if (!tap_plug0(handle, searchnode, 0, 0)) ++ { ++ VERBOSE("Skipping ghost node %d\n", searchnode); ++ skipped++; ++ searchnode++; ++ continue; ++ } ++ if (!avc1394_check_subunit_type(handle, searchnode, TUNER) || ++ !avc1394_check_subunit_type(handle, searchnode, TUNER_ALT) || ++ !avc1394_check_subunit_type(handle, searchnode, PANEL)) ++ { ++ if (avc1394_check_subunit_type(handle, searchnode, VCR) || ++ avc1394_check_subunit_type(handle, searchnode, VCR_ALT)) ++ { ++ printf("node %d is not an STB and will not be primed\n", searchnode); ++ ignored++; ++ searchnode++; ++ continue; ++ } ++ ++ } ++ ++ VERBOSE("\nAttempting to prime device on port %d node %d.\n", port, searchnode); ++ VERBOSE("Powering device on port %d node %d...", port, searchnode); ++ ++ if (avc1394_send_command(handle, searchnode, POWER_ON)) ++ VERBOSE("failed.\n"); ++ else ++ VERBOSE("successful.\n"); ++ ++ usleep(5000000); ++ ++ if (!prime_stb(handle, searchnode)) ++ { ++ VERBOSE("Failed to prime stb on port %d node %d.\n", port, searchnode); ++ failed++; ++ searchnode++; ++ continue; ++ } ++ ++ VERBOSE("Successfully primed stb on port %d node %d.\n\n", port, searchnode); ++ primed++; ++ searchnode++; ++ } ++ port++; ++ searchnode = 0; ++ } ++ ++ raw1394_destroy_handle(handle); ++ ++ if (!failed) ++ { ++ printf("%d stbs primed, %d non-stbs ignored and %d ghost nodes skipped on " \ ++ "%d ports.\n", primed, ignored, skipped, avail_ports); ++ return 0; ++ } ++ ++ printf("\nPriming errors encountered, trying again...\n"); ++ port = 0; ++ primed = 0; ++ failed = 0; ++ skipped = 0; ++ ignored = 0; ++ } ++ ++ printf("Priming Errors encountered: %d stbs primed, %d stbs failed to prime, "\ ++ "%d non-stbs ignored and %d ghost nodes skipped on %d ports in %d runs.\n",\ ++ primed, failed, ignored, skipped, avail_ports, runs); ++ return 2; ++} ++ +diff -urNad mythtv-0.21.0+fixes16838~/programs/mythprime/mythprime.pro mythtv-0.21.0+fixes16838/programs/mythprime/mythprime.pro +--- mythtv-0.21.0+fixes16838~/programs/mythprime/mythprime.pro 1969-12-31 18:00:00.000000000 -0600 ++++ mythtv-0.21.0+fixes16838/programs/mythprime/mythprime.pro 2008-04-10 22:30:16.000000000 -0500 +@@ -0,0 +1,14 @@ ++include ( ../../config.mak ) ++include ( ../../settings.pro ) ++include ( ../../version.pro ) ++include ( ../programs-libs.pro ) ++ ++TEMPLATE = app ++CONFIG += thread ++TARGET = mythprime ++target.path = $${PREFIX}/bin ++INSTALLS = target ++ ++QMAKE_CLEAN += $(TARGET) ++ ++SOURCES += mythprime.c +diff -urNad mythtv-0.21.0+fixes16838~/programs/programs.pro mythtv-0.21.0+fixes16838/programs/programs.pro +--- mythtv-0.21.0+fixes16838~/programs/programs.pro 2008-03-30 00:58:42.000000000 -0500 ++++ mythtv-0.21.0+fixes16838/programs/programs.pro 2008-04-10 22:30:16.000000000 -0500 +@@ -12,6 +12,7 @@ + + using_backend { + SUBDIRS += mythbackend mythfilldatabase mythtv-setup ++ SUBDIRS += mythprime + } + + using_frontend:using_backend { --- mythtv-0.21.0+fixes18207.orig/debian/patches/14_fix_video_fallback.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/14_fix_video_fallback.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 14_fix_video_fallback.dpatch by Michael Haas +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Don't fall back to opengl video output immediately if eg xvmc-blit +## DP: is not available. xv-blit is better. +## DP: see http://svn.mythtv.org/trac/ticket/4951 + +@DPATCH@ + +--- a/libs/libmythtv/videoout_xv.cpp (revision 16772) ++++ b/libs/libmythtv/videoout_xv.cpp (working copy) +@@ -4313,12 +4313,12 @@ + QStringList list; + if (myth_codec_id < kCodec_NORMAL_END) + { +- if (opengl) +- list += "opengl"; + if (xv) + list += "xv-blit"; + if (shm) + list += "xshm"; ++ if (opengl) ++ list += "opengl"; + list += "xlib"; + } + else + --- mythtv-0.21.0+fixes18207.orig/debian/patches/16_hal_shutdown.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/16_hal_shutdown.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 16_hal_shutdown.dpatch by Michael Haas +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Change some defaults to work better with Ubuntu: +## DP: For reboot and shutdown, we can just talk to HAL + + +--- a/programs/mythfrontend/globalsettings.cpp (revision 16838) ++++ b/programs/mythfrontend/globalsettings.cpp (working copy) +@@ -2194,7 +2194,7 @@ + { + HostLineEdit *ge = new HostLineEdit("RebootCommand"); + ge->setLabel(QObject::tr("Reboot command")); +- ge->setValue("reboot"); ++ ge->setValue("/usr/share/mythtv/myth-reboot.sh"); + ge->setHelpText(QObject::tr("Command or script to run if you select " + "the reboot option from the exit menu, if the option " + "is displayed. You must configure an exit key to " +@@ -2206,7 +2206,7 @@ + { + HostLineEdit *ge = new HostLineEdit("HaltCommand"); + ge->setLabel(QObject::tr("Halt command")); +- ge->setValue("halt"); ++ ge->setValue("/usr/share/mythtv/myth-halt.sh"); + ge->setHelpText(QObject::tr("Command or script to run if you select " + "the shutdown option from the exit menu, if the option " + "is displayed. You must configure an exit key to " --- mythtv-0.21.0+fixes18207.orig/debian/patches/02_settings.pro.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/02_settings.pro.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_debian-patch.dpatch by Christian Marillat +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Option to fix build if made on / + +@DPATCH@ + +--- mythtv-0.18.1.orig/settings.pro 2006-06-12 15:14:15.000000000 +0200 ++++ mythtv-0.18.1/settings.pro 2006-06-12 15:14:35.000000000 +0200 +@@ -7,6 +7,8 @@ + LIBVERSION = 0.19 + VERSION = 0.19.0 + ++QMAKE_PROJECT_DEPTH = 1 ++ + # Die on the (common) case where OS X users inadvertently use Fink's + # Qt/X11 install instead of Qt/Mac. ' + contains(CONFIG_DARWIN, yes) { --- mythtv-0.21.0+fixes18207.orig/debian/patches/08_default_directory.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/08_default_directory.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 08_default_directory.dpatch by laga <> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Make "/var/lib/mythtv/recordings" the default recording directory +## DP: This patch replaces 01_debian.dpatch + +@DPATCH@ +diff -urNad mythtv-0.20.99+trunk15849~/libs/libmyth/storagegroup.cpp mythtv-0.20.99+trunk15849/libs/libmyth/storagegroup.cpp +--- mythtv-0.20.99+trunk15849~/libs/libmyth/storagegroup.cpp 2008-02-07 22:17:24.000000000 -0600 ++++ mythtv-0.20.99+trunk15849/libs/libmyth/storagegroup.cpp 2008-02-08 13:56:48.000000000 -0600 +@@ -11,7 +11,7 @@ + #define LOC_WARN QString("SG(%1) Warning: ").arg(m_groupname) + #define LOC_ERR QString("SG(%1) Error: ").arg(m_groupname) + +-const char *StorageGroup::kDefaultStorageDir = "/mnt/store"; ++const char *StorageGroup::kDefaultStorageDir = "/var/lib/mythtv/recordings"; + + const QStringList StorageGroup::kSpecialGroups = QStringList() + << "LiveTV" --- mythtv-0.21.0+fixes18207.orig/debian/patches/23_video_device_symlinks.dpatch +++ mythtv-0.21.0+fixes18207/debian/patches/23_video_device_symlinks.dpatch @@ -0,0 +1,556 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## video_device_symlinks.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mythtv-0.20.1+fixes13837~/libs/libmythtv/videosource.cpp mythtv-0.20.1+fixes13837/libs/libmythtv/videosource.cpp +--- mythtv-0.20.1+fixes13837~/libs/libmythtv/videosource.cpp 2007-07-18 01:20:07.000000000 -0500 ++++ mythtv-0.20.1+fixes13837/libs/libmythtv/videosource.cpp 2007-07-20 00:12:29.000000000 -0500 +@@ -50,7 +50,7 @@ + QString VSSetting::whereClause(MSqlBindings& bindings) + { + QString sourceidTag(":WHERESOURCEID"); +- ++ + QString query("sourceid = " + sourceidTag); + + bindings.insert(sourceidTag, parent.getSourceID()); +@@ -63,7 +63,7 @@ + QString sourceidTag(":SETSOURCEID"); + QString colTag(":SET" + getColumn().upper()); + +- QString query("sourceid = " + sourceidTag + ", " + ++ QString query("sourceid = " + sourceidTag + ", " + + getColumn() + " = " + colTag); + + bindings.insert(sourceidTag, parent.getSourceID()); +@@ -75,7 +75,7 @@ + QString CCSetting::whereClause(MSqlBindings& bindings) + { + QString cardidTag(":WHERECARDID"); +- ++ + QString query("cardid = " + cardidTag); + + bindings.insert(cardidTag, parent.getCardID()); +@@ -107,7 +107,7 @@ + }; + }; + +-FreqTableSelector::FreqTableSelector(const VideoSource& parent) ++FreqTableSelector::FreqTableSelector(const VideoSource& parent) + : VSSetting(parent, "freqtable") + { + setLabel(QObject::tr("Channel frequency table")); +@@ -154,7 +154,7 @@ + + void DataDirectLineupSelector::fillSelections(const QString &uid, + const QString &pwd, +- int _source) ++ int _source) + { + (void) uid; + (void) pwd; +@@ -168,7 +168,7 @@ + DataDirectProcessor ddp(_source, uid, pwd); + QString waitMsg = tr("Fetching lineups from %1...") + .arg(ddp.GetListingsProviderName()); +- ++ + VERBOSE(VB_GENERAL, waitMsg); + MythProgressDialog pdlg(waitMsg, 2); + +@@ -196,13 +196,13 @@ + #endif // USING_BACKEND + } + +-void DataDirect_config::load() ++void DataDirect_config::load() + { + VerticalConfigurationGroup::load(); +- if ((userid->getValue() != lastloadeduserid) || +- (password->getValue() != lastloadedpassword)) ++ if ((userid->getValue() != lastloadeduserid) || ++ (password->getValue() != lastloadedpassword)) + { +- lineupselector->fillSelections(userid->getValue(), ++ lineupselector->fillSelections(userid->getValue(), + password->getValue(), + source); + lastloadeduserid = userid->getValue(); +@@ -213,7 +213,7 @@ + DataDirect_config::DataDirect_config(const VideoSource& _parent, int _source) : + ConfigurationGroup(false, false, false, false), + VerticalConfigurationGroup(false, false, false, false), +- parent(_parent) ++ parent(_parent) + { + source = _source; + +@@ -238,11 +238,11 @@ + userid->getValue(), password->getValue(), source); + } + +-XMLTV_generic_config::XMLTV_generic_config(const VideoSource& _parent, ++XMLTV_generic_config::XMLTV_generic_config(const VideoSource& _parent, + QString _grabber) : + ConfigurationGroup(false, false, false, false), + VerticalConfigurationGroup(false, false, false, false), +- parent(_parent), grabber(_grabber) ++ parent(_parent), grabber(_grabber) + { + TransLabelSetting *label = new TransLabelSetting(); + label->setLabel(grabber); +@@ -295,7 +295,7 @@ + "instead of just 'mythfilldatabase'.\nYour grabber does not provide " + "channel numbers, so you have to set them manually."); + +- if (grabber == "tv_grab_de_tvtoday" || grabber == "tv_grab_se_swedb" || ++ if (grabber == "tv_grab_de_tvtoday" || grabber == "tv_grab_se_swedb" || + grabber == "tv_grab_fi" || grabber == "tv_grab_es" || + grabber == "tv_grab_es_laguiatv" || + grabber == "tv_grab_nl" || grabber == "tv_grab_jp" || +@@ -310,7 +310,7 @@ + gContext->GetMainWindow(), QObject::tr("Warning."), err_msg); + } + +- pdlg.setProgress( 2 ); ++ pdlg.setProgress( 2 ); + pdlg.Close(); + } + +@@ -370,10 +370,10 @@ + + // only save settings for the selected grabber + setSaveAll(false); +- ++ + addTarget("datadirect", new DataDirect_config(parent)); + grabber->addSelection("North America (DataDirect)", "datadirect"); +- ++ + addTarget("eitonly", new EITOnly_config(parent)); + grabber->addSelection("Transmitted guide only (EIT)", "eitonly"); + +@@ -444,7 +444,7 @@ + grabber->addSelection("No grabber", "/bin/true"); + } + +-VideoSource::VideoSource() ++VideoSource::VideoSource() + { + // must be first + addChild(id = new ID()); +@@ -457,8 +457,8 @@ + addChild(group); + } + +-bool VideoSourceEditor::cardTypesInclude(const int &sourceID, +- const QString &thecardtype) ++bool VideoSourceEditor::cardTypesInclude(const int &sourceID, ++ const QString &thecardtype) + { + MSqlQuery query(MSqlQuery::InitCon()); + query.prepare("SELECT count(cardtype)" +@@ -481,7 +481,7 @@ + return false; + } + +-void VideoSource::fillSelections(SelectSetting* setting) ++void VideoSource::fillSelections(SelectSetting* setting) + { + MSqlQuery result(MSqlQuery::InitCon()); + result.prepare("SELECT name, sourceid FROM videosource;"); +@@ -496,7 +496,7 @@ + } + } + +-void VideoSource::loadByID(int sourceid) ++void VideoSource::loadByID(int sourceid) + { + id->setValue(sourceid); + load(); +@@ -513,7 +513,13 @@ + : PathSetting(true), CCSetting(parent, "videodevice") + { + setLabel(QObject::tr("Video device")); ++ //Ubuntu specific udev patches allow for this ++ // /dev/v4l/by-path/video* ++ QDir dev("/dev/v4l/by-path", QString::null, QDir::Name, QDir::System); ++ fillSelectionsFromDir(dev, minor_min, minor_max, ++ card, driver, false); + ++/* + // /dev/v4l/video* + QDir dev("/dev/v4l", "video*", QDir::Name, QDir::System); + fillSelectionsFromDir(dev, minor_min, minor_max, +@@ -524,6 +530,8 @@ + fillSelectionsFromDir(dev, minor_min, minor_max, + card, driver, false); + ++*/ ++ + // /dev/dtv/video* + dev.setPath("/dev/dtv"); + fillSelectionsFromDir(dev, minor_min, minor_max, +@@ -534,7 +542,7 @@ + dev.setNameFilter("dtv*"); + fillSelectionsFromDir(dev, minor_min, minor_max, + card, driver, false); +- }; ++ }; + + uint fillSelectionsFromDir(const QDir& dir, + uint minor_min, uint minor_max, +@@ -545,7 +553,7 @@ + const QFileInfoList *il = dir.entryInfoList(); + if (!il) + return cnt; +- ++ + QFileInfoListIterator it( *il ); + QFileInfo *fi; + +@@ -831,7 +839,7 @@ + addSelection(QObject::tr("Other")); + addSelection("DCT-6200"); + addSelection("SA3250HD"); +- addSelection("SA4200HD"); ++ addSelection("SA4200HD"); + QString help = QObject::tr( + "Choose the model that most closely resembles your set top box. " + "Depending on firmware revision SA4200HD may work better for a " +@@ -1245,8 +1253,8 @@ + + setTrigger(cardtype); + setSaveAll(false); +- +- ++ ++ + #ifdef USING_V4L + addTarget("V4L", new V4LConfigurationGroup(parent)); + addTarget("HDTV", new pcHDTVConfigurationGroup(parent)); +@@ -1280,13 +1288,13 @@ + #endif // USING_FREEBOX + } + +-void CaptureCardGroup::triggerChanged(const QString& value) ++void CaptureCardGroup::triggerChanged(const QString& value) + { + QString own = (value == "MJPEG" || value == "GO7007") ? "V4L" : value; + TriggeredConfigurationGroup::triggerChanged(own); + } + +-CaptureCard::CaptureCard(bool use_card_group) ++CaptureCard::CaptureCard(bool use_card_group) + { + // must be first + addChild(id = new ID()); +@@ -1301,12 +1309,12 @@ + parentid->setValue(QString::number(id)); + } + +-void CaptureCard::fillSelections(SelectSetting* setting) ++void CaptureCard::fillSelections(SelectSetting* setting) + { + CaptureCard::fillSelections(setting, false); + } + +-void CaptureCard::fillSelections(SelectSetting* setting, bool no_children) ++void CaptureCard::fillSelections(SelectSetting* setting, bool no_children) + { + MSqlQuery query(MSqlQuery::InitCon()); + QString qstr = +@@ -1338,14 +1346,14 @@ + } + } + +-void CaptureCard::loadByID(int cardid) ++void CaptureCard::loadByID(int cardid) + { + id->setValue(cardid); + load(); + } + + CardType::CardType(const CaptureCard& parent) +- : CCSetting(parent, "cardtype") ++ : CCSetting(parent, "cardtype") + { + setLabel(QObject::tr("Card type")); + setHelpText(QObject::tr("Change the cardtype to the appropriate type for " +@@ -1502,7 +1510,7 @@ + setLabel(QObject::tr("Allow audio only channels")); + setHelpText(QObject::tr( + "If set, audio only channels will not be ignored " +- "by the MythTV channel scanner.")); ++ "by the MythTV channel scanner.")); + }; + }; + +@@ -1562,7 +1570,7 @@ + return; + } + +- // If there are channels sort them, then add them ++ // If there are channels sort them, then add them + // (selecting the old start channel if it is there). + QString order = gContext->GetSetting("ChannelOrdering", "channum"); + ChannelUtil::SortChannels(channels, order); +@@ -1630,7 +1638,7 @@ + if (isDTVcard) + { + // we place this in a group just so the margins match the DVB ones. +- ConfigurationGroup *chgroup = ++ ConfigurationGroup *chgroup = + new HorizontalConfigurationGroup(false, false, true, true); + chgroup->addChild(new FreeToAir(*this)); + group->addChild(chgroup); +@@ -1645,8 +1653,8 @@ + diseqc->setVisible(DTVDeviceNeedsConfiguration(_cardid)); + group->addChild(diseqc); + connect(diseqc, SIGNAL(pressed()), SLOT(diseqcConfig())); +- +- ConfigurationGroup *chgroup = ++ ++ ConfigurationGroup *chgroup = + new HorizontalConfigurationGroup(false, false, true, true); + chgroup->addChild(new RadioServices(*this)); + chgroup->addChild(new DishNetEIT(*this)); +@@ -1720,7 +1728,7 @@ + scanwizard.exec(false,true); + + if (SourceUtil::GetChannelCount(srcid)) +- startchan->SetSourceID(QString::number(srcid)); ++ startchan->SetSourceID(QString::number(srcid)); + if (num_channels_before) + { + startchan->load(); +@@ -1730,7 +1738,7 @@ + VERBOSE(VB_IMPORTANT, "You must compile the backend " + "to be able to scan for channels"); + #endif +- ++ + } + + void CardInput::sourceFetch(void) +@@ -1758,7 +1766,7 @@ + } + + if (SourceUtil::GetChannelCount(srcid)) +- startchan->SetSourceID(QString::number(srcid)); ++ startchan->SetSourceID(QString::number(srcid)); + if (num_channels_before) + { + startchan->load(); +@@ -1774,10 +1782,10 @@ + #endif // USING_DVB + } + +-QString CISetting::whereClause(MSqlBindings& bindings) ++QString CISetting::whereClause(MSqlBindings& bindings) + { + QString cardinputidTag(":WHERECARDINPUTID"); +- ++ + QString query("cardinputid = " + cardinputidTag); + + bindings.insert(cardinputidTag, parent.getInputID()); +@@ -1785,12 +1793,12 @@ + return query; + } + +-QString CISetting::setClause(MSqlBindings& bindings) ++QString CISetting::setClause(MSqlBindings& bindings) + { + QString cardinputidTag(":SETCARDINPUTID"); + QString colTag(":SET" + getColumn().upper()); + +- QString query("cardinputid = " + cardinputidTag + ", " + ++ QString query("cardinputid = " + cardinputidTag + ", " + + getColumn() + " = " + colTag); + + bindings.insert(cardinputidTag, parent.getInputID()); +@@ -1799,7 +1807,7 @@ + return query; + } + +-void CardInput::loadByID(int inputid) ++void CardInput::loadByID(int inputid) + { + id->setValue(inputid); + #ifdef USING_DVB +@@ -1808,7 +1816,7 @@ + load(); + } + +-void CardInput::loadByInput(int _cardid, QString _inputname) ++void CardInput::loadByInput(int _cardid, QString _inputname) + { + MSqlQuery query(MSqlQuery::InitCon()); + query.prepare("SELECT cardinputid FROM cardinput " +@@ -1816,12 +1824,12 @@ + query.bindValue(":CARDID", _cardid); + query.bindValue(":INPUTNAME", _inputname); + +- if (query.exec() && query.isActive() && query.size() > 0) ++ if (query.exec() && query.isActive() && query.size() > 0) + { + query.next(); + loadByID(query.value(0).toInt()); +- } +- else ++ } ++ else + { + load(); // new + cardid->setValue(QString::number(_cardid)); +@@ -1829,7 +1837,7 @@ + } + } + +-void CardInput::save() ++void CardInput::save() + { + + if (sourceid->getValue() == "0") +@@ -1849,17 +1857,17 @@ + } + } + +-int CISetting::getInputID(void) const ++int CISetting::getInputID(void) const + { + return parent.getInputID(); + } + +-int CCSetting::getCardID(void) const ++int CCSetting::getCardID(void) const + { + return parent.getCardID(); + } + +-int CaptureCardEditor::exec() ++int CaptureCardEditor::exec() + { + while (ConfigurationDialog::exec() == QDialog::Accepted) + edit(); +@@ -1867,7 +1875,7 @@ + return QDialog::Rejected; + } + +-void CaptureCardEditor::load() ++void CaptureCardEditor::load() + { + clearSelections(); + addSelection(QObject::tr("(New capture card)"), "0"); +@@ -1878,7 +1886,7 @@ + } + + MythDialog* CaptureCardEditor::dialogWidget(MythMainWindow* parent, +- const char* widgetName) ++ const char* widgetName) + { + dialog = ConfigurationDialog::dialogWidget(parent, widgetName); + connect(dialog, SIGNAL(menuButtonPressed()), this, SLOT(menu())); +@@ -1889,12 +1897,12 @@ + + void CaptureCardEditor::menu(void) + { +- if (getValue().toInt() == 0) ++ if (getValue().toInt() == 0) + { + CaptureCard cc; + cc.exec(); +- } +- else ++ } ++ else + { + int val = MythPopupBox::show2ButtonPopup( + gContext->GetMainWindow(), +@@ -1992,7 +2000,7 @@ + } + + MythDialog* VideoSourceEditor::dialogWidget(MythMainWindow* parent, +- const char* widgetName) ++ const char* widgetName) + { + dialog = ConfigurationDialog::dialogWidget(parent, widgetName); + connect(dialog, SIGNAL(menuButtonPressed()), this, SLOT(menu())); +@@ -2017,12 +2025,12 @@ + + void VideoSourceEditor::menu() + { +- if (getValue().toInt() == 0) ++ if (getValue().toInt() == 0) + { + VideoSource vs; + vs.exec(); +- } +- else ++ } ++ else + { + int val = MythPopupBox::show2ButtonPopup( + gContext->GetMainWindow(), +@@ -2039,7 +2047,7 @@ + } + } + +-void VideoSourceEditor::edit() ++void VideoSourceEditor::edit() + { + const int sourceid = getValue().toInt(); + if (-1 == sourceid) +@@ -2074,7 +2082,7 @@ + } + } + +-void VideoSourceEditor::del() ++void VideoSourceEditor::del() + { + int val = MythPopupBox::show2ButtonPopup( + gContext->GetMainWindow(), "", +@@ -2122,7 +2130,7 @@ + } + } + +-int CardInputEditor::exec() ++int CardInputEditor::exec() + { + while (ConfigurationDialog::exec() == QDialog::Accepted) + cardinputs[getValue().toInt()]->exec(); +@@ -2130,7 +2138,7 @@ + return QDialog::Rejected; + } + +-void CardInputEditor::load() ++void CardInputEditor::load() + { + cardinputs.clear(); + clearSelections(); +@@ -2348,7 +2356,7 @@ + + addChild(cardnum); + +- HorizontalConfigurationGroup *hg0 = ++ HorizontalConfigurationGroup *hg0 = + new HorizontalConfigurationGroup(false, false, true, true); + hg0->addChild(cardname); + hg0->addChild(cardtype); +@@ -2376,9 +2384,9 @@ + "detect this problem.")); + + TransButtonSetting *buttonRecOpt = new TransButtonSetting(); +- buttonRecOpt->setLabel(tr("Recording Options")); ++ buttonRecOpt->setLabel(tr("Recording Options")); + +- HorizontalConfigurationGroup *advcfg = ++ HorizontalConfigurationGroup *advcfg = + new HorizontalConfigurationGroup(false, false, true, true); + advcfg->addChild(buttonDiSEqC); + advcfg->addChild(buttonAnalog); --- mythtv-0.21.0+fixes18207.orig/debian/startmythtv.sh +++ mythtv-0.21.0+fixes18207/debian/startmythtv.sh @@ -0,0 +1,97 @@ +#! /bin/sh +# MythTV Openbox Startup Session Script for Ubuntu Linux +# by Mario Limonciello +# November 2006-2007 + +#source our dialog functions +. /usr/share/mythtv/dialog_functions.sh + +#For our backend configure test scripts +find_session +find_dialog +find_su + +#set background +feh --bg-center /usr/share/mythtv/background.xpm + +#start gnome-power-manager if installed +if [ -x /usr/bin/gnome-power-manager ]; then + gnome-power-manager +fi + +#check if irexec is needed, and start if need be +if [ -x /usr/bin/irexec ] && [ ! -f ~/.noirexec ] && [ -f ~/.lircrc ]; then + if [ -n "$(cat ~/.lircrc | grep --invert-match "#" | grep irexec | grep prog)" ] + then + killall irexec + irexec -d + fi +fi + +#if nvidia settings are saved and nvidia drivers installed, load them +if [ -x /usr/bin/nvidia-settings ]; then + if [ -f ~/.nvidia-settings-rc ]; then + nvidia-settings -l + fi +fi + +#If the user has customized any xmodmap settings, load them +if [ -x /usr/bin/xmodmap ]; then + if [ -f ~/.xmodmap ]; then + xmodmap ~/.xmodmap + fi +fi + +#If we have mtd around (and not running), good idea to start it too +if ! `pgrep mtd>/dev/null`; then + if [ -x /usr/bin/mtd ]; then + /usr/bin/mtd -d + fi +fi + +#start window manager +openbox & + +echo "Checking for custom mythtv commands in ~/.mythtv/session" +if [ -x $HOME/.mythtv/session ]; then + $HOME/.mythtv/session & +fi + +if [ -x /usr/bin/mythbackend ]; then + if [ -e $HOME/.mythtv/backend_configured ]; then + HAS_BACKEND_CONFIGURED=1 + else + dialog_question "Run MythTV Configuration" "It appears that a backend is installed, but mythtv-setup hasn't been run yet on this machine. Would you like to run it?" + HAS_BACKEND_CONFIGURED=$? + mkdir -p $HOME/.mythtv + touch $HOME/.mythtv/backend_configured + fi +else + HAS_BACKEND_CONFIGURED=1 +fi + +if [ "$HAS_BACKEND_CONFIGURED" = "0" ]; then + NAME="mythbackend" + RUNDIR=/var/run/mythtv + EXTRA_ARGS="" + ARGS="--daemon --logfile /var/log/mythtv/mythbackend.log --pidfile $RUNDIR/$NAME.pid" + if [ -f /etc/default/mythtv-backend ]; then + . /etc/default/mythtv-backend + fi + kill `pgrep mythbackend` + test -e $RUNDIR/$NAME.pid && rm $RUNDIR/$NAME.pid + /usr/bin/mythtv-setup.real + dialog_question "Fill Database?" "Would you like to run mythfilldatabase?" + DATABASE_NOT=$? + if [ "$DATABASE_NOT" = "0" ]; then + xterm -title "Running mythfilldatabase" -e "unset DISPLAY && unset SESSION_MANAGER && mythfilldatabase; sleep 3" + fi + xterm -title "Starting Backend" -e "unset DISPLAY && unset SESSION_MANAGER && mythbackend $ARGS $EXTRA_ARGS; sleep 3" +fi + + +# start mythtv frontend software +# note: the logging related stuff was moved to /usr/bin/mythfrontend +# this is also the place where we source /etc/mythtv/session-settings +exec mythfrontend --service + --- mythtv-0.21.0+fixes18207.orig/debian/myth-suspend.sh +++ mythtv-0.21.0+fixes18207/debian/myth-suspend.sh @@ -0,0 +1,3 @@ +#!/bin/sh +# This script uses dbus to tell HAL to suspend your computer +dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend --- mythtv-0.21.0+fixes18207.orig/debian/README.Debian +++ mythtv-0.21.0+fixes18207/debian/README.Debian @@ -0,0 +1,11 @@ +MythTV for Ubuntu +----------------- + +Within the scripts directory is a a file called myth.rebuilddatabase.pl +Running this script on Ubuntu requires the following: + +sudo apt-get install libtimedate-perl libtime-format-perl +chmod a+x myth.rebuilddatabase.pl +./myth.rebuilddatabase.pl + + -- Mario Limonciello , Mon July 09 01:22:46 2007 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.prerm +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.prerm @@ -0,0 +1,9 @@ +#!/bin/sh -e + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then + rm -f /var/lib/update-notifier/user.d/mythtv-reconfigure-required +fi + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.postinst +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.postinst @@ -0,0 +1,43 @@ +#!/bin/sh -e + +case "$1" in + configure) + if [ ! -e /dev/.devfsd ]; then + . /usr/share/debconf/confmodule + + db_get mythtv/create_v4l_devs + if [ "$RET" = "true" ]; then + (cd /dev && MAKEDEV v4l) + fi + fi + + for dir in /var/log/mythtv /var/lib/mythtv/recordings /var/cache/mythtv; do + if [ -d "$dir" ] && ! dpkg-statoverride --list "$dir" >/dev/null; then + chown mythtv:mythtv "$dir" + chmod 2775 "$dir" + fi + done + + if [ -z "$2" ]; then + # Migrate from old mythtv -> mythtv-backend + [ -f /etc/logrotate.d/mythtv ] && \ + mv /etc/logrotate.d/mythtv /etc/logrotate.d/mythtv-backend + + # Errors now sent via cron + rm -f /var/log/mythtv/mythfilldatabase.log* + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/compat +++ mythtv-0.21.0+fixes18207/debian/compat @@ -0,0 +1 @@ +5 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.postinst +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.postinst @@ -0,0 +1,170 @@ +#!/bin/sh -e + +MYSQL="/usr/share/mythtv/sql/mythtv_0.21.0.sql" +MYSQLCONFIG="/etc/mysql/conf.d/mythtv.cnf" +FSTAB="/etc/fstab" +EXT3=0 +NEWIP="127.0.0.1" +LOCALHOSTNAME=`cat /etc/hostname` + +prepare_database() { + sed -e "/^$/d; /^#/d; /^proc/d; /swap/d; /nfs/d; s/\t/\ \ \ \ /g;" $FSTAB | tee /tmp/fstab > /dev/null + if grep /var/lib/mythtv/recordings /tmp/fstab > /dev/null; then + if grep /var/lib/mythtv/recordings /tmp/fstab | grep ext3 > /dev/null; then + EXT3=1 + fi + elif grep /var/lib/mythtv /tmp/fstab > /dev/null; then + if grep /var/lib/mythtv /tmp/fstab | grep ext3 > /dev/null; then + EXT3=1 + fi + elif grep /var/lib /tmp/fstab > /dev/null; then + if grep /var/lib /tmp/fstab | grep ext3 > /dev/null; then + EXT3=1 + fi + elif grep "/var " /tmp/fstab > /dev/null; then + if grep "/var " /tmp/fstab | grep ext3 > /dev/null; then + EXT3=1 + fi + elif grep "/ " /tmp/fstab > /dev/null; then + if grep "/ " /tmp/fstab | grep ext3 > /dev/null; then + EXT3=1 + fi + fi + rm /tmp/fstab + + sed -e "s/OLDHOSTNAME/$LOCALHOSTNAME/g; s/127.0.0.1/$NEWIP/g; s/Slowly','0/Slowly','$EXT3/g;" $MYSQL | tee ${MYSQL}.new > /dev/null + mv ${MYSQL}.new $MYSQL + + if [ "$admin_password" != "" ]; then + mysql -h $hostname -u $admin_username -p$admin_password $database < $MYSQL + else + mysql -h $hostname -u $admin_username $database < $MYSQL + fi +} + +escape_quotes() { + cat <$tmp +$admin_password +EOF + perl -e " +use DBI; +chomp(\$password=<>); +@statements=split(/;/, '$statement'); +\$db = DBI->connect('dbi:mysql:host=$host;database=$database', + '$admin_username', \$password, + { PrintError => 0 }) || die 'Failed to connect to database: ' . \$DBI::errstr; +for \$s (@statements) { \$db->do(\$s) || die 'Failed to execute SQL: ' . \$s . '\n' . \$DBI::errstr; } +" < $tmp + ret=$? + rm -f $tmp + return $ret +} + +case "$1" in + configure) + . /usr/share/debconf/confmodule + + db_get mythtv/mysql_admin_user + admin_username="$RET" + db_get mythtv/mysql_admin_password + admin_password="$RET" + + db_get mythtv/mysql_host + hostname="$RET" + + if test -z "$hostname"; then + hostname=localhost + fi + + if [ "$hostname" = "localhost" ]; then + #redirection of 3 is because of debconf internally using it. + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d mysql start 3> /dev/null|| true + else + /etc/init.d/mysql start 3> /dev/null|| true + fi + fi + db_get mythtv/mysql_mythtv_dbname + database="$RET" + + if ! DoSQL "$hostname" "$admin_username" "$admin_password" "$database" "SELECT NULL" 2>/dev/null; then + + if ! DoSQL "$hostname" "$admin_username" "$admin_password" "" \ + "CREATE DATABASE $database"; then + echo "Failed to create database (incorrect admin username/password?)" >&2 + echo "It's also possible that mysql-server wasn't running. After install" >&2 + echo "is completed, you will need to make sure mysql-server is running" >&2 + echo "and that you supplied correct information. Try:" >&2 + echo "sudo dpkg-reconfigure mythtv-database" >&2 + # silently exit, instead pop up a notification for user indicating this + unud=/var/lib/update-notifier/user.d + if test -d $unud; then + cp -f /usr/share/mythtv/mythtv-reconfigure-required.update-notifier \ + /var/lib/update-notifier/user.d/mythtv-reconfigure-required + fi + exit 0 + fi + + fi + + db_get mythtv/mysql_mythtv_user + mythtv_username="$RET" + db_get mythtv/mysql_mythtv_password + mythtv_password="$RET" + + DoSQL "$hostname" "$admin_username" "$admin_password" "$database" \ + "GRANT ALL PRIVILEGES ON $database.* TO $mythtv_username@localhost IDENTIFIED BY '$mythtv_password'" + + DoSQL "$hostname" "$admin_username" "$admin_password" "$database" \ + "GRANT ALL PRIVILEGES ON $database.* TO + $mythtv_username@'%' IDENTIFIED BY '$mythtv_password'" + + #For database fillings + #and mysql binding checks + db_get mythtv/public_bind + if [ $RET = true ]; then + NEWIP=`ifconfig | grep "inet addr:" | grep --invert-match 127.0.0.1 | sed ' s/inet addr://g; s/^[ \t]*//;s/[ \t]*$//; q;' | awk '{print $1}'` + sed -e 's/^#bind/bind/' ${MYSQLCONFIG} | tee ${MYSQLCONFIG}.new > /dev/null + else + sed -e 's/^bind/#bind/' ${MYSQLCONFIG} | tee ${MYSQLCONFIG}.new > /dev/null + fi + mv ${MYSQLCONFIG}.new ${MYSQLCONFIG} + + #only prepare database if tables don't already exist + if ! DoSQL "$hostname" "$admin_username" "$admin_password" "$database" "SELECT value FROM settings LIMIT 1, 1" 2>/dev/null; then + prepare_database + else + #otherwise, just update sql with new bind settings if requested + DoSQL "$hostname" "$admin_username" "$admin_password" "$database" \ + "UPDATE settings SET data = '$NEWIP' WHERE settings.value = 'BackendServerIP' AND settings.hostname = '$LOCALHOSTNAME'" + DoSQL "$hostname" "$admin_username" "$admin_password" "$database" \ + "UPDATE settings SET data = '$NEWIP' WHERE settings.value = 'MasterServerIP'" + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythsql +++ mythtv-0.21.0+fixes18207/debian/mythsql @@ -0,0 +1,22 @@ +#!/bin/sh -e + +temp=$(tempfile) + +. /etc/mythtv/mysql.txt + +cat >$temp < +-- using MySQL dump 10.11 +-- +-- Currently this file has all instances of +-- the hostname set as OLDHOSTNAME +-- +-- All instances of the ip address are set +-- as 127.0.0.1 +-- +-- The language setting has been removed +-- +-- +-- Host: OLDHOSTNAME Database: mythconverg +-- ------------------------------------------------------ +-- Server version 5.0.51a-3ubuntu5 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `archiveitems` +-- + +DROP TABLE IF EXISTS `archiveitems`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `archiveitems` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `type` set('Recording','Video','File') default NULL, + `title` varchar(128) default NULL, + `subtitle` varchar(128) default NULL, + `description` text, + `startdate` varchar(30) default NULL, + `starttime` varchar(30) default NULL, + `size` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `hascutlist` tinyint(1) NOT NULL default '0', + `cutlist` text, + PRIMARY KEY (`intid`), + KEY `title` (`title`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `archiveitems` +-- + +LOCK TABLES `archiveitems` WRITE; +/*!40000 ALTER TABLE `archiveitems` DISABLE KEYS */; +/*!40000 ALTER TABLE `archiveitems` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `callsignnetworkmap` +-- + +DROP TABLE IF EXISTS `callsignnetworkmap`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `callsignnetworkmap` ( + `id` int(11) NOT NULL auto_increment, + `callsign` varchar(20) NOT NULL default '', + `network` varchar(20) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `callsign` (`callsign`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `callsignnetworkmap` +-- + +LOCK TABLES `callsignnetworkmap` WRITE; +/*!40000 ALTER TABLE `callsignnetworkmap` DISABLE KEYS */; +/*!40000 ALTER TABLE `callsignnetworkmap` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `capturecard` +-- + +DROP TABLE IF EXISTS `capturecard`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `capturecard` ( + `cardid` int(10) unsigned NOT NULL auto_increment, + `videodevice` varchar(128) default NULL, + `audiodevice` varchar(128) default NULL, + `vbidevice` varchar(128) default NULL, + `cardtype` varchar(32) default 'V4L', + `defaultinput` varchar(32) default 'Television', + `audioratelimit` int(11) default NULL, + `hostname` varchar(255) default NULL, + `dvb_swfilter` int(11) default '0', + `dvb_sat_type` int(11) NOT NULL default '0', + `dvb_wait_for_seqstart` int(11) NOT NULL default '1', + `skipbtaudio` tinyint(1) default '0', + `dvb_on_demand` tinyint(4) NOT NULL default '0', + `dvb_diseqc_type` smallint(6) default NULL, + `firewire_port` int(10) unsigned NOT NULL default '0', + `firewire_node` int(10) unsigned NOT NULL default '2', + `firewire_speed` int(10) unsigned NOT NULL default '0', + `firewire_model` varchar(32) default NULL, + `firewire_connection` int(10) unsigned NOT NULL default '0', + `dbox2_port` int(10) unsigned NOT NULL default '31338', + `dbox2_httpport` int(10) unsigned NOT NULL default '80', + `dbox2_host` varchar(32) default NULL, + `signal_timeout` int(11) NOT NULL default '1000', + `channel_timeout` int(11) NOT NULL default '3000', + `dvb_tuning_delay` int(10) unsigned NOT NULL default '0', + `contrast` int(11) NOT NULL default '0', + `brightness` int(11) NOT NULL default '0', + `colour` int(11) NOT NULL default '0', + `hue` int(11) NOT NULL default '0', + `diseqcid` int(10) unsigned default NULL, + `dvb_eitscan` tinyint(1) NOT NULL default '1', + PRIMARY KEY (`cardid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `capturecard` +-- + +LOCK TABLES `capturecard` WRITE; +/*!40000 ALTER TABLE `capturecard` DISABLE KEYS */; +/*!40000 ALTER TABLE `capturecard` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `cardinput` +-- + +DROP TABLE IF EXISTS `cardinput`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `cardinput` ( + `cardinputid` int(10) unsigned NOT NULL auto_increment, + `cardid` int(10) unsigned NOT NULL default '0', + `sourceid` int(10) unsigned NOT NULL default '0', + `inputname` varchar(32) NOT NULL default '', + `externalcommand` varchar(128) default NULL, + `preference` int(11) NOT NULL default '0', + `shareable` char(1) default 'N', + `tunechan` varchar(10) default NULL, + `startchan` varchar(10) default NULL, + `freetoaironly` tinyint(1) default '1', + `diseqc_port` smallint(6) default NULL, + `diseqc_pos` float default NULL, + `lnb_lof_switch` int(11) default '11700000', + `lnb_lof_hi` int(11) default '10600000', + `lnb_lof_lo` int(11) default '9750000', + `displayname` varchar(64) NOT NULL default '', + `radioservices` tinyint(1) default '1', + `dishnet_eit` tinyint(1) NOT NULL default '0', + `recpriority` int(11) NOT NULL default '0', + `quicktune` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`cardinputid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `cardinput` +-- + +LOCK TABLES `cardinput` WRITE; +/*!40000 ALTER TABLE `cardinput` DISABLE KEYS */; +/*!40000 ALTER TABLE `cardinput` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `channel` +-- + +DROP TABLE IF EXISTS `channel`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `channel` ( + `chanid` int(10) unsigned NOT NULL default '0', + `channum` varchar(10) NOT NULL default '', + `freqid` varchar(10) default NULL, + `sourceid` int(10) unsigned default NULL, + `callsign` varchar(20) NOT NULL default '', + `name` varchar(64) NOT NULL default '', + `icon` varchar(255) NOT NULL default 'none', + `finetune` int(11) default NULL, + `videofilters` varchar(255) NOT NULL default '', + `xmltvid` varchar(64) NOT NULL default '', + `recpriority` int(10) NOT NULL default '0', + `contrast` int(11) default '32768', + `brightness` int(11) default '32768', + `colour` int(11) default '32768', + `hue` int(11) default '32768', + `tvformat` varchar(10) NOT NULL default 'Default', + `commfree` tinyint(4) NOT NULL default '0', + `visible` tinyint(1) NOT NULL default '1', + `outputfilters` varchar(255) NOT NULL default '', + `useonairguide` tinyint(1) default '0', + `mplexid` smallint(6) default NULL, + `serviceid` mediumint(8) unsigned default NULL, + `atscsrcid` int(11) default NULL, + `tmoffset` int(11) NOT NULL default '0', + `atsc_major_chan` int(10) unsigned NOT NULL default '0', + `atsc_minor_chan` int(10) unsigned NOT NULL default '0', + `last_record` datetime NOT NULL, + `default_authority` varchar(32) NOT NULL default '', + `commmethod` int(11) NOT NULL default '-1', + PRIMARY KEY (`chanid`), + KEY `channel_src` (`channum`,`sourceid`), + KEY `sourceid` (`sourceid`,`xmltvid`,`chanid`), + KEY `visible` (`visible`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `channel` +-- + +LOCK TABLES `channel` WRITE; +/*!40000 ALTER TABLE `channel` DISABLE KEYS */; +/*!40000 ALTER TABLE `channel` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `codecparams` +-- + +DROP TABLE IF EXISTS `codecparams`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `codecparams` ( + `profile` int(10) unsigned NOT NULL default '0', + `name` varchar(128) NOT NULL default '', + `value` varchar(128) default NULL, + PRIMARY KEY (`profile`,`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `codecparams` +-- + +LOCK TABLES `codecparams` WRITE; +/*!40000 ALTER TABLE `codecparams` DISABLE KEYS */; +/*!40000 ALTER TABLE `codecparams` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `credits` +-- + +DROP TABLE IF EXISTS `credits`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `credits` ( + `person` mediumint(8) unsigned NOT NULL default '0', + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`), + KEY `person` (`person`,`role`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `credits` +-- + +LOCK TABLES `credits` WRITE; +/*!40000 ALTER TABLE `credits` DISABLE KEYS */; +/*!40000 ALTER TABLE `credits` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `customexample` +-- + +DROP TABLE IF EXISTS `customexample`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `customexample` ( + `rulename` varchar(64) NOT NULL, + `fromclause` text NOT NULL, + `whereclause` text NOT NULL, + `search` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`rulename`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `customexample` +-- + +LOCK TABLES `customexample` WRITE; +/*!40000 ALTER TABLE `customexample` DISABLE KEYS */; +INSERT INTO `customexample` VALUES ('New Flix','','program.category_type = \'movie\' AND program.airdate >= \n YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR)) \nAND program.stars > 0.5 ',1); +/*!40000 ALTER TABLE `customexample` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `diseqc_config` +-- + +DROP TABLE IF EXISTS `diseqc_config`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `diseqc_config` ( + `cardinputid` int(10) unsigned NOT NULL, + `diseqcid` int(10) unsigned NOT NULL, + `value` varchar(16) NOT NULL default '', + KEY `id` (`cardinputid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `diseqc_config` +-- + +LOCK TABLES `diseqc_config` WRITE; +/*!40000 ALTER TABLE `diseqc_config` DISABLE KEYS */; +/*!40000 ALTER TABLE `diseqc_config` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `diseqc_tree` +-- + +DROP TABLE IF EXISTS `diseqc_tree`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `diseqc_tree` ( + `diseqcid` int(10) unsigned NOT NULL auto_increment, + `parentid` int(10) unsigned default NULL, + `ordinal` tinyint(3) unsigned NOT NULL, + `type` varchar(16) NOT NULL default '', + `subtype` varchar(16) NOT NULL default '', + `description` varchar(32) NOT NULL default '', + `switch_ports` tinyint(3) unsigned NOT NULL default '0', + `rotor_hi_speed` float NOT NULL default '0', + `rotor_lo_speed` float NOT NULL default '0', + `rotor_positions` varchar(255) NOT NULL default '', + `lnb_lof_switch` int(10) NOT NULL default '0', + `lnb_lof_hi` int(10) NOT NULL default '0', + `lnb_lof_lo` int(10) NOT NULL default '0', + `cmd_repeat` int(11) NOT NULL default '1', + `lnb_pol_inv` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`diseqcid`), + KEY `parentid` (`parentid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `diseqc_tree` +-- + +LOCK TABLES `diseqc_tree` WRITE; +/*!40000 ALTER TABLE `diseqc_tree` DISABLE KEYS */; +/*!40000 ALTER TABLE `diseqc_tree` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `displayprofilegroups` +-- + +DROP TABLE IF EXISTS `displayprofilegroups`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `displayprofilegroups` ( + `name` varchar(128) NOT NULL, + `hostname` varchar(255) NOT NULL, + `profilegroupid` int(10) unsigned NOT NULL auto_increment, + PRIMARY KEY (`name`,`hostname`), + UNIQUE KEY `profilegroupid` (`profilegroupid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `displayprofilegroups` +-- + +LOCK TABLES `displayprofilegroups` WRITE; +/*!40000 ALTER TABLE `displayprofilegroups` DISABLE KEYS */; +/*!40000 ALTER TABLE `displayprofilegroups` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `displayprofiles` +-- + +DROP TABLE IF EXISTS `displayprofiles`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `displayprofiles` ( + `profilegroupid` int(10) unsigned NOT NULL, + `profileid` int(10) unsigned NOT NULL auto_increment, + `value` varchar(128) NOT NULL, + `data` varchar(255) NOT NULL default '', + KEY `profilegroupid` (`profilegroupid`), + KEY `profileid` (`profileid`,`value`), + KEY `profileid_2` (`profileid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `displayprofiles` +-- + +LOCK TABLES `displayprofiles` WRITE; +/*!40000 ALTER TABLE `displayprofiles` DISABLE KEYS */; +/*!40000 ALTER TABLE `displayprofiles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dtv_multiplex` +-- + +DROP TABLE IF EXISTS `dtv_multiplex`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `dtv_multiplex` ( + `mplexid` smallint(6) NOT NULL auto_increment, + `sourceid` smallint(6) default NULL, + `transportid` int(11) default NULL, + `networkid` int(11) default NULL, + `frequency` int(11) default NULL, + `inversion` char(1) default 'a', + `symbolrate` int(11) default NULL, + `fec` varchar(10) default 'auto', + `polarity` char(1) default NULL, + `modulation` varchar(10) default 'auto', + `bandwidth` char(1) default 'a', + `lp_code_rate` varchar(10) default 'auto', + `transmission_mode` char(1) default 'a', + `guard_interval` varchar(10) default 'auto', + `visible` smallint(1) NOT NULL default '0', + `constellation` varchar(10) default 'auto', + `hierarchy` varchar(10) default 'auto', + `hp_code_rate` varchar(10) default 'auto', + `sistandard` varchar(10) default 'dvb', + `serviceversion` smallint(6) default '33', + `updatetimestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + PRIMARY KEY (`mplexid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `dtv_multiplex` +-- + +LOCK TABLES `dtv_multiplex` WRITE; +/*!40000 ALTER TABLE `dtv_multiplex` DISABLE KEYS */; +/*!40000 ALTER TABLE `dtv_multiplex` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dtv_privatetypes` +-- + +DROP TABLE IF EXISTS `dtv_privatetypes`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `dtv_privatetypes` ( + `sitype` varchar(4) NOT NULL default '', + `networkid` int(11) NOT NULL default '0', + `private_type` varchar(20) NOT NULL default '', + `private_value` varchar(100) NOT NULL default '' +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `dtv_privatetypes` +-- + +LOCK TABLES `dtv_privatetypes` WRITE; +/*!40000 ALTER TABLE `dtv_privatetypes` DISABLE KEYS */; +INSERT INTO `dtv_privatetypes` VALUES ('dvb',9018,'channel_numbers','131'),('dvb',9018,'guide_fixup','2'),('dvb',256,'guide_fixup','1'),('dvb',257,'guide_fixup','1'),('dvb',256,'tv_types','1,150,134,133'),('dvb',257,'tv_types','1,150,134,133'),('dvb',4100,'sdt_mapping','1'),('dvb',4101,'sdt_mapping','1'),('dvb',4102,'sdt_mapping','1'),('dvb',4103,'sdt_mapping','1'),('dvb',4104,'sdt_mapping','1'),('dvb',4105,'sdt_mapping','1'),('dvb',4106,'sdt_mapping','1'),('dvb',4107,'sdt_mapping','1'),('dvb',4097,'sdt_mapping','1'),('dvb',4098,'sdt_mapping','1'),('dvb',4100,'tv_types','1,145,154'),('dvb',4101,'tv_types','1,145,154'),('dvb',4102,'tv_types','1,145,154'),('dvb',4103,'tv_types','1,145,154'),('dvb',4104,'tv_types','1,145,154'),('dvb',4105,'tv_types','1,145,154'),('dvb',4106,'tv_types','1,145,154'),('dvb',4107,'tv_types','1,145,154'),('dvb',4097,'tv_types','1,145,154'),('dvb',4098,'tv_types','1,145,154'),('dvb',4100,'guide_fixup','1'),('dvb',4101,'guide_fixup','1'),('dvb',4102,'guide_fixup','1'),('dvb',4103,'guide_fixup','1'),('dvb',4104,'guide_fixup','1'),('dvb',4105,'guide_fixup','1'),('dvb',4106,'guide_fixup','1'),('dvb',4107,'guide_fixup','1'),('dvb',4096,'guide_fixup','5'),('dvb',4097,'guide_fixup','1'),('dvb',4098,'guide_fixup','1'),('dvb',94,'tv_types','1,128'),('atsc',1793,'guide_fixup','3'),('dvb',40999,'guide_fixup','4'),('dvb',70,'force_guide_present','yes'),('dvb',70,'guide_ranges','80,80,96,96'),('dvb',4112,'channel_numbers','131'),('dvb',4115,'channel_numbers','131'),('dvb',4116,'channel_numbers','131'),('dvb',12802,'channel_numbers','131'),('dvb',12803,'channel_numbers','131'),('dvb',12829,'channel_numbers','131'),('dvb',40999,'parse_subtitle_list','1070,1308,1041,1306,1307,1030,1016,1131,1068,1069'),('dvb',4096,'guide_fixup','5'); +/*!40000 ALTER TABLE `dtv_privatetypes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dvdbookmark` +-- + +DROP TABLE IF EXISTS `dvdbookmark`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `dvdbookmark` ( + `serialid` varchar(16) NOT NULL default '', + `name` varchar(32) default NULL, + `title` smallint(6) NOT NULL default '0', + `audionum` tinyint(4) NOT NULL default '-1', + `subtitlenum` tinyint(4) NOT NULL default '-1', + `framenum` bigint(20) NOT NULL default '0', + `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + PRIMARY KEY (`serialid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `dvdbookmark` +-- + +LOCK TABLES `dvdbookmark` WRITE; +/*!40000 ALTER TABLE `dvdbookmark` DISABLE KEYS */; +/*!40000 ALTER TABLE `dvdbookmark` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dvdinput` +-- + +DROP TABLE IF EXISTS `dvdinput`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `dvdinput` ( + `intid` int(10) unsigned NOT NULL, + `hsize` int(10) unsigned default NULL, + `vsize` int(10) unsigned default NULL, + `ar_num` int(10) unsigned default NULL, + `ar_denom` int(10) unsigned default NULL, + `fr_code` int(10) unsigned default NULL, + `letterbox` tinyint(1) default NULL, + `v_format` varchar(16) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `dvdinput` +-- + +LOCK TABLES `dvdinput` WRITE; +/*!40000 ALTER TABLE `dvdinput` DISABLE KEYS */; +INSERT INTO `dvdinput` VALUES (1,720,480,16,9,1,1,'ntsc'),(2,720,480,16,9,1,0,'ntsc'),(3,720,480,4,3,1,1,'ntsc'),(4,720,480,4,3,1,0,'ntsc'),(5,720,576,16,9,3,1,'pal'),(6,720,576,16,9,3,0,'pal'),(7,720,576,4,3,3,1,'pal'),(8,720,576,4,3,3,0,'pal'); +/*!40000 ALTER TABLE `dvdinput` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `dvdtranscode` +-- + +DROP TABLE IF EXISTS `dvdtranscode`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `dvdtranscode` ( + `intid` int(11) NOT NULL auto_increment, + `input` int(10) unsigned default NULL, + `name` varchar(128) NOT NULL, + `sync_mode` int(10) unsigned default NULL, + `use_yv12` tinyint(1) default NULL, + `cliptop` int(11) default NULL, + `clipbottom` int(11) default NULL, + `clipleft` int(11) default NULL, + `clipright` int(11) default NULL, + `f_resize_h` int(11) default NULL, + `f_resize_w` int(11) default NULL, + `hq_resize_h` int(11) default NULL, + `hq_resize_w` int(11) default NULL, + `grow_h` int(11) default NULL, + `grow_w` int(11) default NULL, + `clip2top` int(11) default NULL, + `clip2bottom` int(11) default NULL, + `clip2left` int(11) default NULL, + `clip2right` int(11) default NULL, + `codec` varchar(128) NOT NULL, + `codec_param` varchar(128) default NULL, + `bitrate` int(11) default NULL, + `a_sample_r` int(11) default NULL, + `a_bitrate` int(11) default NULL, + `two_pass` tinyint(1) default NULL, + `tc_param` varchar(128) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `dvdtranscode` +-- + +LOCK TABLES `dvdtranscode` WRITE; +/*!40000 ALTER TABLE `dvdtranscode` DISABLE KEYS */; +INSERT INTO `dvdtranscode` VALUES (1,1,'Good',2,1,16,16,0,0,2,0,0,0,0,0,32,32,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(2,2,'Excellent',2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(3,2,'Good',2,1,0,0,8,8,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(4,2,'Medium',2,1,0,0,8,8,5,5,0,0,0,0,0,0,0,0,'divx5',NULL,1200,NULL,NULL,0,NULL),(5,3,'Good',2,1,0,0,0,0,0,0,0,0,2,0,80,80,8,8,'divx5',NULL,0,NULL,NULL,0,NULL),(6,4,'Excellent',2,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(7,4,'Good',2,1,0,0,8,8,0,2,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(8,5,'Good',1,1,16,16,0,0,5,0,0,0,0,0,40,40,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(9,6,'Good',1,1,0,0,16,16,5,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(10,7,'Good',1,1,0,0,0,0,1,0,0,0,0,0,76,76,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(11,8,'Good',1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL); +/*!40000 ALTER TABLE `dvdtranscode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `eit_cache` +-- + +DROP TABLE IF EXISTS `eit_cache`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `eit_cache` ( + `chanid` int(10) NOT NULL, + `eventid` int(10) unsigned NOT NULL default '0', + `tableid` tinyint(3) unsigned NOT NULL, + `version` tinyint(3) unsigned NOT NULL, + `endtime` int(10) unsigned NOT NULL, + `status` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`chanid`,`eventid`,`status`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `eit_cache` +-- + +LOCK TABLES `eit_cache` WRITE; +/*!40000 ALTER TABLE `eit_cache` DISABLE KEYS */; +/*!40000 ALTER TABLE `eit_cache` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `favorites` +-- + +DROP TABLE IF EXISTS `favorites`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `favorites` ( + `favid` int(11) unsigned NOT NULL auto_increment, + `userid` int(11) unsigned NOT NULL default '0', + `chanid` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`favid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `favorites` +-- + +LOCK TABLES `favorites` WRITE; +/*!40000 ALTER TABLE `favorites` DISABLE KEYS */; +/*!40000 ALTER TABLE `favorites` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `filemarkup` +-- + +DROP TABLE IF EXISTS `filemarkup`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `filemarkup` ( + `filename` text NOT NULL, + `mark` bigint(20) NOT NULL, + `offset` varchar(32) default NULL, + `type` int(11) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `filemarkup` +-- + +LOCK TABLES `filemarkup` WRITE; +/*!40000 ALTER TABLE `filemarkup` DISABLE KEYS */; +/*!40000 ALTER TABLE `filemarkup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gallerymetadata` +-- + +DROP TABLE IF EXISTS `gallerymetadata`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `gallerymetadata` ( + `image` varchar(255) NOT NULL, + `angle` int(11) NOT NULL, + PRIMARY KEY (`image`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `gallerymetadata` +-- + +LOCK TABLES `gallerymetadata` WRITE; +/*!40000 ALTER TABLE `gallerymetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `gallerymetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gamemetadata` +-- + +DROP TABLE IF EXISTS `gamemetadata`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `gamemetadata` ( + `system` varchar(128) NOT NULL default '', + `romname` varchar(128) NOT NULL default '', + `gamename` varchar(128) NOT NULL default '', + `genre` varchar(128) NOT NULL default '', + `year` varchar(10) NOT NULL default '', + `publisher` varchar(128) NOT NULL default '', + `favorite` tinyint(1) default NULL, + `rompath` varchar(255) NOT NULL default '', + `gametype` varchar(64) NOT NULL default '', + `diskcount` tinyint(1) NOT NULL default '1', + `country` varchar(128) NOT NULL default '', + `crc_value` varchar(64) NOT NULL default '', + `display` tinyint(1) NOT NULL default '1', + `version` varchar(64) NOT NULL default '', + KEY `system` (`system`), + KEY `year` (`year`), + KEY `romname` (`romname`), + KEY `gamename` (`gamename`), + KEY `genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `gamemetadata` +-- + +LOCK TABLES `gamemetadata` WRITE; +/*!40000 ALTER TABLE `gamemetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `gamemetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `gameplayers` +-- + +DROP TABLE IF EXISTS `gameplayers`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `gameplayers` ( + `gameplayerid` int(10) unsigned NOT NULL auto_increment, + `playername` varchar(64) NOT NULL default '', + `workingpath` varchar(255) NOT NULL default '', + `rompath` varchar(255) NOT NULL default '', + `screenshots` varchar(255) NOT NULL default '', + `commandline` text NOT NULL, + `gametype` varchar(64) NOT NULL default '', + `extensions` varchar(128) NOT NULL default '', + `spandisks` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`gameplayerid`), + UNIQUE KEY `playername` (`playername`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `gameplayers` +-- + +LOCK TABLES `gameplayers` WRITE; +/*!40000 ALTER TABLE `gameplayers` DISABLE KEYS */; +/*!40000 ALTER TABLE `gameplayers` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `housekeeping` +-- + +DROP TABLE IF EXISTS `housekeeping`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `housekeeping` ( + `tag` varchar(64) NOT NULL default '', + `lastrun` datetime default NULL, + PRIMARY KEY (`tag`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `housekeeping` +-- + +LOCK TABLES `housekeeping` WRITE; +/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */; +INSERT INTO `housekeeping` VALUES ('DailyCleanup','2007-06-27 20:33:37'),('JobQueueRecover-OLDHOSTNAME','2007-06-27 20:33:37'),('BackupDB','2008-04-12 22:16:29'); +/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `inputgroup` +-- + +DROP TABLE IF EXISTS `inputgroup`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `inputgroup` ( + `cardinputid` int(10) unsigned NOT NULL, + `inputgroupid` int(10) unsigned NOT NULL, + `inputgroupname` varchar(32) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `inputgroup` +-- + +LOCK TABLES `inputgroup` WRITE; +/*!40000 ALTER TABLE `inputgroup` DISABLE KEYS */; +/*!40000 ALTER TABLE `inputgroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `inuseprograms` +-- + +DROP TABLE IF EXISTS `inuseprograms`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `inuseprograms` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `recusage` varchar(128) NOT NULL default '', + `lastupdatetime` datetime NOT NULL default '0000-00-00 00:00:00', + `hostname` varchar(255) NOT NULL default '', + `rechost` varchar(64) NOT NULL, + `recdir` varchar(255) NOT NULL default '', + KEY `chanid` (`chanid`,`starttime`), + KEY `recusage` (`recusage`,`lastupdatetime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `inuseprograms` +-- + +LOCK TABLES `inuseprograms` WRITE; +/*!40000 ALTER TABLE `inuseprograms` DISABLE KEYS */; +/*!40000 ALTER TABLE `inuseprograms` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `jobqueue` +-- + +DROP TABLE IF EXISTS `jobqueue`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `jobqueue` ( + `id` int(11) NOT NULL auto_increment, + `chanid` int(10) NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `inserttime` datetime NOT NULL default '0000-00-00 00:00:00', + `type` int(11) NOT NULL default '0', + `cmds` int(11) NOT NULL default '0', + `flags` int(11) NOT NULL default '0', + `status` int(11) NOT NULL default '0', + `statustime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `hostname` varchar(255) NOT NULL default '', + `args` blob NOT NULL, + `comment` varchar(128) NOT NULL default '', + `schedruntime` datetime NOT NULL default '2007-01-01 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `chanid` (`chanid`,`starttime`,`type`,`inserttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `jobqueue` +-- + +LOCK TABLES `jobqueue` WRITE; +/*!40000 ALTER TABLE `jobqueue` DISABLE KEYS */; +/*!40000 ALTER TABLE `jobqueue` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `jumppoints` +-- + +DROP TABLE IF EXISTS `jumppoints`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `jumppoints` ( + `destination` varchar(128) NOT NULL default '', + `description` varchar(255) default NULL, + `keylist` varchar(128) default NULL, + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`destination`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `jumppoints` +-- + +LOCK TABLES `jumppoints` WRITE; +/*!40000 ALTER TABLE `jumppoints` DISABLE KEYS */; +INSERT INTO `jumppoints` VALUES ('Reload Theme',NULL,'','OLDHOSTNAME'),('Main Menu',NULL,'','OLDHOSTNAME'),('Program Guide',NULL,'','OLDHOSTNAME'),('Program Finder',NULL,'','OLDHOSTNAME'),('Manage Recordings / Fix Conflicts',NULL,'','OLDHOSTNAME'),('Program Recording Priorities',NULL,'','OLDHOSTNAME'),('Channel Recording Priorities',NULL,'','OLDHOSTNAME'),('TV Recording Playback',NULL,'','OLDHOSTNAME'),('TV Recording Deletion',NULL,'','OLDHOSTNAME'),('Live TV',NULL,'','OLDHOSTNAME'),('Live TV In Guide',NULL,'','OLDHOSTNAME'),('Manual Record Scheduling',NULL,'','OLDHOSTNAME'),('Status Screen',NULL,'','OLDHOSTNAME'),('Previously Recorded',NULL,'','OLDHOSTNAME'),('Play DVD',NULL,'','OLDHOSTNAME'),('Play VCD',NULL,'','OLDHOSTNAME'),('Rip DVD',NULL,'','OLDHOSTNAME'),('Netflix Browser',NULL,'','OLDHOSTNAME'),('Netflix Queue',NULL,'','OLDHOSTNAME'),('Netflix History',NULL,'','OLDHOSTNAME'),('MythGallery',NULL,'','OLDHOSTNAME'),('MythGame',NULL,'','OLDHOSTNAME'),('Play music',NULL,'','OLDHOSTNAME'),('Select music playlists',NULL,'','OLDHOSTNAME'),('Rip CD',NULL,'','OLDHOSTNAME'),('Scan music',NULL,'','OLDHOSTNAME'),('MythNews',NULL,'','OLDHOSTNAME'),('MythVideo',NULL,'','OLDHOSTNAME'),('Video Manager',NULL,'','OLDHOSTNAME'),('Video Browser',NULL,'','OLDHOSTNAME'),('Video Listings',NULL,'','OLDHOSTNAME'),('Video Gallery',NULL,'','OLDHOSTNAME'),('MythWeather',NULL,'','OLDHOSTNAME'); +/*!40000 ALTER TABLE `jumppoints` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `keybindings` +-- + +DROP TABLE IF EXISTS `keybindings`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `keybindings` ( + `context` varchar(32) NOT NULL default '', + `action` varchar(32) NOT NULL default '', + `description` varchar(255) default NULL, + `keylist` varchar(128) default NULL, + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`context`,`action`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `keybindings` +-- + +LOCK TABLES `keybindings` WRITE; +/*!40000 ALTER TABLE `keybindings` DISABLE KEYS */; +INSERT INTO `keybindings` VALUES ('Global','UP','Up Arrow','Up','OLDHOSTNAME'),('Global','DOWN','Down Arrow','Down','OLDHOSTNAME'),('Global','LEFT','Left Arrow','Left','OLDHOSTNAME'),('Global','RIGHT','Right Arrow','Right','OLDHOSTNAME'),('Global','SELECT','Select','Return,Enter,Space','OLDHOSTNAME'),('Global','ESCAPE','Escape','Esc','OLDHOSTNAME'),('Global','MENU','Pop-up menu','M','OLDHOSTNAME'),('Global','INFO','More information','I','OLDHOSTNAME'),('Global','PAGEUP','Page Up','PgUp','OLDHOSTNAME'),('Global','PAGEDOWN','Page Down','PgDown','OLDHOSTNAME'),('Global','PREVVIEW','Previous View','Home','OLDHOSTNAME'),('Global','NEXTVIEW','Next View','End','OLDHOSTNAME'),('Global','HELP','Help','F1','OLDHOSTNAME'),('Global','EJECT','Eject Removable Media','','OLDHOSTNAME'),('Global','0','0','0','OLDHOSTNAME'),('Global','1','1','1','OLDHOSTNAME'),('Global','2','2','2','OLDHOSTNAME'),('Global','3','3','3','OLDHOSTNAME'),('Global','4','4','4','OLDHOSTNAME'),('Global','5','5','5','OLDHOSTNAME'),('Global','6','6','6','OLDHOSTNAME'),('Global','7','7','7','OLDHOSTNAME'),('Global','8','8','8','OLDHOSTNAME'),('Global','9','9','9','OLDHOSTNAME'),('qt','DELETE','Delete','D','OLDHOSTNAME'),('qt','EDIT','Edit','E','OLDHOSTNAME'),('TV Frontend','PAGEUP','Page Up','3','OLDHOSTNAME'),('TV Frontend','PAGEDOWN','Page Down','9','OLDHOSTNAME'),('TV Frontend','DELETE','Delete Program','D','OLDHOSTNAME'),('TV Frontend','PLAYBACK','Play Program','P','OLDHOSTNAME'),('TV Frontend','TOGGLERECORD','Toggle recording status of current program','R','OLDHOSTNAME'),('TV Frontend','DAYLEFT','Page the program guide back one day','Home,7','OLDHOSTNAME'),('TV Frontend','DAYRIGHT','Page the program guide forward one day','End,1','OLDHOSTNAME'),('TV Frontend','PAGELEFT','Page the program guide left',',,<','OLDHOSTNAME'),('TV Frontend','PAGERIGHT','Page the program guide right','>,.','OLDHOSTNAME'),('TV Frontend','TOGGLEFAV','Toggle the current channel as a favorite','?','OLDHOSTNAME'),('TV Frontend','NEXTFAV','Toggle showing all channels or just favorites in the program guide.','/','OLDHOSTNAME'),('TV Frontend','CHANUPDATE','Switch channels without exiting guide in Live TV mode.','X','OLDHOSTNAME'),('TV Frontend','RANKINC','Increase program or channel rank','Right','OLDHOSTNAME'),('TV Frontend','RANKDEC','Decrease program or channel rank','Left','OLDHOSTNAME'),('TV Frontend','UPCOMING','List upcoming episodes','O','OLDHOSTNAME'),('TV Frontend','DETAILS','Show program details','U','OLDHOSTNAME'),('TV Frontend','VIEWCARD','Switch Capture Card view','Y','OLDHOSTNAME'),('TV Frontend','CUSTOMEDIT','Edit Custom Record Rule','E','OLDHOSTNAME'),('TV Playback','CLEAROSD','Clear OSD','Backspace','OLDHOSTNAME'),('TV Playback','PAUSE','Pause','P','OLDHOSTNAME'),('TV Playback','DELETE','Delete Program','D','OLDHOSTNAME'),('TV Playback','SEEKFFWD','Fast Forward','Right','OLDHOSTNAME'),('TV Playback','SEEKRWND','Rewind','Left','OLDHOSTNAME'),('TV Playback','ARBSEEK','Arbitrary Seek','*','OLDHOSTNAME'),('TV Playback','CHANNELUP','Channel up','Up','OLDHOSTNAME'),('TV Playback','CHANNELDOWN','Channel down','Down','OLDHOSTNAME'),('TV Playback','NEXTFAV','Switch to the next favorite channel','/','OLDHOSTNAME'),('TV Playback','PREVCHAN','Switch to the previous channel','H','OLDHOSTNAME'),('TV Playback','JUMPFFWD','Jump ahead','PgDown','OLDHOSTNAME'),('TV Playback','JUMPRWND','Jump back','PgUp','OLDHOSTNAME'),('TV Playback','JUMPBKMRK','Jump to bookmark','K','OLDHOSTNAME'),('TV Playback','FFWDSTICKY','Fast Forward (Sticky) or Forward one frame while paused','>,.','OLDHOSTNAME'),('TV Playback','RWNDSTICKY','Rewind (Sticky) or Rewind one frame while paused',',,<','OLDHOSTNAME'),('TV Playback','SKIPCOMMERCIAL','Skip Commercial','Z,End','OLDHOSTNAME'),('TV Playback','SKIPCOMMBACK','Skip Commercial (Reverse)','Q,Home','OLDHOSTNAME'),('TV Playback','JUMPSTART','Jump to the start of the recording.','Ctrl+B','OLDHOSTNAME'),('TV Playback','TOGGLEBROWSE','Toggle channel browse mode','O','OLDHOSTNAME'),('TV Playback','TOGGLERECORD','Toggle recording status of current program','R','OLDHOSTNAME'),('TV Playback','TOGGLEFAV','Toggle the current channel as a favorite','?','OLDHOSTNAME'),('TV Playback','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','OLDHOSTNAME'),('TV Playback','VOLUMEUP','Volume up','],},F11,Volume Up','OLDHOSTNAME'),('TV Playback','MUTE','Mute','|,\\,F9,Volume Mute','OLDHOSTNAME'),('TV Playback','TOGGLEPIPMODE','Toggle Picture-in-Picture mode','V','OLDHOSTNAME'),('TV Playback','TOGGLEPIPWINDOW','Toggle active PiP window','B','OLDHOSTNAME'),('TV Playback','SWAPPIP','Swap PiP/Main','N','OLDHOSTNAME'),('TV Playback','TOGGLECC','Toggle any captions','T','OLDHOSTNAME'),('TV Playback','TOGGLETTC','Toggle Teletext Captions','','OLDHOSTNAME'),('TV Playback','TOGGLESUBTITLE','Toggle Subtitles','','OLDHOSTNAME'),('TV Playback','TOGGLECC608','Toggle VBI CC','','OLDHOSTNAME'),('TV Playback','TOGGLECC708','Toggle ATSC CC','','OLDHOSTNAME'),('TV Playback','TOGGLETTM','Toggle Teletext Menu','','OLDHOSTNAME'),('TV Playback','SELECTAUDIO_0','Play audio track 1','','OLDHOSTNAME'),('TV Playback','SELECTAUDIO_1','Play audio track 2','','OLDHOSTNAME'),('TV Playback','SELECTSUBTITLE_0','Display subtitle 1','','OLDHOSTNAME'),('TV Playback','SELECTSUBTITLE_1','Display subtitle 2','','OLDHOSTNAME'),('TV Playback','SELECTCC608_0','Display VBI CC1','','OLDHOSTNAME'),('TV Playback','SELECTCC608_1','Display VBI CC2','','OLDHOSTNAME'),('TV Playback','SELECTCC608_2','Display VBI CC3','','OLDHOSTNAME'),('TV Playback','SELECTCC608_3','Display VBI CC4','','OLDHOSTNAME'),('TV Playback','SELECTCC708_0','Display ATSC CC1','','OLDHOSTNAME'),('TV Playback','SELECTCC708_1','Display ATSC CC2','','OLDHOSTNAME'),('TV Playback','SELECTCC708_2','Display ATSC CC3','','OLDHOSTNAME'),('TV Playback','SELECTCC708_3','Display ATSC CC4','','OLDHOSTNAME'),('TV Playback','NEXTAUDIO','Next audio track','+','OLDHOSTNAME'),('TV Playback','PREVAUDIO','Previous audio track','-','OLDHOSTNAME'),('TV Playback','NEXTSUBTITLE','Next subtitle track','','OLDHOSTNAME'),('TV Playback','PREVSUBTITLE','Previous subtitle track','','OLDHOSTNAME'),('TV Playback','NEXTCC608','Next VBI CC track','','OLDHOSTNAME'),('TV Playback','PREVCC608','Previous VBI CC track','','OLDHOSTNAME'),('TV Playback','NEXTCC708','Next ATSC CC track','','OLDHOSTNAME'),('TV Playback','PREVCC708','Previous ATSC CC track','','OLDHOSTNAME'),('TV Playback','NEXTCC','Next of any captions','','OLDHOSTNAME'),('TV Playback','NEXTSCAN','Next video scan overidemode','','OLDHOSTNAME'),('TV Playback','QUEUETRANSCODE','Queue the current recording for transcoding','X','OLDHOSTNAME'),('TV Playback','SPEEDINC','Increase the playback speed','U','OLDHOSTNAME'),('TV Playback','SPEEDDEC','Decrease the playback speed','J','OLDHOSTNAME'),('TV Playback','ADJUSTSTRETCH','Turn on time stretch control','A','OLDHOSTNAME'),('TV Playback','STRETCHINC','Increase time stretch speed','','OLDHOSTNAME'),('TV Playback','STRETCHDEC','Decrease time stretch speed','','OLDHOSTNAME'),('TV Playback','TOGGLESTRETCH','Toggle time stretch speed','','OLDHOSTNAME'),('TV Playback','TOGGLEAUDIOSYNC','Turn on audio sync adjustment controls','','OLDHOSTNAME'),('TV Playback','TOGGLEPICCONTROLS','Playback picture adjustments','F','OLDHOSTNAME'),('TV Playback','TOGGLECHANCONTROLS','Recording picture adjustments for this channel','Ctrl+G','OLDHOSTNAME'),('TV Playback','TOGGLERECCONTROLS','Recording picture adjustments for this recorder','G','OLDHOSTNAME'),('TV Playback','TOGGLEEDIT','Start Edit Mode','E','OLDHOSTNAME'),('TV Playback','CYCLECOMMSKIPMODE','Cycle Commercial Skip mode','','OLDHOSTNAME'),('TV Playback','GUIDE','Show the Program Guide','S','OLDHOSTNAME'),('TV Playback','FINDER','Show the Program Finder','#','OLDHOSTNAME'),('TV Playback','TOGGLESLEEP','Toggle the Sleep Timer','F8','OLDHOSTNAME'),('TV Playback','PLAY','Play','Ctrl+P','OLDHOSTNAME'),('TV Playback','JUMPPREV','Jump to previously played recording','','OLDHOSTNAME'),('TV Playback','JUMPREC','Display menu of recorded programs to jump to','','OLDHOSTNAME'),('TV Playback','JUMPTODVDROOTMENU','Jump to the DVD Root Menu','','OLDHOSTNAME'),('TV Editing','CLEARMAP','Clear editing cut points','C,Q,Home','OLDHOSTNAME'),('TV Editing','INVERTMAP','Invert Begin/End cut points','I','OLDHOSTNAME'),('TV Editing','LOADCOMMSKIP','Load cut list from commercial skips','Z,End','OLDHOSTNAME'),('TV Editing','NEXTCUT','Jump to the next cut point','PgDown','OLDHOSTNAME'),('TV Editing','PREVCUT','Jump to the previous cut point','PgUp','OLDHOSTNAME'),('TV Editing','BIGJUMPREW','Jump back 10x the normal amount',',,<','OLDHOSTNAME'),('TV Editing','BIGJUMPFWD','Jump forward 10x the normal amount','>,.','OLDHOSTNAME'),('TV Editing','TOGGLEEDIT','Exit out of Edit Mode','E','OLDHOSTNAME'),('Teletext Menu','NEXTPAGE','Next Page','Down','OLDHOSTNAME'),('Teletext Menu','PREVPAGE','Previous Page','Up','OLDHOSTNAME'),('Teletext Menu','NEXTSUBPAGE','Next Subpage','Right','OLDHOSTNAME'),('Teletext Menu','PREVSUBPAGE','Previous Subpage','Left','OLDHOSTNAME'),('Teletext Menu','TOGGLETT','Toggle Teletext','T','OLDHOSTNAME'),('Teletext Menu','MENURED','Menu Red','F2','OLDHOSTNAME'),('Teletext Menu','MENUGREEN','Menu Green','F3','OLDHOSTNAME'),('Teletext Menu','MENUYELLOW','Menu Yellow','F4','OLDHOSTNAME'),('Teletext Menu','MENUBLUE','Menu Blue','F5','OLDHOSTNAME'),('Teletext Menu','MENUWHITE','Menu White','F6','OLDHOSTNAME'),('Teletext Menu','TOGGLEBACKGROUND','Toggle Background','F7','OLDHOSTNAME'),('Teletext Menu','REVEAL','Reveal hidden Text','F8','OLDHOSTNAME'),('TV Playback','MENURED','Menu Red','F2','OLDHOSTNAME'),('TV Playback','MENUGREEN','Menu Green','F3','OLDHOSTNAME'),('TV Playback','MENUYELLOW','Menu Yellow','F4','OLDHOSTNAME'),('TV Playback','MENUBLUE','Menu Blue','F5','OLDHOSTNAME'),('TV Playback','TEXTEXIT','Menu Exit','F6','OLDHOSTNAME'),('TV Playback','MENUTEXT','Menu Text','F7','OLDHOSTNAME'),('TV Playback','MENUEPG','Menu EPG','F12','OLDHOSTNAME'),('Archive','TOGGLECUT','Toggle use cut list state for selected program','C','OLDHOSTNAME'),('NetFlix','MOVETOTOP','Moves movie to top of queue','1','OLDHOSTNAME'),('NetFlix','REMOVE','Removes movie from queue','D','OLDHOSTNAME'),('Gallery','PLAY','Start/Stop Slideshow','P','OLDHOSTNAME'),('Gallery','HOME','Go to the first image in thumbnail view','Home','OLDHOSTNAME'),('Gallery','END','Go to the last image in thumbnail view','End','OLDHOSTNAME'),('Gallery','MENU','Toggle activating menu in thumbnail view','M','OLDHOSTNAME'),('Gallery','SLIDESHOW','Start Slideshow in thumbnail view','S','OLDHOSTNAME'),('Gallery','RANDOMSHOW','Start Random Slideshow in thumbnail view','R','OLDHOSTNAME'),('Gallery','ROTRIGHT','Rotate image right 90 degrees','],3','OLDHOSTNAME'),('Gallery','ROTLEFT','Rotate image left 90 degrees','[,1','OLDHOSTNAME'),('Gallery','ZOOMOUT','Zoom image out','7','OLDHOSTNAME'),('Gallery','ZOOMIN','Zoom image in','9','OLDHOSTNAME'),('Gallery','SCROLLUP','Scroll image up','2','OLDHOSTNAME'),('Gallery','SCROLLLEFT','Scroll image left','4','OLDHOSTNAME'),('Gallery','SCROLLRIGHT','Scroll image right','6','OLDHOSTNAME'),('Gallery','SCROLLDOWN','Scroll image down','8','OLDHOSTNAME'),('Gallery','RECENTER','Recenter image','5','OLDHOSTNAME'),('Gallery','FULLSIZE','Full-size (un-zoom) image','0','OLDHOSTNAME'),('Gallery','UPLEFT','Go to the upper-left corner of the image','PgUp','OLDHOSTNAME'),('Gallery','LOWRIGHT','Go to the lower-right corner of the image','PgDown','OLDHOSTNAME'),('Gallery','INFO','Toggle Showing Information about Image','I','OLDHOSTNAME'),('Gallery','DELETE','Delete marked images or current image if none are marked','D','OLDHOSTNAME'),('Gallery','MARK','Mark image','T','OLDHOSTNAME'),('Game','TOGGLEFAV','Toggle the current game as a favorite','?,/','OLDHOSTNAME'),('Game','INCSEARCH','Show incremental search dialog','Ctrl+S','OLDHOSTNAME'),('Game','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','OLDHOSTNAME'),('Music','DELETE','Delete track from playlist','D','OLDHOSTNAME'),('Music','NEXTTRACK','Move to the next track','>,.,Z,End','OLDHOSTNAME'),('Music','PREVTRACK','Move to the previous track',',,<,Q,Home','OLDHOSTNAME'),('Music','FFWD','Fast forward','PgDown','OLDHOSTNAME'),('Music','RWND','Rewind','PgUp','OLDHOSTNAME'),('Music','PAUSE','Pause/Start playback','P','OLDHOSTNAME'),('Music','STOP','Stop playback','O','OLDHOSTNAME'),('Music','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','OLDHOSTNAME'),('Music','VOLUMEUP','Volume up','],},F11,Volume Up','OLDHOSTNAME'),('Music','MUTE','Mute','|,\\,F9,Volume Mute','OLDHOSTNAME'),('Music','CYCLEVIS','Cycle visualizer mode','6','OLDHOSTNAME'),('Music','BLANKSCR','Blank screen','5','OLDHOSTNAME'),('Music','THMBUP','Increase rating','9','OLDHOSTNAME'),('Music','THMBDOWN','Decrease rating','7','OLDHOSTNAME'),('Music','REFRESH','Refresh music tree','8','OLDHOSTNAME'),('Music','FILTER','Filter All My Music','F','OLDHOSTNAME'),('Music','INCSEARCH','Show incremental search dialog','Ctrl+S','OLDHOSTNAME'),('Music','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','OLDHOSTNAME'),('News','RETRIEVENEWS','Update news items','I','OLDHOSTNAME'),('News','FORCERETRIEVE','Force update news items','M','OLDHOSTNAME'),('News','CANCEL','Cancel news item updating','C','OLDHOSTNAME'),('Phone','0','0','0','OLDHOSTNAME'),('Phone','1','1','1','OLDHOSTNAME'),('Phone','2','2','2','OLDHOSTNAME'),('Phone','3','3','3','OLDHOSTNAME'),('Phone','4','4','4','OLDHOSTNAME'),('Phone','5','5','5','OLDHOSTNAME'),('Phone','6','6','6','OLDHOSTNAME'),('Phone','7','7','7','OLDHOSTNAME'),('Phone','8','8','8','OLDHOSTNAME'),('Phone','9','9','9','OLDHOSTNAME'),('Phone','HASH','HASH','#','OLDHOSTNAME'),('Phone','STAR','STAR','*','OLDHOSTNAME'),('Phone','Up','Up','Up','OLDHOSTNAME'),('Phone','Down','Down','Down','OLDHOSTNAME'),('Phone','Left','Left','Left','OLDHOSTNAME'),('Phone','Right','Right','Right','OLDHOSTNAME'),('Phone','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','OLDHOSTNAME'),('Phone','VOLUMEUP','Volume up','],},F11,Volume Up','OLDHOSTNAME'),('Phone','ZOOMIN','Zoom the video window in','>,.,Z,End','OLDHOSTNAME'),('Phone','ZOOMOUT','Zoom the video window out',',,<,Q,Home','OLDHOSTNAME'),('Phone','FULLSCRN','Show received video full-screen','P','OLDHOSTNAME'),('Phone','HANGUP','Hangup an active call','O','OLDHOSTNAME'),('Phone','MUTE','Mute','|,\\,F9,Volume Mute','OLDHOSTNAME'),('Phone','LOOPBACK','Loopback Video','L','OLDHOSTNAME'),('Video','FILTER','Open video filter dialog','F','OLDHOSTNAME'),('Video','DELETE','Delete video','D','OLDHOSTNAME'),('Video','BROWSE','Change browsable in video manager','B','OLDHOSTNAME'),('Video','INCPARENT','Increase Parental Level','],},F11','OLDHOSTNAME'),('Video','DECPARENT','Decrease Parental Level','[,{,F10','OLDHOSTNAME'),('Video','HOME','Go to the first video','Home','OLDHOSTNAME'),('Video','END','Go to the last video','End','OLDHOSTNAME'),('Weather','PAUSE','Pause current page','P','OLDHOSTNAME'); +/*!40000 ALTER TABLE `keybindings` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `keyword` +-- + +DROP TABLE IF EXISTS `keyword`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `keyword` ( + `phrase` varchar(128) NOT NULL default '', + `searchtype` int(10) unsigned NOT NULL default '3', + UNIQUE KEY `phrase` (`phrase`,`searchtype`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `keyword` +-- + +LOCK TABLES `keyword` WRITE; +/*!40000 ALTER TABLE `keyword` DISABLE KEYS */; +/*!40000 ALTER TABLE `keyword` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_albums` +-- + +DROP TABLE IF EXISTS `music_albums`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_albums` ( + `album_id` int(11) unsigned NOT NULL auto_increment, + `artist_id` int(11) unsigned NOT NULL default '0', + `album_name` varchar(255) NOT NULL default '', + `year` smallint(6) NOT NULL default '0', + `compilation` tinyint(1) unsigned NOT NULL default '0', + PRIMARY KEY (`album_id`), + KEY `idx_album_name` (`album_name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_albums` +-- + +LOCK TABLES `music_albums` WRITE; +/*!40000 ALTER TABLE `music_albums` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_albums` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_artists` +-- + +DROP TABLE IF EXISTS `music_artists`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_artists` ( + `artist_id` int(11) unsigned NOT NULL auto_increment, + `artist_name` varchar(255) NOT NULL default '', + PRIMARY KEY (`artist_id`), + KEY `idx_artist_name` (`artist_name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_artists` +-- + +LOCK TABLES `music_artists` WRITE; +/*!40000 ALTER TABLE `music_artists` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_artists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_genres` +-- + +DROP TABLE IF EXISTS `music_genres`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_genres` ( + `genre_id` int(11) unsigned NOT NULL auto_increment, + `genre` varchar(25) NOT NULL default '', + PRIMARY KEY (`genre_id`), + KEY `idx_genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_genres` +-- + +LOCK TABLES `music_genres` WRITE; +/*!40000 ALTER TABLE `music_genres` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_genres` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_playlists` +-- + +DROP TABLE IF EXISTS `music_playlists`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_playlists` ( + `playlist_id` int(11) unsigned NOT NULL auto_increment, + `playlist_name` varchar(255) NOT NULL default '', + `playlist_songs` text NOT NULL, + `last_accessed` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `length` int(11) unsigned NOT NULL default '0', + `songcount` smallint(8) unsigned NOT NULL default '0', + `hostname` varchar(255) NOT NULL default '', + PRIMARY KEY (`playlist_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_playlists` +-- + +LOCK TABLES `music_playlists` WRITE; +/*!40000 ALTER TABLE `music_playlists` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_playlists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylist_categories` +-- + +DROP TABLE IF EXISTS `music_smartplaylist_categories`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_smartplaylist_categories` ( + `categoryid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + PRIMARY KEY (`categoryid`), + KEY `name` (`name`) +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_smartplaylist_categories` +-- + +LOCK TABLES `music_smartplaylist_categories` WRITE; +/*!40000 ALTER TABLE `music_smartplaylist_categories` DISABLE KEYS */; +INSERT INTO `music_smartplaylist_categories` VALUES (1,'Decades'),(2,'Favourite Tracks'),(3,'New Tracks'); +/*!40000 ALTER TABLE `music_smartplaylist_categories` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylist_items` +-- + +DROP TABLE IF EXISTS `music_smartplaylist_items`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_smartplaylist_items` ( + `smartplaylistitemid` int(10) unsigned NOT NULL auto_increment, + `smartplaylistid` int(10) unsigned NOT NULL, + `field` varchar(50) NOT NULL, + `operator` varchar(20) NOT NULL, + `value1` varchar(255) NOT NULL, + `value2` varchar(255) NOT NULL, + PRIMARY KEY (`smartplaylistitemid`), + KEY `smartplaylistid` (`smartplaylistid`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_smartplaylist_items` +-- + +LOCK TABLES `music_smartplaylist_items` WRITE; +/*!40000 ALTER TABLE `music_smartplaylist_items` DISABLE KEYS */; +INSERT INTO `music_smartplaylist_items` VALUES (1,1,'Year','is between','1960','1969'),(2,2,'Year','is between','1970','1979'),(3,3,'Year','is between','1980','1989'),(4,4,'Year','is between','1990','1999'),(5,5,'Year','is between','2000','2009'),(6,6,'Rating','is greater than','7','0'),(7,7,'Play Count','is greater than','0','0'),(8,8,'Play Count','is equal to','0','0'); +/*!40000 ALTER TABLE `music_smartplaylist_items` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_smartplaylists` +-- + +DROP TABLE IF EXISTS `music_smartplaylists`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_smartplaylists` ( + `smartplaylistid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + `categoryid` int(10) unsigned NOT NULL, + `matchtype` set('All','Any') NOT NULL default 'All', + `orderby` varchar(128) NOT NULL default '', + `limitto` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`smartplaylistid`), + KEY `name` (`name`), + KEY `categoryid` (`categoryid`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_smartplaylists` +-- + +LOCK TABLES `music_smartplaylists` WRITE; +/*!40000 ALTER TABLE `music_smartplaylists` DISABLE KEYS */; +INSERT INTO `music_smartplaylists` VALUES (1,'1960\'s',1,'All','Artist (A)',0),(2,'1970\'s',1,'All','Artist (A)',0),(3,'1980\'s',1,'All','Artist (A)',0),(4,'1990\'s',1,'All','Artist (A)',0),(5,'2000\'s',1,'All','Artist (A)',0),(6,'Favorite Tracks',2,'All','Artist (A), Album (A)',0),(7,'100 Most Played Tracks',2,'All','Play Count (D)',100),(8,'Never Played Tracks',3,'All','Artist (A), Album (A)',0); +/*!40000 ALTER TABLE `music_smartplaylists` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_songs` +-- + +DROP TABLE IF EXISTS `music_songs`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_songs` ( + `song_id` int(11) unsigned NOT NULL auto_increment, + `filename` text NOT NULL, + `name` varchar(255) NOT NULL default '', + `track` smallint(6) unsigned NOT NULL default '0', + `artist_id` int(11) unsigned NOT NULL default '0', + `album_id` int(11) unsigned NOT NULL default '0', + `genre_id` int(11) unsigned NOT NULL default '0', + `year` smallint(6) NOT NULL default '0', + `length` int(11) unsigned NOT NULL default '0', + `numplays` int(11) unsigned NOT NULL default '0', + `rating` tinyint(4) unsigned NOT NULL default '0', + `lastplay` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `date_entered` datetime default NULL, + `date_modified` datetime default NULL, + `format` varchar(4) NOT NULL default '0', + `mythdigest` varchar(255) default NULL, + `size` bigint(20) unsigned default NULL, + `description` varchar(255) default NULL, + `comment` varchar(255) default NULL, + `disc_count` smallint(5) unsigned default '0', + `disc_number` smallint(5) unsigned default '0', + `track_count` smallint(5) unsigned default '0', + `start_time` int(10) unsigned default '0', + `stop_time` int(10) unsigned default NULL, + `eq_preset` varchar(255) default NULL, + `relative_volume` tinyint(4) default '0', + `sample_rate` int(10) unsigned default '0', + `bitrate` int(10) unsigned default '0', + `bpm` smallint(5) unsigned default NULL, + PRIMARY KEY (`song_id`), + KEY `idx_name` (`name`), + KEY `idx_mythdigest` (`mythdigest`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_songs` +-- + +LOCK TABLES `music_songs` WRITE; +/*!40000 ALTER TABLE `music_songs` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_songs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `music_stats` +-- + +DROP TABLE IF EXISTS `music_stats`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `music_stats` ( + `num_artists` smallint(5) unsigned NOT NULL default '0', + `num_albums` smallint(5) unsigned NOT NULL default '0', + `num_songs` mediumint(8) unsigned NOT NULL default '0', + `num_genres` tinyint(3) unsigned NOT NULL default '0', + `total_time` varchar(12) NOT NULL default '0', + `total_size` varchar(10) NOT NULL default '0' +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `music_stats` +-- + +LOCK TABLES `music_stats` WRITE; +/*!40000 ALTER TABLE `music_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `music_stats` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `musicmetadata` +-- + +DROP TABLE IF EXISTS `musicmetadata`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `musicmetadata` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `artist` varchar(128) NOT NULL, + `compilation_artist` varchar(128) NOT NULL, + `album` varchar(128) NOT NULL, + `title` varchar(128) NOT NULL, + `genre` varchar(128) NOT NULL, + `year` int(10) unsigned NOT NULL, + `tracknum` int(10) unsigned NOT NULL, + `length` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `rating` int(10) unsigned NOT NULL default '5', + `lastplay` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `playcount` int(10) unsigned NOT NULL default '0', + `mythdigest` varchar(255) default NULL, + `size` bigint(20) unsigned default NULL, + `date_added` datetime default NULL, + `date_modified` datetime default NULL, + `format` varchar(4) default NULL, + `description` varchar(255) default NULL, + `comment` varchar(255) default NULL, + `compilation` tinyint(4) default '0', + `composer` varchar(255) default NULL, + `disc_count` smallint(5) unsigned default '0', + `disc_number` smallint(5) unsigned default '0', + `track_count` smallint(5) unsigned default '0', + `start_time` int(10) unsigned default '0', + `stop_time` int(10) unsigned default NULL, + `eq_preset` varchar(255) default NULL, + `relative_volume` tinyint(4) default '0', + `sample_rate` int(10) unsigned default NULL, + `bpm` smallint(5) unsigned default NULL, + PRIMARY KEY (`intid`), + KEY `artist` (`artist`), + KEY `album` (`album`), + KEY `title` (`title`), + KEY `genre` (`genre`), + KEY `mythdigest` (`mythdigest`), + KEY `compilation_artist` (`compilation_artist`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `musicmetadata` +-- + +LOCK TABLES `musicmetadata` WRITE; +/*!40000 ALTER TABLE `musicmetadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `musicmetadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `musicplaylist` +-- + +DROP TABLE IF EXISTS `musicplaylist`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `musicplaylist` ( + `playlistid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL, + `hostname` varchar(255) default NULL, + `songlist` text NOT NULL, + PRIMARY KEY (`playlistid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `musicplaylist` +-- + +LOCK TABLES `musicplaylist` WRITE; +/*!40000 ALTER TABLE `musicplaylist` DISABLE KEYS */; +/*!40000 ALTER TABLE `musicplaylist` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `mythlog` +-- + +DROP TABLE IF EXISTS `mythlog`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `mythlog` ( + `logid` int(10) unsigned NOT NULL auto_increment, + `module` varchar(32) NOT NULL default '', + `priority` int(11) NOT NULL default '0', + `acknowledged` tinyint(1) default '0', + `logdate` datetime default NULL, + `host` varchar(128) default NULL, + `message` varchar(255) NOT NULL default '', + `details` text, + PRIMARY KEY (`logid`), + KEY `module` (`module`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `mythlog` +-- + +LOCK TABLES `mythlog` WRITE; +/*!40000 ALTER TABLE `mythlog` DISABLE KEYS */; +/*!40000 ALTER TABLE `mythlog` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `networkiconmap` +-- + +DROP TABLE IF EXISTS `networkiconmap`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `networkiconmap` ( + `id` int(11) NOT NULL auto_increment, + `network` varchar(20) NOT NULL default '', + `url` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `network` (`network`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `networkiconmap` +-- + +LOCK TABLES `networkiconmap` WRITE; +/*!40000 ALTER TABLE `networkiconmap` DISABLE KEYS */; +/*!40000 ALTER TABLE `networkiconmap` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldfind` +-- + +DROP TABLE IF EXISTS `oldfind`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `oldfind` ( + `recordid` int(11) NOT NULL default '0', + `findid` int(11) NOT NULL default '0', + PRIMARY KEY (`recordid`,`findid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `oldfind` +-- + +LOCK TABLES `oldfind` WRITE; +/*!40000 ALTER TABLE `oldfind` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldfind` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldprogram` +-- + +DROP TABLE IF EXISTS `oldprogram`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `oldprogram` ( + `oldtitle` varchar(128) NOT NULL default '', + `airdate` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`oldtitle`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `oldprogram` +-- + +LOCK TABLES `oldprogram` WRITE; +/*!40000 ALTER TABLE `oldprogram` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldprogram` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `oldrecorded` +-- + +DROP TABLE IF EXISTS `oldrecorded`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `oldrecorded` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `seriesid` varchar(40) NOT NULL default '', + `programid` varchar(40) NOT NULL default '', + `findid` int(11) NOT NULL default '0', + `recordid` int(11) NOT NULL default '0', + `station` varchar(20) NOT NULL default '', + `rectype` int(10) unsigned NOT NULL default '0', + `duplicate` tinyint(1) NOT NULL default '0', + `recstatus` int(11) NOT NULL default '0', + `reactivate` smallint(6) NOT NULL default '0', + `generic` tinyint(1) default '0', + PRIMARY KEY (`station`,`starttime`,`title`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `recordid` (`recordid`), + KEY `recstatus` (`recstatus`,`programid`,`seriesid`), + KEY `recstatus_2` (`recstatus`,`title`,`subtitle`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `oldrecorded` +-- + +LOCK TABLES `oldrecorded` WRITE; +/*!40000 ALTER TABLE `oldrecorded` DISABLE KEYS */; +/*!40000 ALTER TABLE `oldrecorded` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `people` +-- + +DROP TABLE IF EXISTS `people`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `people` ( + `person` mediumint(8) unsigned NOT NULL auto_increment, + `name` char(128) NOT NULL default '', + PRIMARY KEY (`person`), + UNIQUE KEY `name` (`name`(41)) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `people` +-- + +LOCK TABLES `people` WRITE; +/*!40000 ALTER TABLE `people` DISABLE KEYS */; +/*!40000 ALTER TABLE `people` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `phonecallhistory` +-- + +DROP TABLE IF EXISTS `phonecallhistory`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `phonecallhistory` ( + `recid` int(10) unsigned NOT NULL auto_increment, + `displayname` text NOT NULL, + `url` text NOT NULL, + `timestamp` text NOT NULL, + `duration` int(10) unsigned NOT NULL, + `directionin` int(10) unsigned NOT NULL, + `directoryref` int(10) unsigned default NULL, + PRIMARY KEY (`recid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `phonecallhistory` +-- + +LOCK TABLES `phonecallhistory` WRITE; +/*!40000 ALTER TABLE `phonecallhistory` DISABLE KEYS */; +/*!40000 ALTER TABLE `phonecallhistory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `phonedirectory` +-- + +DROP TABLE IF EXISTS `phonedirectory`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `phonedirectory` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `nickname` text NOT NULL, + `firstname` text, + `surname` text, + `url` text NOT NULL, + `directory` text NOT NULL, + `photofile` text, + `speeddial` int(10) unsigned NOT NULL, + `onhomelan` int(10) unsigned default '0', + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `phonedirectory` +-- + +LOCK TABLES `phonedirectory` WRITE; +/*!40000 ALTER TABLE `phonedirectory` DISABLE KEYS */; +INSERT INTO `phonedirectory` VALUES (1,'Me(OLDHOSTNAME)','Local Myth Host','OLDHOSTNAME','','My MythTVs','',1,1); +/*!40000 ALTER TABLE `phonedirectory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pidcache` +-- + +DROP TABLE IF EXISTS `pidcache`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `pidcache` ( + `chanid` smallint(6) NOT NULL default '0', + `pid` int(11) NOT NULL default '-1', + `tableid` int(11) NOT NULL default '-1', + KEY `chanid` (`chanid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `pidcache` +-- + +LOCK TABLES `pidcache` WRITE; +/*!40000 ALTER TABLE `pidcache` DISABLE KEYS */; +/*!40000 ALTER TABLE `pidcache` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `playgroup` +-- + +DROP TABLE IF EXISTS `playgroup`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `playgroup` ( + `name` varchar(32) NOT NULL default '', + `titlematch` varchar(255) NOT NULL default '', + `skipahead` int(11) NOT NULL default '0', + `skipback` int(11) NOT NULL default '0', + `timestretch` int(11) NOT NULL default '0', + `jump` int(11) NOT NULL default '0', + PRIMARY KEY (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `playgroup` +-- + +LOCK TABLES `playgroup` WRITE; +/*!40000 ALTER TABLE `playgroup` DISABLE KEYS */; +INSERT INTO `playgroup` VALUES ('Default','',30,5,100,0); +/*!40000 ALTER TABLE `playgroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `powerpriority` +-- + +DROP TABLE IF EXISTS `powerpriority`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `powerpriority` ( + `priorityname` varchar(64) NOT NULL, + `recpriority` int(10) NOT NULL default '0', + `selectclause` text NOT NULL, + PRIMARY KEY (`priorityname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `powerpriority` +-- + +LOCK TABLES `powerpriority` WRITE; +/*!40000 ALTER TABLE `powerpriority` DISABLE KEYS */; +/*!40000 ALTER TABLE `powerpriority` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `profilegroups` +-- + +DROP TABLE IF EXISTS `profilegroups`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `profilegroups` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) default NULL, + `cardtype` varchar(32) NOT NULL default 'V4L', + `is_default` int(1) default '0', + `hostname` varchar(255) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`,`hostname`), + KEY `cardtype` (`cardtype`) +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `profilegroups` +-- + +LOCK TABLES `profilegroups` WRITE; +/*!40000 ALTER TABLE `profilegroups` DISABLE KEYS */; +INSERT INTO `profilegroups` VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'MPEG-2 Encoders (PVR-x50, PVR-500)','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(9,'DBOX2 Input','DBOX2',1,NULL),(10,'Freebox Input','Freebox',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL); +/*!40000 ALTER TABLE `profilegroups` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `program` +-- + +DROP TABLE IF EXISTS `program`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `program` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `category_type` varchar(64) NOT NULL default '', + `airdate` year(4) NOT NULL default '0000', + `stars` float NOT NULL default '0', + `previouslyshown` tinyint(4) NOT NULL default '0', + `title_pronounce` varchar(128) NOT NULL default '', + `stereo` tinyint(1) NOT NULL default '0', + `subtitled` tinyint(1) NOT NULL default '0', + `hdtv` tinyint(1) NOT NULL default '0', + `closecaptioned` tinyint(1) NOT NULL default '0', + `partnumber` int(11) NOT NULL default '0', + `parttotal` int(11) NOT NULL default '0', + `seriesid` varchar(40) NOT NULL default '', + `originalairdate` date default NULL, + `showtype` varchar(30) NOT NULL default '', + `colorcode` varchar(20) NOT NULL default '', + `syndicatedepisodenumber` varchar(20) NOT NULL default '', + `programid` varchar(40) NOT NULL default '', + `manualid` int(10) unsigned NOT NULL default '0', + `generic` tinyint(1) default '0', + `listingsource` int(11) NOT NULL default '0', + `first` tinyint(1) NOT NULL default '0', + `last` tinyint(1) NOT NULL default '0', + `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL, + `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL, + `videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL, + PRIMARY KEY (`chanid`,`starttime`,`manualid`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `title_pronounce` (`title_pronounce`), + KEY `seriesid` (`seriesid`), + KEY `id_start_end` (`chanid`,`starttime`,`endtime`), + KEY `program_manualid` (`manualid`), + KEY `previouslyshown` (`previouslyshown`), + KEY `programid` (`programid`,`starttime`), + KEY `starttime` (`starttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `program` +-- + +LOCK TABLES `program` WRITE; +/*!40000 ALTER TABLE `program` DISABLE KEYS */; +/*!40000 ALTER TABLE `program` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `programgenres` +-- + +DROP TABLE IF EXISTS `programgenres`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `programgenres` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `relevance` char(1) NOT NULL default '', + `genre` char(30) default NULL, + PRIMARY KEY (`chanid`,`starttime`,`relevance`), + KEY `genre` (`genre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `programgenres` +-- + +LOCK TABLES `programgenres` WRITE; +/*!40000 ALTER TABLE `programgenres` DISABLE KEYS */; +/*!40000 ALTER TABLE `programgenres` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `programrating` +-- + +DROP TABLE IF EXISTS `programrating`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `programrating` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `system` char(8) NOT NULL default '', + `rating` char(16) default NULL, + UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`), + KEY `starttime` (`starttime`,`system`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `programrating` +-- + +LOCK TABLES `programrating` WRITE; +/*!40000 ALTER TABLE `programrating` DISABLE KEYS */; +/*!40000 ALTER TABLE `programrating` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recgrouppassword` +-- + +DROP TABLE IF EXISTS `recgrouppassword`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recgrouppassword` ( + `recgroup` varchar(32) NOT NULL default '', + `password` varchar(10) NOT NULL default '', + PRIMARY KEY (`recgroup`), + UNIQUE KEY `recgroup` (`recgroup`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recgrouppassword` +-- + +LOCK TABLES `recgrouppassword` WRITE; +/*!40000 ALTER TABLE `recgrouppassword` DISABLE KEYS */; +/*!40000 ALTER TABLE `recgrouppassword` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `record` +-- + +DROP TABLE IF EXISTS `record`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `record` ( + `recordid` int(10) unsigned NOT NULL auto_increment, + `type` int(10) unsigned NOT NULL default '0', + `chanid` int(10) unsigned default NULL, + `starttime` time NOT NULL default '00:00:00', + `startdate` date NOT NULL default '0000-00-00', + `endtime` time NOT NULL default '00:00:00', + `enddate` date NOT NULL default '0000-00-00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `profile` varchar(128) NOT NULL default 'Default', + `recpriority` int(10) NOT NULL default '0', + `autoexpire` int(11) NOT NULL default '0', + `maxepisodes` int(11) NOT NULL default '0', + `maxnewest` int(11) NOT NULL default '0', + `startoffset` int(11) NOT NULL default '0', + `endoffset` int(11) NOT NULL default '0', + `recgroup` varchar(32) NOT NULL default 'Default', + `dupmethod` int(11) NOT NULL default '6', + `dupin` int(11) NOT NULL default '15', + `station` varchar(20) NOT NULL default '', + `seriesid` varchar(40) NOT NULL default '', + `programid` varchar(40) NOT NULL default '', + `search` int(10) unsigned NOT NULL default '0', + `autotranscode` tinyint(1) NOT NULL default '0', + `autocommflag` tinyint(1) NOT NULL default '0', + `autouserjob1` tinyint(1) NOT NULL default '0', + `autouserjob2` tinyint(1) NOT NULL default '0', + `autouserjob3` tinyint(1) NOT NULL default '0', + `autouserjob4` tinyint(1) NOT NULL default '0', + `findday` tinyint(4) NOT NULL default '0', + `findtime` time NOT NULL default '00:00:00', + `findid` int(11) NOT NULL default '0', + `inactive` tinyint(1) NOT NULL default '0', + `parentid` int(11) NOT NULL default '0', + `transcoder` int(11) NOT NULL default '0', + `tsdefault` float NOT NULL default '1', + `playgroup` varchar(32) NOT NULL default 'Default', + `prefinput` int(10) NOT NULL default '0', + `next_record` datetime NOT NULL, + `last_record` datetime NOT NULL, + `last_delete` datetime NOT NULL, + `storagegroup` varchar(32) NOT NULL default 'Default', + `avg_delay` int(11) NOT NULL default '100', + PRIMARY KEY (`recordid`), + KEY `chanid` (`chanid`,`starttime`), + KEY `title` (`title`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `maxepisodes` (`maxepisodes`), + KEY `search` (`search`), + KEY `type` (`type`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `record` +-- + +LOCK TABLES `record` WRITE; +/*!40000 ALTER TABLE `record` DISABLE KEYS */; +/*!40000 ALTER TABLE `record` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recorded` +-- + +DROP TABLE IF EXISTS `recorded`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recorded` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `hostname` varchar(255) NOT NULL default '', + `bookmark` tinyint(1) NOT NULL default '0', + `editing` int(10) unsigned NOT NULL default '0', + `cutlist` tinyint(1) NOT NULL default '0', + `autoexpire` int(11) NOT NULL default '0', + `commflagged` int(10) unsigned NOT NULL default '0', + `recgroup` varchar(32) NOT NULL default 'Default', + `recordid` int(11) default NULL, + `seriesid` varchar(40) NOT NULL default '', + `programid` varchar(40) NOT NULL default '', + `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `filesize` bigint(20) NOT NULL default '0', + `stars` float NOT NULL default '0', + `previouslyshown` tinyint(1) default '0', + `originalairdate` date default NULL, + `preserve` tinyint(1) NOT NULL default '0', + `findid` int(11) NOT NULL default '0', + `deletepending` tinyint(1) NOT NULL default '0', + `transcoder` int(11) NOT NULL default '0', + `timestretch` float NOT NULL default '1', + `recpriority` int(11) NOT NULL default '0', + `basename` varchar(255) NOT NULL, + `progstart` datetime NOT NULL default '0000-00-00 00:00:00', + `progend` datetime NOT NULL default '0000-00-00 00:00:00', + `playgroup` varchar(32) NOT NULL default 'Default', + `profile` varchar(32) NOT NULL default '', + `duplicate` tinyint(1) NOT NULL default '0', + `transcoded` tinyint(1) NOT NULL default '0', + `watched` tinyint(4) NOT NULL default '0', + `storagegroup` varchar(32) NOT NULL default 'Default', + PRIMARY KEY (`chanid`,`starttime`), + KEY `endtime` (`endtime`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `title` (`title`), + KEY `recordid` (`recordid`), + KEY `deletepending` (`deletepending`,`lastmodified`), + KEY `recgroup` (`recgroup`,`endtime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recorded` +-- + +LOCK TABLES `recorded` WRITE; +/*!40000 ALTER TABLE `recorded` DISABLE KEYS */; +/*!40000 ALTER TABLE `recorded` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedcredits` +-- + +DROP TABLE IF EXISTS `recordedcredits`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedcredits` ( + `person` mediumint(8) unsigned NOT NULL default '0', + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '', + UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`), + KEY `person` (`person`,`role`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedcredits` +-- + +LOCK TABLES `recordedcredits` WRITE; +/*!40000 ALTER TABLE `recordedcredits` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedcredits` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedfile` +-- + +DROP TABLE IF EXISTS `recordedfile`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedfile` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `basename` varchar(128) NOT NULL default '', + `filesize` bigint(20) NOT NULL default '0', + `width` smallint(5) unsigned NOT NULL default '0', + `height` smallint(5) unsigned NOT NULL default '0', + `fps` float(6,3) NOT NULL default '0.000', + `aspect` float(8,6) NOT NULL default '0.000000', + `audio_sample_rate` smallint(5) unsigned NOT NULL default '0', + `audio_bits_per_sample` smallint(5) unsigned NOT NULL default '0', + `audio_channels` tinyint(3) unsigned NOT NULL default '0', + `audio_type` varchar(255) NOT NULL default '', + `video_type` varchar(255) NOT NULL default '', + `comment` varchar(255) NOT NULL default '', + PRIMARY KEY (`chanid`,`starttime`), + KEY `basename` (`basename`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedfile` +-- + +LOCK TABLES `recordedfile` WRITE; +/*!40000 ALTER TABLE `recordedfile` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedfile` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedmarkup` +-- + +DROP TABLE IF EXISTS `recordedmarkup`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedmarkup` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `mark` mediumint(8) unsigned NOT NULL default '0', + `offset` varchar(32) default NULL, + `type` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedmarkup` +-- + +LOCK TABLES `recordedmarkup` WRITE; +/*!40000 ALTER TABLE `recordedmarkup` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedmarkup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedprogram` +-- + +DROP TABLE IF EXISTS `recordedprogram`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedprogram` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + `title` varchar(128) NOT NULL default '', + `subtitle` varchar(128) NOT NULL default '', + `description` text NOT NULL, + `category` varchar(64) NOT NULL default '', + `category_type` varchar(64) NOT NULL default '', + `airdate` year(4) NOT NULL default '0000', + `stars` float unsigned NOT NULL default '0', + `previouslyshown` tinyint(4) NOT NULL default '0', + `title_pronounce` varchar(128) NOT NULL default '', + `stereo` tinyint(1) NOT NULL default '0', + `subtitled` tinyint(1) NOT NULL default '0', + `hdtv` tinyint(1) NOT NULL default '0', + `closecaptioned` tinyint(1) NOT NULL default '0', + `partnumber` int(11) NOT NULL default '0', + `parttotal` int(11) NOT NULL default '0', + `seriesid` varchar(40) NOT NULL default '', + `originalairdate` date default NULL, + `showtype` varchar(30) NOT NULL default '', + `colorcode` varchar(20) NOT NULL default '', + `syndicatedepisodenumber` varchar(20) NOT NULL default '', + `programid` varchar(40) NOT NULL default '', + `manualid` int(10) unsigned NOT NULL default '0', + `generic` tinyint(1) default '0', + `listingsource` int(11) NOT NULL default '0', + `first` tinyint(1) NOT NULL default '0', + `last` tinyint(1) NOT NULL default '0', + `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL, + `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL, + `videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL, + PRIMARY KEY (`chanid`,`starttime`,`manualid`), + KEY `endtime` (`endtime`), + KEY `title` (`title`), + KEY `title_pronounce` (`title_pronounce`), + KEY `seriesid` (`seriesid`), + KEY `programid` (`programid`), + KEY `id_start_end` (`chanid`,`starttime`,`endtime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedprogram` +-- + +LOCK TABLES `recordedprogram` WRITE; +/*!40000 ALTER TABLE `recordedprogram` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedprogram` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedrating` +-- + +DROP TABLE IF EXISTS `recordedrating`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedrating` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `system` char(8) NOT NULL default '', + `rating` char(16) default NULL, + UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`), + KEY `starttime` (`starttime`,`system`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedrating` +-- + +LOCK TABLES `recordedrating` WRITE; +/*!40000 ALTER TABLE `recordedrating` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedrating` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordedseek` +-- + +DROP TABLE IF EXISTS `recordedseek`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordedseek` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `mark` mediumint(8) unsigned NOT NULL default '0', + `offset` bigint(20) unsigned NOT NULL, + `type` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordedseek` +-- + +LOCK TABLES `recordedseek` WRITE; +/*!40000 ALTER TABLE `recordedseek` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordedseek` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordingprofiles` +-- + +DROP TABLE IF EXISTS `recordingprofiles`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordingprofiles` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) default NULL, + `videocodec` varchar(128) default NULL, + `audiocodec` varchar(128) default NULL, + `profilegroup` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `profilegroup` (`profilegroup`) +) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordingprofiles` +-- + +LOCK TABLES `recordingprofiles` WRITE; +/*!40000 ALTER TABLE `recordingprofiles` DISABLE KEYS */; +INSERT INTO `recordingprofiles` VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12),(42,'Default',NULL,NULL,7),(43,'Live TV',NULL,NULL,7),(44,'High Quality',NULL,NULL,7),(45,'Low Quality',NULL,NULL,7),(46,'Default',NULL,NULL,9),(47,'Live TV',NULL,NULL,9),(48,'High Quality',NULL,NULL,9),(49,'Low Quality',NULL,NULL,9); +/*!40000 ALTER TABLE `recordingprofiles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `recordmatch` +-- + +DROP TABLE IF EXISTS `recordmatch`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `recordmatch` ( + `recordid` int(10) unsigned default NULL, + `chanid` int(10) unsigned default NULL, + `starttime` datetime default NULL, + `manualid` int(10) unsigned default NULL, + `oldrecduplicate` tinyint(1) default NULL, + `recduplicate` tinyint(1) default NULL, + `findduplicate` tinyint(1) default NULL, + `oldrecstatus` int(11) default NULL, + KEY `recordid` (`recordid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `recordmatch` +-- + +LOCK TABLES `recordmatch` WRITE; +/*!40000 ALTER TABLE `recordmatch` DISABLE KEYS */; +/*!40000 ALTER TABLE `recordmatch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `romdb` +-- + +DROP TABLE IF EXISTS `romdb`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `romdb` ( + `crc` varchar(64) NOT NULL default '', + `name` varchar(128) NOT NULL default '', + `description` varchar(128) NOT NULL default '', + `category` varchar(128) NOT NULL default '', + `year` varchar(10) NOT NULL default '', + `manufacturer` varchar(128) NOT NULL default '', + `country` varchar(128) NOT NULL default '', + `publisher` varchar(128) NOT NULL default '', + `platform` varchar(64) NOT NULL default '', + `filesize` int(12) default NULL, + `flags` varchar(64) NOT NULL default '', + `version` varchar(64) NOT NULL default '', + `binfile` varchar(64) NOT NULL default '', + KEY `crc` (`crc`), + KEY `year` (`year`), + KEY `category` (`category`), + KEY `name` (`name`), + KEY `description` (`description`), + KEY `platform` (`platform`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `romdb` +-- + +LOCK TABLES `romdb` WRITE; +/*!40000 ALTER TABLE `romdb` DISABLE KEYS */; +/*!40000 ALTER TABLE `romdb` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `schemalock` +-- + +DROP TABLE IF EXISTS `schemalock`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `schemalock` ( + `schemalock` int(1) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `schemalock` +-- + +LOCK TABLES `schemalock` WRITE; +/*!40000 ALTER TABLE `schemalock` DISABLE KEYS */; +/*!40000 ALTER TABLE `schemalock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `settings` +-- + +DROP TABLE IF EXISTS `settings`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `settings` ( + `value` varchar(128) NOT NULL default '', + `data` text, + `hostname` varchar(255) default NULL, + KEY `value` (`value`,`hostname`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `settings` +-- + +LOCK TABLES `settings` WRITE; +/*!40000 ALTER TABLE `settings` DISABLE KEYS */; +INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart',NULL,NULL),('mythfilldatabaseLastRunEnd',NULL,NULL),('mythfilldatabaseLastRunStatus',NULL,NULL),('DataDirectMessage',NULL,NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1214',NULL),('DefaultTranscoder','0',NULL),('MythFillSuggestedRunTime','1970-01-01T00:00:00',NULL),('MythFillGrabberSuggestsTime','1',NULL),('BackendServerIP','127.0.0.1','OLDHOSTNAME'),('BackendServerPort','6543','OLDHOSTNAME'),('BackendStatusPort','6544','OLDHOSTNAME'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('RecordFilePrefix','/var/lib/mythtv/recordings','OLDHOSTNAME'),('TruncateDeletesSlowly','1','OLDHOSTNAME'),('TVFormat','NTSC',NULL),('VbiFormat','None',NULL),('FreqTable','us-bcast',NULL),('TimeOffset','None',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('EITTimeOffset','Auto',NULL),('EITTransportTimeout','5',NULL),('EITIgnoresSource','0',NULL),('EITCrawIdleStart','60',NULL),('startupCommand','',NULL),('blockSDWUwithoutClient','1',NULL),('idleTimeoutSecs','0',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('SetWakeuptimeCommand','',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('preSDWUCheckCommand','',NULL),('WOLbackendReconnectWaitTime','0',NULL),('WOLbackendConnectRetry','5',NULL),('WOLbackendCommand','',NULL),('WOLslaveBackendsCommand','',NULL),('JobQueueMaxSimultaneousJobs','1','OLDHOSTNAME'),('JobQueueCheckFrequency','60','OLDHOSTNAME'),('JobQueueWindowStart','00:00','OLDHOSTNAME'),('JobQueueWindowEnd','23:59','OLDHOSTNAME'),('JobQueueCPU','0','OLDHOSTNAME'),('JobAllowCommFlag','1','OLDHOSTNAME'),('JobAllowTranscode','1','OLDHOSTNAME'),('JobAllowUserJob1','0','OLDHOSTNAME'),('JobAllowUserJob2','0','OLDHOSTNAME'),('JobAllowUserJob3','0','OLDHOSTNAME'),('JobAllowUserJob4','0','OLDHOSTNAME'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJob1','',NULL),('UserJobDesc2','User Job #2',NULL),('UserJob2','',NULL),('UserJobDesc3','User Job #3',NULL),('UserJob3','',NULL),('UserJobDesc4','User Job #4',NULL),('UserJob4','',NULL),('upnp:UDN:urn:schemas-upnp-org:device:MediaServer:1','256a89b4-1266-49ca-9ac7-f0b4b4641e7f','OLDHOSTNAME'),('Deinterlace','0','OLDHOSTNAME'),('DeinterlaceFilter','linearblend','OLDHOSTNAME'),('CustomFilters','','OLDHOSTNAME'),('PreferredMPEG2Decoder','ffmpeg','OLDHOSTNAME'),('UseOpenGLVSync','0','OLDHOSTNAME'),('RealtimePriority','1','OLDHOSTNAME'),('UseVideoTimebase','0','OLDHOSTNAME'),('DecodeExtraAudio','1','OLDHOSTNAME'),('AspectOverride','0','OLDHOSTNAME'),('PIPLocation','0','OLDHOSTNAME'),('PlaybackExitPrompt','0','OLDHOSTNAME'),('EndOfRecordingExitPrompt','0','OLDHOSTNAME'),('ClearSavedPosition','1','OLDHOSTNAME'),('AltClearSavedPosition','1','OLDHOSTNAME'),('UseOutputPictureControls','0','OLDHOSTNAME'),('AudioNag','1','OLDHOSTNAME'),('UDPNotifyPort','6948','OLDHOSTNAME'),('PlayBoxOrdering','1','OLDHOSTNAME'),('PlayBoxEpisodeSort','Date','OLDHOSTNAME'),('GeneratePreviewPixmaps','0','OLDHOSTNAME'),('PreviewPixmapOffset','64',NULL),('PreviewFromBookmark','1','OLDHOSTNAME'),('PlaybackPreview','1','OLDHOSTNAME'),('PlaybackPreviewLowCPU','0','OLDHOSTNAME'),('PlaybackBoxStartInTitle','1','OLDHOSTNAME'),('ShowGroupInfo','0','OLDHOSTNAME'),('AllRecGroupPassword','',NULL),('DisplayRecGroup','All Programs','OLDHOSTNAME'),('QueryInitialFilter','0','OLDHOSTNAME'),('RememberRecGroup','1','OLDHOSTNAME'),('DispRecGroupAsAllProg','0','OLDHOSTNAME'),('LiveTVInAllPrograms','0','OLDHOSTNAME'),('DisplayGroupDefaultView','0','OLDHOSTNAME'),('DisplayGroupTitleSort','0','OLDHOSTNAME'),('PVR350OutputEnable','0','OLDHOSTNAME'),('PVR350VideoDev','/dev/video16','OLDHOSTNAME'),('PVR350EPGAlphaValue','164','OLDHOSTNAME'),('PVR350InternalAudioOnly','0','OLDHOSTNAME'),('SmartForward','0','OLDHOSTNAME'),('StickyKeys','0','OLDHOSTNAME'),('FFRewReposTime','100','OLDHOSTNAME'),('FFRewReverse','1','OLDHOSTNAME'),('ExactSeeking','0','OLDHOSTNAME'),('AutoCommercialSkip','0','OLDHOSTNAME'),('CommRewindAmount','0','OLDHOSTNAME'),('CommNotifyAmount','0','OLDHOSTNAME'),('MaximumCommercialSkip','3600',NULL),('CommSkipAllBlanks','1',NULL),('VertScanPercentage','0','OLDHOSTNAME'),('HorizScanPercentage','0','OLDHOSTNAME'),('XScanDisplacement','0','OLDHOSTNAME'),('YScanDisplacement','0','OLDHOSTNAME'),('OSDTheme','blueosd','OLDHOSTNAME'),('OSDGeneralTimeout','2','OLDHOSTNAME'),('OSDProgramInfoTimeout','3','OLDHOSTNAME'),('OSDNotifyTimeout','5','OLDHOSTNAME'),('OSDFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCCFont','FreeMono.ttf','OLDHOSTNAME'),('OSDThemeFontSizeType','default','OLDHOSTNAME'),('CCBackground','0','OLDHOSTNAME'),('DefaultCCMode','0','OLDHOSTNAME'),('PersistentBrowseMode','1','OLDHOSTNAME'),('EnableMHEG','0','OLDHOSTNAME'),('OSDCC708TextZoom','100','OLDHOSTNAME'),('OSDCC708DefaultFontType','MonoSerif','OLDHOSTNAME'),('OSDCC708MonoSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSansSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSansSerifFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CasualFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CursiveFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CapitalsFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708MonoSansSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708PropSansSerifItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CasualItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CursiveItalicFont','FreeMono.ttf','OLDHOSTNAME'),('OSDCC708CapitalsItalicFont','FreeMono.ttf','OLDHOSTNAME'),('ChannelOrdering','channum','OLDHOSTNAME'),('ChannelFormat',' ','OLDHOSTNAME'),('LongChannelFormat',' ','OLDHOSTNAME'),('SmartChannelChange','0','OLDHOSTNAME'),('LastFreeCard','0',NULL),('AutoExpireMethod','2',NULL),('AutoExpireDayPriority','3',NULL),('AutoExpireDefault','1',NULL),('AutoExpireLiveTVMaxAge','1',NULL),('AutoExpireExtraSpace','1',NULL),('AutoCommercialFlag','1',NULL),('CommercialSkipMethod','255',NULL),('AggressiveCommDetect','1',NULL),('AutoTranscode','0',NULL),('AutoRunUserJob1','0',NULL),('AutoRunUserJob2','0',NULL),('AutoRunUserJob3','0',NULL),('AutoRunUserJob4','0',NULL),('RecordPreRoll','0',NULL),('RecordOverTime','0',NULL),('OverTimeCategory','category name',NULL),('CategoryOverTime','30',NULL),('ATSCCheckSignalThreshold','65',NULL),('ATSCCheckSignalWait','5000',NULL),('HDRingbufferSize','9400',NULL),('EPGFillType','10','OLDHOSTNAME'),('EPGShowCategoryColors','1','OLDHOSTNAME'),('EPGShowCategoryText','1','OLDHOSTNAME'),('EPGScrollType','1','OLDHOSTNAME'),('EPGShowChannelIcon','1','OLDHOSTNAME'),('EPGShowFavorites','0','OLDHOSTNAME'),('WatchTVGuide','0','OLDHOSTNAME'),('chanPerPage','5','OLDHOSTNAME'),('timePerPage','4','OLDHOSTNAME'),('UnknownTitle','Unknown','OLDHOSTNAME'),('UnknownCategory','Unknown','OLDHOSTNAME'),('DefaultTVChannel','3','OLDHOSTNAME'),('SelectChangesChannel','0','OLDHOSTNAME'),('SelChangeRecThreshold','16','OLDHOSTNAME'),('EPGEnableJumpToChannel','0',NULL),('Theme','G.A.N.T','OLDHOSTNAME'),('ThemePainter','qt','OLDHOSTNAME'),('Style','','OLDHOSTNAME'),('ThemeFontSizeType','default','OLDHOSTNAME'),('RandomTheme','0','OLDHOSTNAME'),('MenuTheme','default','OLDHOSTNAME'),('XineramaScreen','0','OLDHOSTNAME'),('XineramaMonitorAspectRatio','1.3333','OLDHOSTNAME'),('GuiWidth','0','OLDHOSTNAME'),('GuiHeight','0','OLDHOSTNAME'),('GuiOffsetX','0','OLDHOSTNAME'),('GuiOffsetY','0','OLDHOSTNAME'),('GuiSizeForTV','1','OLDHOSTNAME'),('HideMouseCursor','1','OLDHOSTNAME'),('RunFrontendInWindow','0','OLDHOSTNAME'),('UseVideoModes','0','OLDHOSTNAME'),('GuiVidModeResolution','640x480','OLDHOSTNAME'),('TVVidModeResolution','640x480','OLDHOSTNAME'),('TVVidModeForceAspect','0.0','OLDHOSTNAME'),('VidModeWidth0','0','OLDHOSTNAME'),('VidModeHeight0','0','OLDHOSTNAME'),('TVVidModeResolution0','640x480','OLDHOSTNAME'),('TVVidModeForceAspect0','0.0','OLDHOSTNAME'),('VidModeWidth1','0','OLDHOSTNAME'),('VidModeHeight1','0','OLDHOSTNAME'),('TVVidModeResolution1','640x480','OLDHOSTNAME'),('TVVidModeForceAspect1','0.0','OLDHOSTNAME'),('VidModeWidth2','0','OLDHOSTNAME'),('VidModeHeight2','0','OLDHOSTNAME'),('TVVidModeResolution2','640x480','OLDHOSTNAME'),('TVVidModeForceAspect2','0.0','OLDHOSTNAME'),('ISO639Language0','eng','OLDHOSTNAME'),('ISO639Language1','eng','OLDHOSTNAME'),('DateFormat','ddd MMM d','OLDHOSTNAME'),('ShortDateFormat','M/d','OLDHOSTNAME'),('TimeFormat','h:mm AP','OLDHOSTNAME'),('QtFontSmall','12','OLDHOSTNAME'),('QtFontMedium','16','OLDHOSTNAME'),('QtFontBig','25','OLDHOSTNAME'),('PlayBoxTransparency','1','OLDHOSTNAME'),('PlayBoxShading','0','OLDHOSTNAME'),('UseVirtualKeyboard','1','OLDHOSTNAME'),('LCDEnable','0','OLDHOSTNAME'),('LCDShowTime','1','OLDHOSTNAME'),('LCDShowMenu','1','OLDHOSTNAME'),('LCDShowMusic','1','OLDHOSTNAME'),('LCDShowMusicItems','ArtistTitle','OLDHOSTNAME'),('LCDShowChannel','1','OLDHOSTNAME'),('LCDShowRecStatus','0','OLDHOSTNAME'),('LCDShowVolume','1','OLDHOSTNAME'),('LCDShowGeneric','1','OLDHOSTNAME'),('LCDBacklightOn','1','OLDHOSTNAME'),('LCDHeartBeatOn','0','OLDHOSTNAME'),('LCDBigClock','0','OLDHOSTNAME'),('LCDKeyString','ABCDEF','OLDHOSTNAME'),('LCDPopupTime','5','OLDHOSTNAME'),('AudioOutputDevice','ALSA:default','OLDHOSTNAME'),('PassThruOutputDevice','Default','OLDHOSTNAME'),('AC3PassThru','0','OLDHOSTNAME'),('DTSPassThru','0','OLDHOSTNAME'),('AggressiveSoundcardBuffer','0','OLDHOSTNAME'),('MythControlsVolume','1','OLDHOSTNAME'),('MixerDevice','default','OLDHOSTNAME'),('MixerControl','PCM','OLDHOSTNAME'),('MasterMixerVolume','70','OLDHOSTNAME'),('PCMMixerVolume','70','OLDHOSTNAME'),('IndividualMuteControl','0','OLDHOSTNAME'),('AllowQuitShutdown','4','OLDHOSTNAME'),('NoPromptOnExit','1','OLDHOSTNAME'),('HaltCommand','halt','OLDHOSTNAME'),('LircKeyPressedApp','','OLDHOSTNAME'),('UseArrowAccels','1','OLDHOSTNAME'),('NetworkControlEnabled','0','OLDHOSTNAME'),('NetworkControlPort','6546','OLDHOSTNAME'),('SetupPinCodeRequired','0','OLDHOSTNAME'),('MonitorDrives','0','OLDHOSTNAME'),('EnableXbox','0','OLDHOSTNAME'),('LogEnabled','0',NULL),('LogPrintLevel','8','OLDHOSTNAME'),('LogCleanEnabled','0','OLDHOSTNAME'),('LogCleanPeriod','14','OLDHOSTNAME'),('LogCleanDays','14','OLDHOSTNAME'),('LogCleanMax','30','OLDHOSTNAME'),('LogMaxCount','100','OLDHOSTNAME'),('MythFillEnabled','0',NULL),('MythFillDatabasePath','/usr/bin/mythfilldatabase',NULL),('MythFillDatabaseArgs','',NULL),('MythFillDatabaseLog','',NULL),('MythFillPeriod','1',NULL),('MythFillMinHour','2',NULL),('MythFillMaxHour','5',NULL),('SchedMoveHigher','1',NULL),('DefaultStartOffset','0',NULL),('DefaultEndOffset','0',NULL),('ComplexPriority','0',NULL),('PrefInputPriority','2',NULL),('OnceRecPriority','0',NULL),('HDTVRecPriority','0',NULL),('CCRecPriority','0',NULL),('SingleRecordRecPriority','1',NULL),('OverrideRecordRecPriority','0',NULL),('FindOneRecordRecPriority','-1',NULL),('WeekslotRecordRecPriority','0',NULL),('TimeslotRecordRecPriority','0',NULL),('ChannelRecordRecPriority','0',NULL),('AllRecordRecPriority','0',NULL),('ArchiveDBSchemaVer','1000',NULL),('MythArchiveTempDir','','OLDHOSTNAME'),('MythArchiveShareDir','/usr/share/mythtv/mytharchive/','OLDHOSTNAME'),('MythArchiveVideoFormat','PAL','OLDHOSTNAME'),('MythArchiveFileFilter','*.mpg *.mov *.avi *.mpeg *.nuv','OLDHOSTNAME'),('MythArchiveDVDLocation','/dev/dvd','OLDHOSTNAME'),('MythArchiveEncodeToAc3','0','OLDHOSTNAME'),('MythArchiveCopyRemoteFiles','0','OLDHOSTNAME'),('MythArchiveAlwaysUseMythTranscode','1','OLDHOSTNAME'),('MythArchiveUseFIFO','1','OLDHOSTNAME'),('MythArchiveMainMenuAR','16:9','OLDHOSTNAME'),('MythArchiveChapterMenuAR','Video','OLDHOSTNAME'),('MythArchiveDateFormat','%a %b %d','OLDHOSTNAME'),('MythArchiveTimeFormat','%I:%M %p','OLDHOSTNAME'),('MythArchiveFfmpegCmd','ffmpeg','OLDHOSTNAME'),('MythArchiveMplexCmd','mplex','OLDHOSTNAME'),('MythArchiveDvdauthorCmd','dvdauthor','OLDHOSTNAME'),('MythArchiveSpumuxCmd','spumux','OLDHOSTNAME'),('MythArchiveMpeg2encCmd','mpeg2enc','OLDHOSTNAME'),('MythArchiveMkisofsCmd','mkisofs','OLDHOSTNAME'),('MythArchiveGrowisofsCmd','growisofs','OLDHOSTNAME'),('MythArchiveTcrequantCmd','tcrequant','OLDHOSTNAME'),('MythArchivePng2yuvCmd','png2yuv','OLDHOSTNAME'),('DVDDBSchemaVer','1002',NULL),('DVDDeviceLocation','/dev/dvd','OLDHOSTNAME'),('VCDDeviceLocation','/dev/cdrom','OLDHOSTNAME'),('DVDOnInsertDVD','1','OLDHOSTNAME'),('mythdvd.DVDPlayerCommand','Internal','OLDHOSTNAME'),('VCDPlayerCommand','mplayer vcd:// -cdrom-device %d -fs -zoom -vo xv','OLDHOSTNAME'),('DVDRipLocation','/var/lib/mythdvd/temp','OLDHOSTNAME'),('TitlePlayCommand','mplayer dvd://%t -dvd-device %d -fs -zoom -vo xv -aid %a -channels %c','OLDHOSTNAME'),('SubTitleCommand','-sid %s','OLDHOSTNAME'),('TranscodeCommand','transcode','OLDHOSTNAME'),('MTDPort','2442','OLDHOSTNAME'),('MTDNiceLevel','20','OLDHOSTNAME'),('MTDConcurrentTranscodes','1','OLDHOSTNAME'),('MTDRipSize','0','OLDHOSTNAME'),('MTDLogFlag','0','OLDHOSTNAME'),('MTDac3Flag','0','OLDHOSTNAME'),('MTDxvidFlag','1','OLDHOSTNAME'),('mythvideo.TrustTranscodeFRDetect','1','OLDHOSTNAME'),('GalleryDBSchemaVer','1000',NULL),('GalleryDir','/var/lib/mythtv/pictures','OLDHOSTNAME'),('GalleryThumbnailLocation','1','OLDHOSTNAME'),('GallerySortOrder','20','OLDHOSTNAME'),('GalleryImportDirs','/media/cdrom:/media/usbdisk','OLDHOSTNAME'),('GalleryMoviePlayerCmd','mplayer -fs %s','OLDHOSTNAME'),('SlideshowOpenGLTransition','none','OLDHOSTNAME'),('SlideshowOpenGLTransitionLength','2000','OLDHOSTNAME'),('GalleryOverlayCaption','0','OLDHOSTNAME'),('SlideshowTransition','none','OLDHOSTNAME'),('SlideshowBackground','','OLDHOSTNAME'),('SlideshowDelay','5','OLDHOSTNAME'),('GameDBSchemaVer','1012',NULL),('MusicDBSchemaVer','1006',NULL),('MusicLocation','/var/lib/mythtv/music/','OLDHOSTNAME'),('MusicAudioDevice','default','OLDHOSTNAME'),('CDDevice','/dev/cdrom','OLDHOSTNAME'),('TreeLevels','splitartist artist album title','OLDHOSTNAME'),('NonID3FileNameFormat','GENRE/ARTIST/ALBUM/TRACK_TITLE','OLDHOSTNAME'),('Ignore_ID3','0','OLDHOSTNAME'),('AutoLookupCD','1','OLDHOSTNAME'),('AutoPlayCD','0','OLDHOSTNAME'),('KeyboardAccelerators','1','OLDHOSTNAME'),('CDWriterEnabled','1','OLDHOSTNAME'),('CDDiskSize','1','OLDHOSTNAME'),('CDCreateDir','1','OLDHOSTNAME'),('CDWriteSpeed','0','OLDHOSTNAME'),('CDBlankType','fast','OLDHOSTNAME'),('PlayMode','Normal','OLDHOSTNAME'),('IntelliRatingWeight','35','OLDHOSTNAME'),('IntelliPlayCountWeight','25','OLDHOSTNAME'),('IntelliLastPlayWeight','25','OLDHOSTNAME'),('IntelliRandomWeight','15','OLDHOSTNAME'),('MusicShowRatings','0','OLDHOSTNAME'),('ShowWholeTree','0','OLDHOSTNAME'),('ListAsShuffled','0','OLDHOSTNAME'),('VisualMode','Random','OLDHOSTNAME'),('VisualCycleOnSongChange','0','OLDHOSTNAME'),('VisualModeDelay','0','OLDHOSTNAME'),('VisualScaleWidth','1','OLDHOSTNAME'),('VisualScaleHeight','1','OLDHOSTNAME'),('ParanoiaLevel','Full','OLDHOSTNAME'),('FilenameTemplate','ARTIST/ALBUM/TRACK-TITLE','OLDHOSTNAME'),('TagSeparator',' - ','OLDHOSTNAME'),('NoWhitespace','0','OLDHOSTNAME'),('PostCDRipScript','','OLDHOSTNAME'),('EjectCDAfterRipping','1','OLDHOSTNAME'),('OnlyImportNewMusic','0','OLDHOSTNAME'),('EncoderType','ogg','OLDHOSTNAME'),('DefaultRipQuality','0','OLDHOSTNAME'),('Mp3UseVBR','0','OLDHOSTNAME'),('PhoneDBSchemaVer','1001',NULL),('SipRegisterWithProxy','1','OLDHOSTNAME'),('SipProxyName','fwd.pulver.com','OLDHOSTNAME'),('SipProxyAuthName','','OLDHOSTNAME'),('SipProxyAuthPassword','','OLDHOSTNAME'),('MySipName','Me','OLDHOSTNAME'),('SipAutoanswer','0','OLDHOSTNAME'),('SipBindInterface','eth0','OLDHOSTNAME'),('SipLocalPort','5060','OLDHOSTNAME'),('NatTraversalMethod','None','OLDHOSTNAME'),('NatIpAddress','http://checkip.dyndns.org','OLDHOSTNAME'),('AudioLocalPort','21232','OLDHOSTNAME'),('VideoLocalPort','21234','OLDHOSTNAME'),('MicrophoneDevice','None','OLDHOSTNAME'),('CodecPriorityList','GSM;G.711u;G.711a','OLDHOSTNAME'),('PlayoutAudioCall','40','OLDHOSTNAME'),('PlayoutVideoCall','110','OLDHOSTNAME'),('TxResolution','176x144','OLDHOSTNAME'),('TransmitFPS','5','OLDHOSTNAME'),('TransmitBandwidth','256','OLDHOSTNAME'),('CaptureResolution','352x288','OLDHOSTNAME'),('TimeToAnswer','10','OLDHOSTNAME'),('DefaultVxmlUrl','http://127.0.0.1/vxml/index.vxml','OLDHOSTNAME'),('DefaultVoicemailPrompt','I am not at home, please leave a message after the tone','OLDHOSTNAME'),('VideoDBSchemaVer','1010',NULL),('VideoStartupDir','/var/lib/mythtv/videos','OLDHOSTNAME'),('VideoArtworkDir','/home/mythtv/.mythtv/MythVideo','OLDHOSTNAME'),('VideoDefaultParentalLevel','4','OLDHOSTNAME'),('VideoAggressivePC','0','OLDHOSTNAME'),('Default MythVideo View','1','OLDHOSTNAME'),('VideoListUnknownFiletypes','1','OLDHOSTNAME'),('VideoBrowserNoDB','0','OLDHOSTNAME'),('VideoGalleryNoDB','0','OLDHOSTNAME'),('VideoTreeNoDB','0','OLDHOSTNAME'),('VideoTreeLoadMetaData','1','OLDHOSTNAME'),('VideoNewBrowsable','1','OLDHOSTNAME'),('mythvideo.sort_ignores_case','1','OLDHOSTNAME'),('mythvideo.db_folder_view','1','OLDHOSTNAME'),('mythvideo.ImageCacheSize','50','OLDHOSTNAME'),('MovieListCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -M tv=no;video=no','OLDHOSTNAME'),('MoviePosterCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -P','OLDHOSTNAME'),('MovieDataCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -D','OLDHOSTNAME'),('VideoGalleryColsPerPage','4','OLDHOSTNAME'),('VideoGalleryRowsPerPage','3','OLDHOSTNAME'),('VideoGallerySubtitle','1','OLDHOSTNAME'),('VideoGalleryAspectRatio','1','OLDHOSTNAME'),('VideoDefaultPlayer','mplayer -fs -zoom -quiet -vo xv %s','OLDHOSTNAME'),('MythFillFixProgramIDsHasRunOnce','1','OLDHOSTNAME'),('DisplayGroupDefaultViewMask','1','OLDHOSTNAME'),('SecurityPin','','OLDHOSTNAME'),('MiscStatusScript','','OLDHOSTNAME'),('DisableFirewireReset','0','OLDHOSTNAME'),('Theme','Mythbuntu-8.04','localhost'),('Theme','G.A.N.T','OLDHOSTNAME'),('MythFillFixProgramIDsHasRunOnce','1','OLDHOSTNAME'),('BackupDBLastRunStart','2008-04-12 22:16:28',NULL),('BackupDBLastRunEnd','2008-04-12 22:16:29',NULL),('Language','EN','OLDHOSTNAME'),('BackendServerIP','127.0.0.1','OLDHOSTNAME'),('BackendServerPort','6543','OLDHOSTNAME'),('BackendStatusPort','6544','OLDHOSTNAME'),('SecurityPin','','OLDHOSTNAME'),('TruncateDeletesSlowly','0','OLDHOSTNAME'),('MiscStatusScript','','OLDHOSTNAME'),('DisableFirewireReset','0','OLDHOSTNAME'),('JobQueueMaxSimultaneousJobs','1','OLDHOSTNAME'),('JobQueueCheckFrequency','60','OLDHOSTNAME'),('JobQueueWindowStart','00:00','OLDHOSTNAME'),('JobQueueWindowEnd','23:59','OLDHOSTNAME'),('JobQueueCPU','0','OLDHOSTNAME'),('JobAllowCommFlag','1','OLDHOSTNAME'),('JobAllowTranscode','1','OLDHOSTNAME'),('JobAllowUserJob1','0','OLDHOSTNAME'),('JobAllowUserJob2','0','OLDHOSTNAME'),('JobAllowUserJob3','0','OLDHOSTNAME'),('JobAllowUserJob4','0','OLDHOSTNAME'); +/*!40000 ALTER TABLE `settings` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `storagegroup` +-- + +DROP TABLE IF EXISTS `storagegroup`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `storagegroup` ( + `id` int(11) NOT NULL auto_increment, + `groupname` varchar(32) NOT NULL, + `hostname` varchar(64) NOT NULL default '', + `dirname` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `grouphostdir` (`groupname`,`hostname`,`dirname`), + KEY `hostname` (`hostname`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `storagegroup` +-- + +LOCK TABLES `storagegroup` WRITE; +/*!40000 ALTER TABLE `storagegroup` DISABLE KEYS */; +INSERT INTO `storagegroup` VALUES (1,'Default','OLDHOSTNAME','/var/lib/mythtv/recordings'); +/*!40000 ALTER TABLE `storagegroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `tvchain` +-- + +DROP TABLE IF EXISTS `tvchain`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `tvchain` ( + `chanid` int(10) unsigned NOT NULL default '0', + `starttime` datetime NOT NULL default '0000-00-00 00:00:00', + `chainid` varchar(128) NOT NULL default '', + `chainpos` int(10) NOT NULL default '0', + `discontinuity` tinyint(1) NOT NULL default '0', + `watching` int(10) NOT NULL default '0', + `hostprefix` varchar(128) NOT NULL default '', + `cardtype` varchar(32) NOT NULL default 'V4L', + `input` varchar(32) NOT NULL default '', + `channame` varchar(32) NOT NULL default '', + `endtime` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`chanid`,`starttime`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `tvchain` +-- + +LOCK TABLES `tvchain` WRITE; +/*!40000 ALTER TABLE `tvchain` DISABLE KEYS */; +/*!40000 ALTER TABLE `tvchain` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `upnpmedia` +-- + +DROP TABLE IF EXISTS `upnpmedia`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `upnpmedia` ( + `intid` int(10) unsigned NOT NULL default '0', + `class` varchar(64) NOT NULL default '', + `itemtype` varchar(128) NOT NULL default '', + `parentid` int(10) unsigned NOT NULL default '0', + `itemproperties` varchar(255) NOT NULL default '', + `filepath` varchar(512) NOT NULL default '', + `title` varchar(255) NOT NULL default '', + `filename` varchar(512) NOT NULL default '', + `coverart` varchar(512) NOT NULL default '', + PRIMARY KEY (`intid`), + KEY `class` (`class`), + KEY `filepath` (`filepath`), + KEY `parentid` (`parentid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `upnpmedia` +-- + +LOCK TABLES `upnpmedia` WRITE; +/*!40000 ALTER TABLE `upnpmedia` DISABLE KEYS */; +/*!40000 ALTER TABLE `upnpmedia` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videocategory` +-- + +DROP TABLE IF EXISTS `videocategory`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videocategory` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `category` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videocategory` +-- + +LOCK TABLES `videocategory` WRITE; +/*!40000 ALTER TABLE `videocategory` DISABLE KEYS */; +/*!40000 ALTER TABLE `videocategory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videocountry` +-- + +DROP TABLE IF EXISTS `videocountry`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videocountry` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `country` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videocountry` +-- + +LOCK TABLES `videocountry` WRITE; +/*!40000 ALTER TABLE `videocountry` DISABLE KEYS */; +/*!40000 ALTER TABLE `videocountry` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videogenre` +-- + +DROP TABLE IF EXISTS `videogenre`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videogenre` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `genre` varchar(128) NOT NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videogenre` +-- + +LOCK TABLES `videogenre` WRITE; +/*!40000 ALTER TABLE `videogenre` DISABLE KEYS */; +/*!40000 ALTER TABLE `videogenre` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadata` +-- + +DROP TABLE IF EXISTS `videometadata`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videometadata` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `title` varchar(128) NOT NULL, + `director` varchar(128) NOT NULL, + `plot` text, + `rating` varchar(128) NOT NULL, + `inetref` varchar(32) NOT NULL, + `year` int(10) unsigned NOT NULL, + `userrating` float NOT NULL, + `length` int(10) unsigned NOT NULL, + `showlevel` int(10) unsigned NOT NULL, + `filename` text NOT NULL, + `coverfile` text NOT NULL, + `childid` int(11) NOT NULL default '-1', + `browse` tinyint(1) NOT NULL default '1', + `playcommand` varchar(255) default NULL, + `category` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`intid`), + KEY `director` (`director`), + KEY `title` (`title`), + KEY `title_2` (`title`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videometadata` +-- + +LOCK TABLES `videometadata` WRITE; +/*!40000 ALTER TABLE `videometadata` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadatacountry` +-- + +DROP TABLE IF EXISTS `videometadatacountry`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videometadatacountry` ( + `idvideo` int(10) unsigned NOT NULL, + `idcountry` int(10) unsigned NOT NULL, + KEY `idvideo` (`idvideo`), + KEY `idcountry` (`idcountry`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videometadatacountry` +-- + +LOCK TABLES `videometadatacountry` WRITE; +/*!40000 ALTER TABLE `videometadatacountry` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadatacountry` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videometadatagenre` +-- + +DROP TABLE IF EXISTS `videometadatagenre`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videometadatagenre` ( + `idvideo` int(10) unsigned NOT NULL, + `idgenre` int(10) unsigned NOT NULL, + KEY `idvideo` (`idvideo`), + KEY `idgenre` (`idgenre`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videometadatagenre` +-- + +LOCK TABLES `videometadatagenre` WRITE; +/*!40000 ALTER TABLE `videometadatagenre` DISABLE KEYS */; +/*!40000 ALTER TABLE `videometadatagenre` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videosource` +-- + +DROP TABLE IF EXISTS `videosource`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videosource` ( + `sourceid` int(10) unsigned NOT NULL auto_increment, + `name` varchar(128) NOT NULL default '', + `xmltvgrabber` varchar(128) default NULL, + `userid` varchar(128) NOT NULL default '', + `freqtable` varchar(16) NOT NULL default 'default', + `lineupid` varchar(64) default NULL, + `password` varchar(64) default NULL, + `useeit` smallint(6) NOT NULL default '0', + PRIMARY KEY (`sourceid`), + UNIQUE KEY `name` (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videosource` +-- + +LOCK TABLES `videosource` WRITE; +/*!40000 ALTER TABLE `videosource` DISABLE KEYS */; +/*!40000 ALTER TABLE `videosource` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `videotypes` +-- + +DROP TABLE IF EXISTS `videotypes`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `videotypes` ( + `intid` int(10) unsigned NOT NULL auto_increment, + `extension` varchar(128) NOT NULL, + `playcommand` varchar(255) NOT NULL, + `f_ignore` tinyint(1) default NULL, + `use_default` tinyint(1) default NULL, + PRIMARY KEY (`intid`) +) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping data for table `videotypes` +-- + +LOCK TABLES `videotypes` WRITE; +/*!40000 ALTER TABLE `videotypes` DISABLE KEYS */; +INSERT INTO `videotypes` VALUES (1,'txt','',1,0),(2,'log','',1,0),(3,'mpg','Internal',0,0),(4,'avi','',0,1),(5,'vob','Internal',0,0),(6,'mpeg','Internal',0,0),(7,'VIDEO_TS','Internal',0,0),(8,'iso','Internal',0,0),(9,'img','Internal',0,0); +/*!40000 ALTER TABLE `videotypes` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2008-04-13 2:17:31 --- mythtv-0.21.0+fixes18207.orig/debian/dialog_functions.sh +++ mythtv-0.21.0+fixes18207/debian/dialog_functions.sh @@ -0,0 +1,170 @@ +#!/bin/sh +# The following set of functions are borrowed from UCK and xdg-utils +# with minor modifications as well as a few written myself +#- Mario Limonciello, March 2007 +################################################################### + +find_dialog() +{ + if [ -z "$DIALOG" ] ; then + DIALOG=`which zenity` + + if [ ! -z "$DIALOG" ]; then + DIALOG_TYPE=zenity + fi + fi + + if [ -z "$DIALOG" ]; then + DIALOG=`which kdialog` + + if [ ! -z "$DIALOG" ]; then + DIALOG_TYPE=kdialog + fi + fi + + if [ -z $DIALOG ]; then + failure "You need zenity or kdialog installed to run mythfrontend" + fi +} + +find_session() +{ + if [ x"$KDE_FULL_SESSION" = x"true" ]; then + DE=kde; + DIALOG=`which kdialog`; + DIALOG_TYPE=kdialog; + SU=`which kdesu` + SU_TYPE=kdesu + elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then + DE=gnome; + DIALOG=`which zenity`; + DIALOG_TYPE=zenity; + SU=`which gksu` + SU_TYPE=gksu + elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then + DE=xfce; + DIALOG=`which zenity`; + DIALOG_TYPE=zenity; + SU=`which gksu` + SU_TYPE=gksu + fi +} + +find_su() +{ + if [ -z "$SU" ] ; then + SU=`which gksu` + + if [ -z "$SU_TYPE" ]; then + SU_TYPE=gksu + fi + fi + + if [ -z "$SU" ]; then + SU=`which kdesu` + + if [ -z "$SU_TYPE" ]; then + SU_TYPE=kdesu + fi + fi + + if [ -z "$SU_TYPE" ]; then + failure "You need gksu or kdesu installed to run mythfrontend" + fi +} + +dialog_choose_file() +{ + TITLE="$1" + + if [ "$DIALOG_TYPE" = "zenity" ] ; then + $DIALOG --title "$TITLE" --file-selection "`pwd`/" + else + if [ "$DIALOG_TYPE" = "kdialog" ] ; then + $DIALOG --title "$TITLE" --getopenfilename "`pwd`/" + else + $DIALOG --stdout --title "$TITLE" --fselect "`pwd`/" 20 80 + fi + fi +} + +dialog_msgbox() +{ + TITLE="$1" + TEXT="$2" + + if [ "$DIALOG_TYPE" = "zenity" ]; then + echo -n "$TEXT" | $DIALOG --title "$TITLE" --text-info --width=500 --height=400 + else + $DIALOG --title "$TITLE" --msgbox "$TEXT" 20 80 + fi +} + +dialog_question() +{ + TITLE="$1" + TEXT="$2" + + if [ "$DIALOG_TYPE" = "zenity" ]; then + $DIALOG --title "$TITLE" --question --text "$TEXT" + else + $DIALOG --title "$TITLE" --yesno "$TEXT" 20 80 + fi +} + +failure() +{ + echo "$@" + exit 1 +} + +check_groups() +{ +if [ -n "$(groups | grep --invert-match mythtv)" ] +then + if [ -e ~/.mythtv/ignoregroup ] + then + IGNORE_NOT=0 + else + dialog_question "Incorrect Group Membership" "You must be a member of the \"mythtv\" group before starting any mythtv applications.\nWould you like to automatically be added to the group?\n(Note: sudo access required)" + ADD_NOT=$? + # 0 means that they do want in + # 1 means that they don't want in + if [ "$ADD_NOT" = "1" ]; then + dialog_question "Incorrect Group Membership" "Would you like to disable this warning in the future and start anyway?" + IGNORE_NOT=$? + if [ "$IGNORE_NOT" = "0" ]; then + mkdir -p ~/.mythtv + touch ~/.mythtv/ignoregroup + fi + else + if [ "$DE" = "kde" ]; then + $SU_TYPE adduser `whoami` mythtv + else + $SU_TYPE adduser `whoami` mythtv --message "Please enter your current login password to add `whoami` to the mythtv group." + fi + dialog_question "Log out/in" "For the changes to take effect, your current login session will have to be restarted. Save all work and then press OK to restart your session." + LOGOUT_NOT=$? + if [ "$LOGOUT_NOT" = "0" ]; then + if [ "$DE" = "gnome" ]; then + gnome-session-save --kill + elif [ "$DE" = "kde" ]; then + dcop ksmserver ksmserver logout 0 0 0 + elif [ "$DE" = "xfce" ]; then + xfce4-session-logout + else + dialog_msgbox "No running KDM/Gnome/Xfce" "Please manually log out of your session for the changes to take effect." + fi + #exit in case they hit cancel here + exit 2 + else + exit 3 + fi + fi + fi +else + IGNORE_NOT=0 +fi +} +################################################################### + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.if-up.d +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.if-up.d @@ -0,0 +1,24 @@ +#! /bin/sh +set -e + +# Don't bother to restart sshd when lo is configured. +if [ "$IFACE" = lo ]; then + exit 0 +fi + +# Only run from ifup. +if [ "$MODE" != "start" ]; then + exit 0 +fi +if [ "$METHOD" != "NetworkManager" ]; then + exit 0 +fi + +# Is /usr mounted? +if [ ! -e /usr/bin/mythbackend ]; then + exit 0 +fi + +/etc/init.d/mythtv-backend restart >/dev/null 2>&1 || true + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.logrotate +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.logrotate @@ -0,0 +1,6 @@ +/var/log/mythtv/mythbackend.log { + daily + rotate 7 + notifempty + copytruncate +} --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.files +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.files @@ -0,0 +1,13 @@ +usr/bin/mythbackend +usr/bin/mythcommflag +usr/bin/mythfilldatabase +usr/bin/mythjobqueue +usr/bin/mythprime +usr/bin/firewire_tester +usr/bin/mythtv-setup.real +usr/share/mythtv/MSRR_scpd.xml +usr/share/mythtv/CDS_scpd.xml +usr/share/mythtv/CMGR_scpd.xml +usr/share/mythtv/MXML_scpd.xml +usr/share/mythtv/devicemaster.xml +usr/share/mythtv/deviceslave.xml --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-setup.sh +++ mythtv-0.21.0+fixes18207/debian/mythtv-setup.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# Mario Limonciello, March 2007 + +#source our dialog functions +. /usr/share/mythtv/dialog_functions.sh + +#find the session, dialog and su manager we will be using for display +find_session +find_dialog +find_su + +#check that we are in the mythtv group +check_groups + +#if group membership is okay, go ahead and continue +if [ "$IGNORE_NOT" = "0" ]; then + + dialog_question "MythTV Setup Preparation" "Mythbackend must be closed before continuing.\nIs it OK to close any currently running mythbackend processes?" + CLOSE_NOT=$? + if [ "$CLOSE_NOT" = "0" ]; then + if [ "$DE" = "kde" ]; then + $SU_TYPE /etc/init.d/mythtv-backend stop + else + $SU_TYPE /etc/init.d/mythtv-backend stop --message "Please enter your current login password to stop mythtv-backend." + fi + xterm -title "MythTV Setup Terminal" -e taskset -c 0 /usr/bin/mythtv-setup.real "$@" + if [ "$DE" = "kde" ]; then + $SU_TYPE /etc/init.d/mythtv-backend restart + else + $SU_TYPE /etc/init.d/mythtv-backend restart --message "Please enter your current login password to start mythtv-backend." + fi + dialog_question "Fill Database?" "Would you like to run mythfilldatabase?" + DATABASE_NOT=$? + if [ "$DATABASE_NOT" = "0" ]; then + xterm -title "Running mythfilldatabase" -e "unset DISPLAY && unset SESSION_MANAGER && mythfilldatabase; sleep 3" + fi + fi +fi --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-frontend.files +++ mythtv-0.21.0+fixes18207/debian/mythtv-frontend.files @@ -0,0 +1,11 @@ +usr/bin/mythfrontend.real +usr/bin/mythlcdserver +usr/bin/mythreplex +usr/bin/mythshutdown +usr/bin/mythtv +usr/bin/mythtvosd +usr/bin/mythwelcome +usr/lib/mythtv/filters +usr/share/mythtv/i18n/mythfrontend_* +usr/share/mythtv/*.ttf +usr/share/mythtv/*.xml --- mythtv-0.21.0+fixes18207.orig/debian/libmyth-perl.files +++ mythtv-0.21.0+fixes18207/debian/libmyth-perl.files @@ -0,0 +1,2 @@ +usr/share/perl5/MythTV* +usr/share/perl5/IO/Socket/INET/* --- mythtv-0.21.0+fixes18207.orig/debian/myth-reboot.sh +++ mythtv-0.21.0+fixes18207/debian/myth-reboot.sh @@ -0,0 +1,3 @@ +#!/bin/sh +# This script uses dbus to tell HAL to reboot your computer +dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.templates +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.templates @@ -0,0 +1,37 @@ +Template: mythtv/mysql_admin_user +Type: string +Default: root +_Description: What is the name of the MySQL administrator account: + This information will be used to create a database and user for MythTV. + . + Unless you have explicitly changed this on the MySQL server, and + understand MySQL's privilege system, use the default of 'root'. + +Template: mythtv/mysql_admin_password +Type: password +_Description: What is the password for the MySQL administrator account '${user}': + This information will be used to create a database and user for MythTV. + . + Unless you have explicitly changed the password on the MySQL server, leave + this blank. + +Template: mythtv/public_bind +Type: boolean +Default: false +_Description: Will you be using other computers running MythTV? + If you will be using any other computers (that includes other Front End + machines) with MythTV, this computer needs to be configured to allow + remote connections. Do you want to enable remote connectivity? + . + Note that this is a security risk, as both the MythTV and MySQL services + will be exposed. Be sure to place this machine behind a firewall. + . + If you have multiple interfaces, the first one listed in 'ifconfig' will be used. + +Template: mythtv/backup_db +Type: note +_Description: A backup of your database will be made + We'll now make a backup of your "mythconverg" database which holds all + your current settings. This database dump allows you to go back to + your previous packages more easily in case something breaks. + It can usually be found at /var/backups/mythconverg.sql.gz --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-frontend.logrotate +++ mythtv-0.21.0+fixes18207/debian/mythtv-frontend.logrotate @@ -0,0 +1,16 @@ +/var/log/mythtv/mythfrontend.log { + daily + rotate 7 + notifempty + copytruncate + missingok +} + +/var/log/mythtv/mythwelcome.log { + daily + rotate 7 + notifempty + copytruncate + missingok +} + --- mythtv-0.21.0+fixes18207.orig/debian/mysql.txt.dist +++ mythtv-0.21.0+fixes18207/debian/mysql.txt.dist @@ -0,0 +1,4 @@ +DBHostName=localhost +DBUserName=mythtv +DBName=mythconverg +DBPassword= --- mythtv-0.21.0+fixes18207.orig/debian/copyright +++ mythtv-0.21.0+fixes18207/debian/copyright @@ -0,0 +1,55 @@ +This package was debianized by Matt Zimmerman on +Wed, 16 Oct 2002 23:20:56 -0400. + +It was downloaded from http://www.mythtv.org/ + +Upstream Authors: + +Main Author: + Isaac Richards + +Original NuppelVideo version: + Roman HOCHLEITNER +libavcodec, from ffmpeg.sf.net: + Fabrice Bellard +Rewritten player class and improved a/v sync code: + John Coiner +TangoBlue theme: + Forrest Walter - www.forrestwalter.com +LiquidTV theme: + jer warren <> +Selectable GUI sizes: + thor at lamedomainname.com +Video Filters: + Richard Jones +Misc changes: + Grant Taylor +Colorize the EPG: + skrpub +Bugfixes, EPG updates, more UK friendly database filling, lots of other things: + Andrew M. Bishop +Non-integer channel fixes, customizable date displays: + Jens Lohmann-Hansen +Modifyable install prefix, recording/scheduler improvements, mono support, more: + Jim Radford +Keybinding to toggle fullscreen playback, EPG speedups: + Erik Arendse +EPG/filldatabase enhancements: + Christian Hoenig +Setup enhancements: + Dan Schwarz +Large amount of documentation: + Robert Kulagowski +Alternative EPG layout: + John Danner +Graphical setup UI, database backend for configuration, initial direct rendering support + Matt Zimmerman + +Copyright: + +MythTV is distributed under the terms of the GPL, version 2 only. +If you don't have a copy of the GPL, get one at: + http://www.gnu.org/licenses/gpl.txt + +On Debian systems, a copy of the GPL can be found in +/usr/share/common-licenses/GPL. --- mythtv-0.21.0+fixes18207.orig/debian/source.lintian-overrides +++ mythtv-0.21.0+fixes18207/debian/source.lintian-overrides @@ -0,0 +1,9 @@ +#Don't worry about these because Ubuntu doesn't do binary NMU's +mythtv source: not-binnmuable-any-depends-all mythtv-transcode-utils -> mythtv-common +mythtv source: not-binnmuable-any-depends-all mythtv-frontend -> mythtv-common +mythtv source: not-binnmuable-all-depends-any mythtv-backend-master -> mythtv-backend +mythtv source: not-binnmuable-any-depends-all mythtv-backend -> mythtv-common +mythtv source: not-binnmuable-all-depends-any mythtv -> mythtv-backend +mythtv source: not-binnmuable-all-depends-any mythtv -> mythtv-frontend +mythtv source: not-binnmuable-any-depends-any libmyth-dev -> libmyth-0.21-0 +mythtv source: not-binnmuable-any-depends-any mythtv-backend -> mythtv-transcode-utils --- mythtv-0.21.0+fixes18207.orig/debian/control +++ mythtv-0.21.0+fixes18207/debian/control @@ -0,0 +1,244 @@ +Source: mythtv +Section: multiverse/graphics +Priority: optional +Maintainer: MythTV Ubuntu Maintainers +XSBC-Original-Maintainer: Christian Marillat +Bugs: mailto:ubuntu-mythtv@lists.ubuntu.com +Standards-Version: 3.7.3 +Build-Conflicts: libmyth-0.20-dev, + libmyth-dev +Build-Depends: debhelper (>> 5.0.0), + dpatch, + ccache, + libqt3-mt-dev, + libdvb-dev, + po-debconf, + texi2html, + python-support, + linux-kernel-headers, + libdvdnav-dev, + libfreetype6-dev, + libavc1394-dev, + libiec61883-dev (>= 1.0.0), + liblircclient-dev, + libxinerama-dev | xlibs-static-dev (<< 6.8.1-1), + libxxf86vm-dev | xlibs-static-dev (<< 6.8.1-1), + libmysqlclient15-dev | libmysqlclient12-dev, + libxvmc-dev | xlibs-static-dev (<< 6.8.1-1), + libxext-dev | xlibs-static-dev (<< 6.8.1-1), + libimlib2-dev, + libasound2-dev, + libartsc0-dev, + libjack0.100.0-dev | libjack-dev, + libfaad-dev | libfaad2-dev, + libfaac-dev, + liblame-dev, + liblame-dev, + libvorbis-dev, + libdts-dev, + libx264-dev, + libxvidcore4-dev, + libfftw3-dev | fftw3-dev, + xserver-xorg-video-openchrome [i386 amd64] | libchromexvmc1 [i386 amd64], + xserver-xorg-video-openchrome [i386 amd64] | libchromexvmcpro1 [i386 amd64] + +Package: mythtv +Architecture: all +Pre-Depends: mysql-server +Depends: mythtv-database (= ${source:Version}), mythtv-frontend (= ${source:Version}), mythtv-backend (= ${source:Version}), ntp | time-daemon | ntp-simple +Recommends: mythtv-themes +Suggests: mythtv-doc +Description: A personal video recorder application (client and server) + MythTV implements the following PVR features, and more, with a + unified graphical interface: + . + - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV. + - Video compression using RTjpeg or MPEG-4 + - Program listing retrieval using XMLTV + - Themable, semi-transparent on-screen display + - Electronic program guide + - Scheduled recording of TV programs + - Resolution of conflicts between scheduled recordings + - Basic video editing + . + http://www.mythtv.org/ + . + This package will install a complete MythTV client/server environment on a + single system. If you are intended on using this as your only MythTV machine, + and this machine is already configured as a desktop, this package will get you + up and running switfly. + . + If you are intended on installing this on a standalone/non-desktop machine, + you should look into the metapackages available: + mythtv-backend-master (backend with a local database) + mythtv-backend (backend needing a remote database) + ubuntu-mythtv-frontend + +Package: mythtv-common +Architecture: all +Depends: adduser, pwgen, mysql-client, ttf-freefont, ${misc:Depends} +Suggests: mythtv-doc (= ${source:Version}) +Conflicts: mythtv (<< 0.8-1), mythmusic (<< 0.20.99+trunk14393), mythweather (<< 0.20.99+trunk14393) +Replaces: mythtv (<< 0.8-1), mythtv-frontend (<< 0.15-3), mythmusic (<< 0.20.99+trunk14393), mythweather (<< 0.20.99+trunk14393) +Description: A personal video recorder application (common data) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains infrastructure needed by both the client and the + server. + +Package: mythtv-doc +Architecture: all +Conflicts: mythtv (<< 0.8-1) +Section: multiverse/doc +Replaces: mythtv (<< 0.8-1) +Description: A personal video recorder application (documentation) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains documentation, including the MythTV HOWTO. + +Package: mythtv-database +Architecture: all +Depends: mythtv-common (= ${source:Version}), libdbd-mysql-perl, mysql-client, cron, ${misc:Depends} +Recommends: update-notifier | adept-notifier +Conflicts: mythtv (<< 0.8-1), mythtv-common (<< 0.8-2) +Replaces: mythtv (<< 0.8-1), mythtv-common (<< 0.8-2) +Description: A personal video recorder application (database) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package sets up a MySQL database for use by MythTV. It should be + installed on the system where the MySQL server resides. + +Package: mythtv-backend +Architecture: any +Depends: mythtv-common (= ${source:Version}), mythtv-transcode-utils (= ${source:Version}), ${shlibs:Depends}, cron, wget, zenity | kdebase-bin, gksu | kdebase-bin, ttf-liberation | msttcorefonts, libmyth-perl, xterm, ${misc:Depends} +Conflicts: mythtv (<< 0.8-1) +Replaces: mythtv (<< 0.8-1), mythtv-frontend (<= 0.20-0.4) +Recommends: ntp | time-daemon | ntp-simple, logrotate +Suggests: mythtv-frontend, mythweb, mythtv-database, xmltv-util +Description: A personal video recorder application (server) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains only the server software, which provides video and + audio capture and encoding services. In order to be useful, it requires a + mythtv-frontend installation, either on the same system or one reachable + via the network. + . + A database is also required. The mythtv-database package must be installed, + either on the same system, or one reachable via the network. + . + For a complete installation of all MythTV components, install the 'mythtv' + package. + +Package: mythtv-transcode-utils +Architecture: any +Depends: mythtv-common (= ${source:Version}), ${shlibs:Depends}, transcode +Conflicts: mythtv-backend (<< 0.20.2-0ubuntu1) +Replaces: mythtv-backend (<< 0.20.2-0ubuntu1) +Suggests: mythtv-backend, mytharchive +Description: Utilities used for transcoding MythTV tasks + Some utilties are applicable for both a frontend or a backend machine. + This package provides utilities that can be used on both without + requiring an entire backend to be installed. + +Package: mythtv-frontend +Architecture: any +Depends: mythtv-common (= ${source:Version}), ${shlibs:Depends}, adduser, zenity | kdebase-bin, gksu | kdebase-bin, ttf-liberation | msttcorefonts, ${misc:Depends} +Suggests: mythtv-backend, mythmusic, mythweather, mythgallery, mythvideo, mythgame, mythstream, ntp | time-daemon | ntp-simple +Conflicts: mythtv (<< 0.8-1), mythappearance (<< 0.21.0) +Replaces: mythtv (<< 0.8-1), mythappearance (<< 0.21.0) +Description: A personal video recorder application (client) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains only the client software, which provides a front-end + for playback and configuration. It requires access to a mythtv-backend + installation, either on the same system or one reachable via the network. + . + A database is also required. The mythtv-database package must be installed, + either on the same system, or one reachable via the network. + . + For a complete installation of all MythTV components, install the 'mythtv' + package. + +Package: libmyth-0.21-0 +Architecture: any +Section: multiverse/libs +Depends: ${shlibs:Depends}, libqt3-mt-mysql | libqt3c102-mt-mysql +Conflicts: mythtv (<< 0.7-5) +Replaces: mythtv (<< 0.7-5) +Description: Common library code for MythTV and add-on modules (runtime) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains a shared library, libmyth, which is used by various + components in the system. + +Package: libmyth-dev +Architecture: any +Section: multiverse/libdevel +Depends: libmyth-0.21-0 (= ${source:Version}), libqt3c102-mt-dev | libqt3-mt-dev +Provides: libmyth-0.21-0-dev +Conflicts: libmyth-0.21-dev +Description: Common library code for MythTV and add-on modules (development) + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains files needed for developing applications which use + libmyth (such as the various add-ons for MythTV) + +Package: libmyth-perl +Architecture: all +Section: multiverse/libs +Depends: ${perl:Depends}, libdbi-perl, libdbd-mysql-perl, libnet-upnp-perl +Replaces: mythtv-common (<< 0.20.98 ) +Conflicts: mythtv-common (<< 0.20.98 ) +Description: A PERL library to access some MythTV features + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains files needed for some PERL MythTV add-ons like + nuvexport or mythrename.pl. + +Package: libmyth-python +Architecture: all +Section: multiverse/libs +Depends: ${python:Depends}, python-mysqldb +Replaces: mythtv-common (<< 0.20.98 ) +Conflicts: mythtv-common (<< 0.20.98 ) +Description: A python library to access some MythTV features + MythTV provides a unified graphical interface for recording and viewing + television programs. Refer to the mythtv package for more information. + . + This package contains files needed for some python MythTV add-ons. + + +Package: mythtv-backend-master +Architecture: all +Section: multiverse/metapackages +Pre-Depends: mysql-server +Depends: ntp | time-daemon | ntp-simple, mythtv-database (= ${source:Version}), mythtv-backend (= ${source:Version}) +Recommends: mythweb +Description: Metapackage to setup and configure a "Master Backend" profile of MythTV. + This package will install and configure all necessary packages for this machine + to behave as a "Master" Backend for a mythtv network. This package is intended to + be installed on the machine that will behave as the first (and possibly only) + backend for the network. Typically, this package will be installed on a server rather then a desktop. + It makes no sense to install it on anything but the first backend machine on the network. + +Package: ubuntu-mythtv-frontend +Architecture: all +Section: multiverse/metapackages +Depends: xorg, gsfonts-x11, mythbuntu-gdm-theme | feisty-gdm-themes | edgy-gdm-themes | gdm-themes , xterm, mythbuntu-artwork-usplash | usplash-theme-ubuntu | usplash, mythtv-frontend, openbox, feh, libgl1-mesa-glx, ntp | time-daemon | ntp-simple +Pre-Depends: gdm +Recommends: mytharchive, mythphone, mythgame, mythmusic, mythcontrols, mythflix, mythnews, mythweather, mythtv-themes, mythbrowser, mythgallery, mythvideo, mythstream +Description: Metapackage to setup and configure a "Frontend" profile of MythTV. + This package will install and configure all necessary packages for this machine + to behave as a standalone Frontend for a mythtv network. This package is intended + to be installed after a backend has been configured on the network. Also, this + package is intended for usage on a standalone machine only running MythTV. A machine already + configured as a desktop should install mythtv-frontend instead. Without a running and + accessible backend, this package will not properly function. --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-backend.config +++ mythtv-0.21.0+fixes18207/debian/mythtv-backend.config @@ -0,0 +1,9 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +db_input low mythtv/create_v4l_devs || true +db_input high mythtv/run_setup || true +db_go + +exit 0 --- mythtv-0.21.0+fixes18207.orig/debian/libmyth-dev.files +++ mythtv-0.21.0+fixes18207/debian/libmyth-dev.files @@ -0,0 +1,3 @@ +usr/lib/libmyth*.so +usr/lib/libmyth*.a +usr/include/mythtv --- mythtv-0.21.0+fixes18207.orig/debian/openbox-menu.xml +++ mythtv-0.21.0+fixes18207/debian/openbox-menu.xml @@ -0,0 +1,38 @@ + + + + +

+ + mythfrontend + + + x-terminal-emulator + + + x-www-browser + + + + + + + + obconf + + + + + + + + + + + + + + --- mythtv-0.21.0+fixes18207.orig/debian/mythtv-database.cron.weekly +++ mythtv-0.21.0+fixes18207/debian/mythtv-database.cron.weekly @@ -0,0 +1,34 @@ +#!/bin/sh +# /etc/cron.weekly/mythtv-database script - check and backup mythconverg tables +# Copyright 2005/12/02 2006/10/08 Paul Andreassen + +# Deleting the MySQL database: +# NOTE: Performing this step will remove the entire database. You will lose all +# of your settings and will need to re-run the /usr/share/mythtv/sql/mc.sql +# script to setup the database structure before running the setup program. +# $ mysql -u mythtv -p 'drop database mythconverg' +# To restore: (assuming that you've dropped the database) +# $ mysql -u mythtv -p 'create database mythconverg' +# $ zcat /var/backups/mythconverg.sql.gz | mysql -u mythtv -p mythconverg +# see http://mythtv.org/docs/mythtv-HOWTO.html#toc23.5 + +set -e -u + +if [ -f /etc/mythtv/mysql.txt ]; then + . /etc/mythtv/mysql.txt +fi + +DBNAME="mythconverg" +BACKUP="/var/backups/$DBNAME.sql.gz" +DEBIAN="--defaults-extra-file=/etc/mysql/debian.cnf" +OPTIONS="--all --complete-insert --extended-insert --quick --quote-names --lock-tables" + +/usr/bin/mysqlcheck $DEBIAN -s $DBNAME + +/usr/bin/savelog -c 7 -l -n -q $BACKUP + +/usr/bin/mysqldump $DEBIAN $OPTIONS $DBNAME | gzip > $BACKUP + +/usr/bin/logger -p daemon.info -i -t${0##*/} "$DBNAME checked and backedup." + +# End of file.

q c #336279", +",q c #376A83", +"'q c #3B718D", +")q c #3D7794", +"!q c #417D9B", +"~q c #498EB3", +"{q c #458BAD", +"]q c #144967", +"^q c #2576A3", +"/q c #2C87B8", +"(q c #2E8EC2", +"_q c #2676A2", +":q c #09090A", +"r c #14445E", +",r c #080F13", +"'r c #30596E", +")r c #315E74", +"!r c #35637B", +"~r c #396D86", +"{r c #3C738E", +"]r c #3F7A97", +"^r c #42809F", +"/r c #4687A8", +"(r c #498EB2", +"_r c #4991B5", +":r c #458AAC", +"s c #478AAD", +",s c #4992B6", +"'s c #4990B4", +")s c #4489AC", +"!s c #21546E", +"~s c #19526E", +"{s c #24739F", +"]s c #2882B3", +"^s c #2B87B9", +"/s c #2E8FC3", +"(s c #363636", +"_s c #206890", +":s c #081F2D", +"t c #264C68", +",t c #264D69", +"'t c #264F6D", +")t c #264E6D", +"!t c #264D6B", +"~t c #254D6B", +"{t c #244967", +"]t c #2A5979", +"^t c #070F14", +"/t c #141414", +"(t c #255070", +"_t c #2A597B", +":t c #30648B", +"u c #275171", +",u c #285373", +"'u c #285372", +")u c #1A354A", +"!u c #183349", +"~u c #285779", +"{u c #2F6286", +"]u c #33678E", +"^u c #193347", +"/u c #122C3D", +"(u c #1A3C56", +"_u c #234F6F", +":u c #4384B8", +"v c #2E5E80", +",v c #2E5F82", +"'v c #2E6083", +")v c #09141C", +"!v c #285577", +"~v c #2A5A7C", +"{v c #2D6084", +"]v c #346A93", +"^v c #3B79A7", +"/v c #3F81B0", +"(v c #4388BA", +"_v c #3873A0", +":v c #292A2A", +"w c #4081B5", +",w c #4A7EB2", +"'w c #0E4367", +")w c #4C86BB", +"!w c #3A94CA", +"~w c #449AD0", +"{w c #3796C9", +"]w c #3896C9", +"^w c #3997C9", +"/w c #3B98C9", +"(w c #3C98CA", +"_w c #3C96C6", +":w c #398EBB", +"x c #376689", +",x c #4983B0", +"'x c #4D8CBB", +")x c #5195C7", +"!x c #449CD2", +"~x c #3194C8", +"{x c #50A4D3", +"]x c #51A4D3", +"^x c #4FA0CE", +"/x c #4B98C3", +"(x c #478FB8", +"_x c #4388AE", +":x c #142836", +"y c #4891B9", +",y c #4489AF", +"'y c #244B61", +")y c #112635", +"!y c #5297C8", +"~y c #59A1D6", +"{y c #4F90C0", +"]y c #2F596F", +"^y c #2F5E74", +"/y c #316580", +"(y c #356E8B", +"_y c #3F7F9F", +":y c #3D7B9A", +"z c #0E2533", +",z c #325D7D", +"'z c #3C6D94", +")z c #457DA7", +"!z c #375E73", +"~z c #3B627A", +"{z c #426F87", +"]z c #457590", +"^z c #457B98", +"/z c #4181A2", +"(z c #407F9F", +"_z c #3C7795", +":z c #346880", +"A c #419BCD", +",A c #52A6D4", +"'A c #51A4D0", +")A c #4D9BC5", +"!A c #4991B9", +"~A c #4489AE", +"{A c #0A2431", +"]A c #4E8DBD", +"^A c #589FD5", +"/A c #4F8EBF", +"(A c #4A86B4", +"_A c #3D3D3D", +":A c #375E74", +"B c #3C98C9", +",B c #3F9BCB", +"'B c #419BCB", +")B c #419ACA", +"!B c #4099C8", +"~B c #3C8FBD", +"{B c #3988B1", +"]B c #376589", +"^B c #3A6D92", +"/B c #3D739B", +"(B c #589ED3", +"_B c #52A5D4", +":B c #53A6D4", +"C c #4484B8", +",C c #497CB0", +"'C c #0B3E61", +")C c #2A8DC3", +"!C c #4F9ED6", +"~C c #3996C9", +"{C c #3D99C9", +"]C c #419AC8", +"^C c #3D90BE", +"/C c #3988B2", +"(C c #3781A9", +"_C c #437BA5", +":C c #4883AF", +"D c #3D739A", +",D c #4882AF", +"'D c #4D8BBA", +")D c #5194C6", +"!D c #579ED3", +"~D c #4A9ED4", +"{D c #52A4D1", +"]D c #4F9BC5", +"^D c #4A91B9", +"/D c #4588AD", +"(D c #082330", +"_D c #20506E", +":D c #37678B", +"E c #55A7D5", +",E c #54A5D1", +"'E c #509CC6", +")E c #4A92B9", +"!E c #4587AD", +"~E c #184C69", +"{E c #4D8DBC", +"]E c #396074", +"^E c #3C647A", +"/E c #4E7F9B", +"(E c #5487A4", +"_E c #5F98B7", +":E c #5F97B6", +"F c #2F5977", +",F c #325F80", +"'F c #3E739B", +")F c #5090C1", +"!F c #358CBE", +"~F c #3D8FB9", +"{F c #3782A8", +"]F c #0A181F", +"^F c #153D53", +"/F c #1D5471", +"(F c #205D7D", +"_F c #236486", +":F c #256B8D", +"G c #3088B5", +",G c #3392C2", +"'G c #349ACD", +")G c #3396C9", +"!G c #308EBE", +"~G c #2C86B3", +"{G c #1F6486", +"]G c #1F6287", +"^G c #2E8FC5", +"/G c #134A68", +"(G c #2780B1", +"_G c #2986B8", +":G c #2F8EC1", +"H c #275274", +",H c #29597B", +"'H c #1B384D", +")H c #1A1A1B", +"!H c #2E658D", +"~H c #326D96", +"{H c #3C7EB0", +"]H c #649DD7", +"^H c #6195CF", +"/H c #5385BB", +"(H c #245278", +"_H c #3C75A8", +":H c #528AC2", +"I c #489ECD", +",I c #489DCC", +"'I c #4393BF", +")I c #3E8BB4", +"!I c #2A5F7D", +"~I c #4279A4", +"{I c #4B8AB7", +"]I c #559CCF", +"^I c #3B99CA", +"/I c #58A8D6", +"(I c #54A4D0", +"_I c #144F6E", +":I c #286084", +"J c #5186A3", +",J c #578EAD", +"'J c #65A1C3", +")J c #69A8CC", +"!J c #64A0C1", +"~J c #5E96B6", +"{J c #50819D", +"]J c #070B0D", +"^J c #182F40", +"/J c #284B68", +"(J c #356284", +"_J c #437CA5", +":J c #559CD0", +"K c #12394D", +",K c #12384B", +"'K c #0D2B39", +")K c #091C25", +"!K c #175677", +"~K c #1F6992", +"{K c #2C8ABF", +"]K c #22729D", +"^K c #2987B9", +"/K c #2778A3", +"(K c #06131A", +"_K c #2B5979", +":K c #4282B0", +"L c #4BA0CF", +",L c #4CA0CF", +"'L c #4694C0", +")L c #3D84AB", +"!L c #2C607E", +"~L c #396C8F", +"{L c #3895CC", +"]L c #57A4D1", +"^L c #4D93BA", +"/L c #4889AD", +"(L c #132733", +"_L c #4C8BB8", +":L c #295C74", +"M c #3B6E94", +",M c #549ACC", +"'M c #59A2D7", +")M c #5298CA", +"!M c #4E8EC0", +"~M c #4986B5", +"{M c #447DA8", +"]M c #182E3E", +"^M c #124864", +"/M c #1E688E", +"(M c #2B8ABD", +"_M c #2780B0", +":M c #2675A2", +"N c #4EA2D0", +",N c #4998C3", +"'N c #4187AE", +")N c #2E637F", +"!N c #2B5270", +"~N c #3C7197", +"{N c #5398CB", +"]N c #4D93BB", +"^N c #4989AF", +"/N c #2E5973", +"(N c #19516E", +"_N c #1D6289", +":N c #3D79A2", +"O c #4D8CBC", +",O c #5193C6", +"'O c #569DD2", +")O c #569ED2", +"!O c #4783AF", +"~O c #437CA6", +"{O c #3E739C", +"]O c #1E394D", +"^O c #2474A2", +"/O c #267DAD", +"(O c #257AA6", +"_O c #2B89BC", +":O c #2F6082", +"P c #4A99C5", +",P c #4791BB", +"'P c #4389B0", +")P c #30637F", +"!P c #2B526F", +"~P c #366386", +"{P c #5399CC", +"]P c #4A8AB0", +"^P c #152834", +"/P c #2E5771", +"(P c #325E7A", +"_P c #286181", +":P c #377AA6", +"