["..G$ ","|creates Excel chart from data|","HKqQJType.Missing,JNamespace containing Excel interop methodsJqqusing Microsoft.Office.Interop.Excel;JClass that stores Application: C#JqqJ/// <summary>q/// This class contains the Excel Interop code we need.q/// It can be shared in many places to avoid duplication.q/// </summary>qJclass ExcelReaderInteropq{JqH/// <summary>qH/// Store the Application object we can use in the member functions.qH/// </summary>qHJApplication _excelApp;JqqH/// <summary>qH/// Initialize a new Excel reader. Must be integratedqH/// with an Excel interface object.qH/// </summary>qHJpublic ExcelReaderInterop()qH{qHH_excelApp = new Application();qH}q}JMethod that opens Excel workbooks: C#JqqJ/// <summary>q/// Open the file path received in Excel. Then, open the workbookq/// within the file. Send the workbook to the next function, the internal scanq/// function. Will throw an exception if a file cannot be found or opened.q/// </summary>qJpublic void ExcelOpenSpreadsheets(string thisFileName)q{qHtryqH{JqHH//qHH// This mess of code opens an Excel workbook. I don't know what allqHH// those arguments do, but they can be changed to influence behavior.qHH//qHHJWorkbook workBook = _excelApp.Workbooks.Open(thisFileName,qHHHK K K KqHHHK K K KqHHHK K K KqHHHK Type.Missing);JqqHH//qHH// Pass the workbook to a separate function. This new functionqHH// will iterate through the worksheets in the workbook.qHH//qHHJExcelScanIntenal(workBook);JqqHH//qHH// Clean up.qHH//qHHJworkBook.Close(false, thisFileName, null);qHHMarshal.ReleaseComObject(workBook);qH}qHcatchqH{JqHH//qHH// Deal with exceptions.qHH//qHJ}q}JMethod that gets sheets: C#JqqJ/// <summary>q/// Scan the selected Excel workbook and store the information in the cellsq/// for this workbook in an object[,] array. Then, call another methodq/// to process the data.q/// </summary>qJprivate void ExcelScanIntenal(Workbook workBookIn)q{JqH//qH// Get sheet Count and store the number of sheets.qH//qHJint numSheets = workBookIn.Sheets.Count;JqqH//qH// Iterate through the sheets. They are indexed starting at 1.qH//qHJfor (int sheetNum = 1; sheetNum < numSheets + 1; sheetNum++)qH{qHHWorksheet sheet = (Worksheet)workBookIn.Sheets[sheetNum];JqqHH//qHH// Take the used range of the sheet. Finally, get an object array of allqHH// of the cells in the sheet (their values). You can do things with thoseqHH// values. See notes about compatibility.qHH//qHHJRange excelRange = sheet.UsedRange;qHHobject[,] valueArray = (object[,])excelRange.get_Value(qHHHXlRangeValueDataType.xlRangeValueDefault);JqqHH//qHH// Do something with the data in the array with a custom method.qHH//qHHJProcessObjects(valueArray);qH}q}JExcel interop benchmarkJqqCells[]:HHHHJ30.0 secondsJqget_Range(), Cells[]: J15.0 secondsJqUsedRange, get_Value(): J 1.5 secondsJ [fastest]Jqqusing Microsoft.Office.Interop.Excel;qqclass Programq{qHconst string fileName = QC:\\\\Book1.xlsxQ;qHconst string topLeft = QA1Q;qHconst string bottomRight = QA4Q;qHconst string graphTitle = QGraph TitleQ;qHconst string xAxis = QTimeQ;qHconst string yAxis = QValueQ;qqHstatic void Main()qH{JqHH// Open Excel and get first worksheet.qHHJvar application = new Application();qHHvar workbook = application.Workbooks.Open(fileName);qHHvar worksheet = workbook.Worksheets[1] asqHHHMicrosoft.Office.Interop.Excel.Worksheet;JqqHH// Add chart.qHHJvar charts = worksheet.ChartObjects() asqHHHMicrosoft.Office.Interop.Excel.ChartObjects;qHHvar chartObject = charts.Add(60, 10, 300, 300) asqHHHMicrosoft.Office.Interop.Excel.ChartObject;qHHvar chart = chartObject.Chart;JqqHH// Set chart range.qHHJvar range = worksheet.get_Range(topLeft, bottomRight);qHHchart.SetSourceData(range);JqqHH// Set chart properties.qHHJchart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;qHHchart.ChartWizard(Source: range,qHHHTitle: graphTitle,qHHHCategoryTitle: xAxis,qHHHValueTitle: yAxis);JqqHH// Save.qHHJworkbook.Save();qH}q}J","A1BBEABrAArBABD(CE`PsC(|F666XB(P66666((CE/CP66666(CXCP84*BC(L(CC 66666(C.CCX","Excel"," creates XLS and XLSX files. These files are hard to read in C# programs. They are handled with the Microsoft.Office.Interop.Excel assembly. This assembly sometimes creates performance issues. Step-by-step instructions are helpful. ","Add the Microsoft.Office.Interop.Excel assembly by going to Project -> Add Reference.","Visual Studio ","visual-studio","Interop."," You must include a namespace to use Excel in your C# program. You have to use Visual Studio's GUI to add an assembly to your program to use Excel interop. Use the Add Reference command for this. ","First,"," we make a new C# class file in Visual Studio and you can call it something like ExcelInterop. We use that name in the examples, but you are free to use something more familiar or standard. ","Add the using line to your class file\u2014this will make the Excel namespace handy.","Excel interop methods."," If you look at various Excel interop objects in IntelliSense, you will see hundreds of undocumented functions. You will only need to use a few\u2014unless you have complex requirements. ","Interop class."," We need a place to store our Excel information, so we use our special class. Put an Application object called _excelApp as a member. In the constructor, make the _excelApp a new Application object. ","Class ","class","Open."," To open Excel files, you must call Workbooks.Open. It is harder than it should be. Put a public function on the class, and it can use the _excelApp we already have. The following code uses the Workbooks.Open method. ","I apologize"," for the mess that is Workbooks.Open. This is probably the result of legacy code at Microsoft. There are many Type.Missing arguments. And don't panic over those Type.Missing arguments. You don't need to know what they do.","Next,"," open a workbook with Workbooks.Open. Send the workbook we open to another function called ExcelScanInternal. Close the workbook and release all the memory. You will need to deal with exceptions in the catch block. ","I don't have the information about all the detailed exceptions that can be thrown. Just catch them in one statement.","Catch ","catch","Loop."," To get data from workbooks, you will need to loop over the sheets. An Excel workbook has one or more sheets. In Excel, you can switch between sheets by clicking on the tabs on the bottom. ","In Excel Interop, sheets are indexed starting at 1. This is similar to Visual Basic but not the C# language.","In this example,"," the object array is directly usable in the C# language. Once you get the objects, you don't need to do any more Interop. This provides a huge performance boost. There are benefits to reducing calls to Excel Interop. ","Next: ","I show some benchmarks I took comparing the various techniques of Excel interop.","Performance."," If you do your Excel processing wrong, you could be waiting a long time to process even 10 spreadsheets at once. Using the Cells[] indexer on a range, or getting the range with the Range property or get_Range() is slow. ","This document is based on .NET 3.5. The approach shown here is the fastest one.","Compatibility."," There is a compatibility issue with the Excel program on the Apple Mac OS X platform. Excel stores OA dates in different formats on Macs and PCs. The code above shows one solution, which is to use get_Value() instead of Value2. ","FromOADate ","fromoadate","The function get_Value() returns objects that do not vary based on the original platform.","Charts."," It is also possible to create charts directly in your Excel workbooks. The ChartWizard method is useful for this. Also, you can use new features from the .NET Framework 4.0 to simplify how you use Excel.","570px","450px","This example"," uses several hard-coded constant values. The range of the data we want to chart is encoded in the topLeft and bottomRight constants. You can see we use the ChartObjects property and then Add a Chart. ","Next: ","We set the range of the chart with SetSourceData. We use the XlChartType.xlLine enumerated constant and call ChartWizard().","Include the Microsoft.Office.Interop.Excel namespace by right-clicking on References and selecting Add Reference.","In this example,"," we use the named parameters and default parameters functionality in the .NET Framework 4.0. In older versions of the .NET Framework, you will need to specify the Missing value yourself. ","Some code contributed by Randall Kelsey was adapted for the charting example.","The program requires"," an Excel document named Book1.xlsx located at C:\\Book1.xlsx. In this file, you need to add four values in the first column. The program, upon execution, will create a chart based on those four values. ","Many options can be changed to create different charts based on different data ranges.","We showed how named parameters and default parameters from the .NET Framework 4.0 can clean up Microsoft.Office.Interop.Excel code.","Summary."," We saw how to get started with Excel interop and avoid severe performance problems with the assembly. It is confusing to call the complicated Open method with Type.Missing in more places than necessary."]

%iVBORw0KG;)NSUhEUg?AG4?ACCAgM?ADasxWR)DFBMVEXc/9n:/+VlZX29vZR8Bg5)SElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOS?LWyrsxEHLD)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?AOM?ABfCAM)tWIBw)YFBMVEX::/9ew4fcL/9u:8+r/+fX/+/f:v7/+vX/+/j/+PP:Pn/9/GR2OdhwuH79O4sXaMoVJb:fzL6OwvZav48+3+9e7n7+07iss0c7nx8e1KrNr18u4ya7Ls8O5cjLnj8Csz?AP70lEQVR4XsTV6W7jOBAE4PxpXjoPO8nc7/+W210oTpNrw3KSBbaGaiojGNCHkuWX/y2xPYsx6nGb/W4G7p6oy/OC8DT+R4BY8wQq4uiJ8GG2N3sHNQzc9QT/einCjVHqV2kf+P+7RN5DV10F3kVC1xN7JQadLPLLvniTCr3F9Wm19NXhQC8QJvicCHSPxBE9XxBiPsgN8xERqT7lcQ3kNYGxS1Vi8MOxzecbjE+E/Tx+2VAIHBaCDT1h3E9olbqBiIO6zyHrR/OHEoIEpNpcxh3ZYfQMJrxluTEACiWMAHZKjPBcekDMy/N59Zg0AyuDJud6r2GwZQQ7yzo0+CMPWQ8E1/xUh6X5ehqS67MPa/TkRbKcJOuqSZiv+SUIlRKy8BZRdC0FvhTQvCgxZGBhwQycqkS8Sduqsi3yE0Qan0rusuRoOiL5dOgAW626DBmSGjEkKzeBSZln8L0SgQQR88M9xi5yYyyPnCmzxyiOBBtGIrJQmOBLSYKIGxERn25FkczOeCFPC6G8byxd7ipRaEKPQmRmpEaNY@EcUWHQtE@GJL/arHOUsElLmLfJLowNZYHqTrmF/OJe9BiBSkM9IbxBQ2igjFwUIilBDCzTTEv8wPGKMTW2M5jXRJgh6J1?prRHKAGGBsKRU9CwkVmxHKTqoNaT0SiM2SD0+R4xlKc+l+6ouKQqR5gm9EWr2WGDRCa4NBDBGpQF9S/PVpJJIMs+Jy6RZOuEej6nm+F363FwiIalRYgASFiClNWKqx0qEk7iiNqht3YRGIoMBieTdnrc4bZqpFWrmDVkt83VsM68Irs+su/YoewDSX0U9MVnrwXRSiphKY2BDatitjrproBNXOpFNnvc4b9O0zZ1wGObtKJpxfJu+rT+uvfEYxzKWope2H9fCJBijhOZJzWzUQChQvEScOEUXjB7qlU8ijQHItsjTF2retu/ft02cOGgUogyY3r6t043RUnCpeNJSoteoyGxMJJlJNwlGNLPtZI2AthkLk5AguioRyB1QLeTcqJeP7T3G9+2oxAEBhDnW9fer59+XRr+rpeBZtRgSQD2KepMxRYIAhuLoI6biRkwO/3oKfy4R/5WE8owYp22KGE5sjaZ6X6feqJNIvWQ6Mq9lz8MglpzgY0IWGEHjM1ot9rS0BY6aegX2itTVEVFk1P30R+NiFR7bLxe6karpMrfGy4Edzmmdm3taxn3IeJyApBH92ZFA5Lu0tmZAUrFA5imTUHxL3GuAfFyj6S5R82s7dhDd6Kq3y+XWyEvrakYyryXoR2fJOQNIYgJxntmh+aiikjvDJr3gVJWhV5K4nxAjX6nzNrXE0BmXy+Xn8jc0Muv6U/tkrkVrXNdhyGA6Uo3pzx+F+nsUBML8jzZ0t48siS1Sc0KM/xRzh81pI0sUhi8Q4RgEwcEI4wD5:/y9rzdzRETJAVXqvaAlHV5P+SpMxqNBscx29jM0xMuMcIjv973fSNfhPEXYmPOirE13m73+mrIdb9HI5oxJxpqCdCiHHZSFvbloi8lRqTJBqKQE8aSvGus3t6uIpqRsm6sC6z6i/7INWPXHmY2BnbvBl37/REi94mlGVeaTHnj65woIHA/q01q5FKGGI+UIR0jMlR/+Xz6620j4fLVyxo31iN3Zj3aKHp/tx7ZwWCds1qxaKNHRwJkFBZRvswaX5KUkmzSontkVrkeMaI0GsSfhoWI8PVJYw7cc2swM7JJ02Bc8fxSLkl69Cbz0jNKt5i1MkXaMGLOSYlRcFvYrVNp7/Eaf9giB+P6+rY7ZImV8XD4OB0Pt2xPfeP8crSzC/f7/fFok/CRtEsDL1fNsj2S37/L+XqlGIxF+DCzBXKCkqBkl+Suxynj3lbjkd1u40ZmxFtZsE6nw52xUMN4udwuzv17L5fLke0aG6zH+fx3L1eagdji4aiSbXLE5KqlnSUeQMgIkVtGpjxfIIQYxlDtTx9/Gt25v8x/ZOoe83FZPZYaj13cGYuhAzhbtCj9C4ud+n.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@/PLPypMxgJexC4vXRS3QJysh+nlpkzxFipCAxjiitaxkHkVJWqY0IIQYy9wOYWL+lESHKFT60yaLR4K8wVj8tJ6I3iXFisE4jUU4z74hniBhZx/hswp5H3gpQwChckB1WTxboHUL0KVXEyjg561TIerym8iylnGpQSD1fdTNTxhyJByIKvG0dL5euw8gDFcQQiviEUUUKSaoqcU4njRB9NVcaAogR2+p7sFOt9K9DmPWP6NrpBeWwcWy0Vk1KqajCxzGfLke/HlVNnHw4wgmVig4hFfpBi0ISR44biYyO/FvlYWSw9p+Suxl3PztBivFHUPTRLpaQLM3oQAnXLgSAcaLIcSTKCWYdbVvRI7twCxMsEma1uEEexQv+jt6NhWgdcCBUjUNGptYppJQjZZLal9FnAu3MXmZUPfD46yORT2Y9KzasbgxYesC3vgF/jhiHm6yrlHLYyUQKsCbydOh3BrfkB4gYGagS9rFsFbtxqdUNNZKXRMo4VaSQqlLKyIgSZw3MzXI+l8PQxDTSlDOJykDxTjyL0wxEbeGAjIwYLW932WXePRfPSQE57FTCVw6e/pk96YafL2/AOXAZVHxwFSHXIPV7AiJOlLGOjEJOKOlySgkPosVa9Ns8QCNyF5AEbrOMUmU0HEu3RkhGKYeIU0bzi1crZSQyoqydUMOcPJI/x2IxIEgLrHJynr0VxrGmmuqOAVLEiR5JTZzqkQszocOBx/97d9enRa/m9dUkloLwQ1DaEy2BblTMB3LC+DJkrHuU0dJNOLPCGUCmysaOFeuUYjFiyRIjCSW0pkkdB+eYToXjLORXjPdA9Wil1EyfWJKXwHa2iEsr/93jqwtfE/haCI1jXNIICDGNWoALWQ7libFaVSicjCXBFFRB17azMjb598gMSHe8ZiEIIZYjanoQjMoNyPE1Y/h28O518/yjARlQxWQRs+FjuixKrb8MQh0uii8TAinJvLzIGxCjfu2KvZ417t4cKF7uyc0/yinTlKwG0/qs+cq/HqY4dLdf2sQ7/5O4JY0ggcMTUjcMePiEnDSic590HwPR79/Aihc3Z77LrElHyJQ1MwQ1uNqrzWBcy9hvEJ+M5YCWxFFj8NJ3p/t1H4zM+o/jM0r+deP3atW/MA2lh2a8IQVjJtp/YKREiAjHjejEk20gjJ6H8wO6KA8Kp1j6K2kMqjhxoXIQcJZqoN4LIdqxHjGmruJth7Ieic/p0tS/WY4EPqUi8hb4ERJgLYQ4ahzCbR5nSwUVDJZ07ooXyoroh4xh0NSpq7U3qsH5EZFQPX4tL09EC+EkBlJEnSjGla4KSs848RsCRcT4LzJl0x8kiELKGQnAQ2O67owBFLGc1ON/FKRC1qGWKsNImIqXCPL/zeyD+KqNce0)ASUVORK5CYII=$/9j/2wBD?cHBwcJ.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.n/wQARCADIANoDACI?RE?hEA/8QAZQ?AgMBAQEB)))?QCAwUBBgcIE?CAgADAQgM.oHAQE)?gEDBBESIQUTIiMxM@SFDNBQ1FTY3Fyc5GyFWFigpKTo7PSBiQ0dIGDlKLC0zVEVGXD1PC04:a?wD?AB?I?D8A/RWJxNOGqa25tKL9J+oqr03s71WeSvbEYnFUNiZZVsTE6cKljaKtCpo1Mj8O7xtnaqu1VDG+2YuzsmyImEaxcNVq4NCoz1PZ8u6zT2zvVXFVd8K7JbsrDcHboxfS+TUWKvdkTtumZ0qS7Dw3Uf6/E/3jCu3LwE2WTvdu12/zeNXpfrR6XN+r/MZFsvrfgRzm6a9YtWIM6+yyIXJrPrDN+CsB4u3+Mxv/AGg+CsB4u3+Mxv8A2h/N+pH01IszrEzKbIjPnqT0x1RffbvGWfWWf3BB9zcAuXFWtM7FWMZjdTt/FGr+S9O8bp4+lGshOwsDdve/X2pvj2YtHZd+ezoKpSidNp1O0cvR09VR3cH/ABjHT/t2B+/xpCyI0jWDsebliWsc9qBw5mLG2SA5mGYAd)))))))?ADyOD7Qnp3/8A02hZH51hvQxfu1DOFw7rSsTK5w1v39oPh3nEYds1yVMTHL11Quz2GbKzqb94SMmyOG/pN7xu7y/hUzXwr622rzm7rE1mBW6t5heCJFdkcB/Rb3Rt6WTLPKfMUvHAf0WLY2iTRpnaQWOCvor7oxuJ/iuNn/b8D9/iyqI2R5lLtyf8Rxf6nhPvMQV280ZwM8ep67Uc1C0uc1iGrI9Mi5jmo7EikOWwwQwSgxmdzKYknmTiSGkszAjmdOkcjoAB04)))))Y1Ha49Kz7xzrRxtXo2/wBAUdrjz2feODzEWVTMxEZW8s+gTz2CuWcsXCjRtnzjGtesvtFmZM54S8vWU7EkLK5mBTERzfnCjrwZ8zDl0ps4S9LpKLPKZTw15OsperbDKvqnUU5bI8xPc79NxH6rhvvMQRZ0iI4acnXUjgbEjF4lpddK4WiWbUumF1W85iNs8EswVUxYsnoszhiJuo+JbLCV8Rl+lXRpWz1FXPdPKWb3V4rfC+Fsna19rT8Uqi/RQy7HiJPV01vlzTWgtiTJVH8bbHnfV745W7xEauHHhiNLfROK0STdJgeiScFKzExExOcSWQXRIvMF0E8ymCyJJxJXMEzpGDsEis6?d))))AxVeErjOJmZayFWOc7b4/BOQkTnLwrPPxalT5KlsYWxJmdSNObZTMNsXVr0kZrsjllfYxyWOpVOZHSnUX2KUTXXMzOhOXqqX6H8KkZrfbtX2Mc1F01ZwKW1VTlmiT51UXemrKeLr5OopoPVZOWUp7GFrKb8pnXVERDZzMNpj+cnFmQpZhZaTKuWqMlWqprGjOFZVVYVOfZa3Qpr8YZNKUXa4iYjCRZnZOnQ26F6dJlTmYPD96o7730cxOc022bd6yz4UaXxdvMqZl6GGrftVHfe22jNVK1VokdBVznpS3Tb6YtiL9mUD2CwMLObDGGsSXnbPN8DfINFZWeSYkTw0cP5o9Kr4BJNsGlbsYkMpGyBWJlctU5r1vB6X9wbTmwXLAu87CUTpnPudL8QzmLE6p2ZdWS5RdoGIksiSqCyCyCloLIJEIJlkFcnQADpE))))paBdoG5grmCORarZCsqcyGJUrmCORbqzKJEr4h+KmIlMs3ie71FNCRPLa8+Fm/k4BFpygtTbIhiq0muc4WY11Z5x5RBia025qvsJ3Vb5W6d1ly+d0P5wqeLK0futG34m6a/T1C7RsLobKSdNaauavJ4BllWFnKI5G7hVVzv2Fr82fMwLEZEHmZYULqpyWIzzy5PRKC5Z2L86CCyTeNhZmSqna/nX3SnPInTPB9KdRYslTRsHFLlFlkYUvUXeC2CUEY7hOC2CiQ?On))))DkkciZwDsFclTF0wQkjJNZF5EojLVHgZjQYUsjS/xPs+cQaNgwjbSsSeex3Z+8WTnZl3qzxnqbO++Kt400CORRJbJXE+Ce5s28pXazwj8Jua3d+SUThrKs5wzqqz3iyGar903Pp+68kU3Ym5K7NeEungNPEzXdnwejw63K2XZsJq8RPCUX3x+u30mIzbbmkQ7Rm2eWbdBTOjG3NnveAxmflIrpX6TuVUU4/dG5k3xcPhqp0Yl8PLc7p4Zb3593jd7r3qrxu+iio8zkOvbXEZmvS9mLsmpHbeK2/ObYZtMsn+Wqbr+N8VVxXbbD0AvTVVTWlVKLXXXGlEWODpLYkbWNMZQJPMtOcjKjCSKINoMJItZBfBOCuCwvgVk?Dpw))))DknQkAIyRJkZg4SiSqYK2rVomJjOJGJg5kcyJwxmtDV5RZyci2dGfS6jnZNKViYmJiJieWJFGwVe3Q9lXxJOpfovwCE158h3fsuUSYXumIR5mYiIVpmZnSscEdbBW/6lsvV1/gKp3Pw89ulsR8m6dSfVcz7M52PMlbY2FnYeaqS7dCdGGlqsLnx2O669OvB9d+99l9qq71vlp6OqmmitKaUWuquNKIvNhRucoiIiIiI2REdwqkhNEJGSli4ubJ1MxVkTU5EFkQV6BjfYksUZXYLRJZDFi7CDDcHcxbWS3wt1FMpIxmGZRrO6juo5oLwKtRKJO5kdJZmBGJJQdIg?d))AJOHQADmRzIlkGQAcOSSIMdgixSxQxcwuxasGbe2U@IHGmPDsgrmxOsvtJSmYvGIlSw7mU76nXX2hvqddfaUWV5D2HxMsXag1lE2J119pzfE66+0SbODbqmGgY1kocU3xOsvtJRYk8jL7SOot0wN6yyGFYLVJQxBlGIktWRdS5S1ZKGgugmQgmXQUyd?OkQ))))K2LJK2OwQbkKXErbERWdp0qsZs3RhRq2YWJmZyiIzmZ7h56/EpbnLsq1LqlUnu/Kb+2MVxmY+LfTDSK3WPi5iW1pRnwK4lkezylv/FWLzgsP4H+ss/GWtisNOXGry+EjOLw3jU9o6qpEHmLbcU7Z8Yn1hV2DhvBZ9dZ+Mh8H4bwWfXWfjLZxmF8cntITuhge7fXH7QZa/JnK7cWs7GxP2hD4Ow3gt+vs/GHwfhvBb9fZ+M78JYD/U1e0PhHAbZ7Iqyjbyij01z4s1qcdjo2asT9oDYTCosu0uqrGczN1mz+chVXK3UPEOiu+SozMzadOvU2vp+TLK0e9ottiVRZzopbnest+X4qvvXrSy6eOwvrm90RuqiIaYU9BgMY72Vq1mtu+cYekgvUpUZSBVYN1pLFKrsXXVOnnWdT8XUM/H7pRVM0UTE3dNuctC/j8mZSXJHK0ZztmZnhS3WYt1adgV4ebI1TwFN2MTc8xm0LGfIsDcS3Wb2mLTbGpdvdU1IYkrTIW0IvIoxFjxyTn5xpLM8s9kmfqGInZHmLIYWevLkHAKq37klpIo)))CStiySEwdgg3II4qOJt9XZ7plNHA+b/SbGKjirfV2e6ZbRwfm/0jVMmDukk5L+8M5u55zha0cnnISPRJ5d1KznsJZHCRRMHP8A3IKY/wDRb/VsNie6E5YW+fJsQs5rF+Gz36v1lf3g2LXTx2E9c3ujArfPHYT17e6ZuK5rHp9xonfqz1KmPuruxNOeGwsw2Jy4dnOTDq/v3eTLN1Mc2Eoje5jf7Z0U59Dr2fu0+10HjM9Mcs7dUy0zqZ26bM3XMlrNHJzj3+DwU4idTdqT7QZriI5zM855zqnlbrfLf1g6jJs2L7DJizkLlt+Mr3yZ6Rtxg61VcqzcpZJsTKIidS7Y4PSNyLGXu6o/mPJUW8ZXGfTX3j0UWfGMVvnG0y8XhYVlyXQaC2ROUxOcSOq2yPMYW+aZ+Jp2/E3WNRG4K+ZS6JM2xO5POG4fKYkeiYkyWbZI+szMR5ixZErV0yM?Eio))Dh0AOSLYmM6rfV2e6ZrLwPm/0mtdGddkfIs90RZeD83+kuqbKTPx1epfrDIdeTzlcwOOvJ6RSyjyseVupyFZIZF8wVyWxIg6ZFZn7pz+Z4n1bGjMGdut+g4r1LEbOaxZhe30+sr+8rHRLETliMFHhvb7tx4zsVP5zud8rEt925n4lJ0tJ6Hci2OyKY/92uwX3Zul8dYufBoSulfSdd9t95foGMzDG6TN2djv1pvo72mj+QQljz9vPY+ybm1fmtM9evfCyHJxYJ57SeojmPwmzI08NZxtXrK/ePT6zxuGbjqvWV+8erzL6p2GXj68mUYls4mO5MZGpQ8zVXPd0L7phwxrUTxaT8Qyk7DExKZMs+sG5mZyWOVpWINyFiI/YZeBql232Y4Ccz426bGuMrGUGNe0M+zo?ASKQ))?ACFkcB/Rb3RZo4P7Bp+a3mYpaNk+Yks5FF66oMx15POUso8yZ9z9gs9aeCBtWMC+mBNoKZgYetOqou1adVfYMLJkXVxBTJmbr/oGL9QxptUnUX2GVuvWnYGL4K9oYk3NF6Iyvp9ZX95WaUxyeYysbn2ZuVERy4tvuHHMTZhsNXNt0LoXT3OG7PzK6l57vY/F1VmluJuNbvibo49N7vybsTB58HB1vz2t6+MsTttneu1VeNKMSyQumec5qbiUXWYhbo7VT2yz/jPLflThmw+6jP0MZRXcnrMPxVq+no3qz5558+tbv7j/?nhJrSVTE1Nv2FsboWovNbyNiaq7fT8mfIZ1wz12I1V1TaL6X59VnVb/is77Vxp53FVSra45rn2X8n8allPYzNxtPa/KV:AJkgiZjw5eE4Apmehle6M4aeOq298r949WeRw0Rv9Ocd8r95D1uz/wBJfVyMZWPidVZ1nhYmZ7kHoNzcK99VWcytSpXqaO+Np4ar8jyhlbnbmPj3hm4OErbhNHBbEWJ3tfkeNsPcoiIqokQqJCqq5aV09U0KkyjOTyOPxWt9Cc1DqwqxksaYiMoiO4dAC4zQ)))?ADjbYnzFU5Zck8ngLgA5K5mezRHcf6DCr2LHQt/ZTZ+A2gJxZMC7YOt+U8w96dTEfw1/4BN8WnisV/B4n8B7MCfZGQq+4+GfpWfZnhGxtcd6xn8Fi/7JmbpYmLsHiaq8PjmsspZUXsHF/2T6cBKcVZMZaSpdwcIrK8WWcDjO9/2zym5G41zWpujuinHr+h4PnpgFfpN0HxlnfbO9dqq75bZ6sAKGY1Kqq6k3utdCoB53dv8m8JunxuqcNjEXSmKrX7O+rv1Pk+21d6trPRARmIyykuR3RlZW0Mh8Zxm4W7eD7bg3vTx+BjshPSart9P1dnrTHaxEnJ4auerZXZU30XQ+/ALzg6W2xwDZr/ACkx1cKrLXd6zi7Psz4fgacXfdVvGExd0b5XmyYexU06uc1r72mj94fRcJuBY8w+MbSn+nrbVr9bb1PJ1/WnqwJ14eusVxe6+Lxni9Pk/wD2+EVVEWEWFVVjJVWNKwpIALjO)P:Z%iVBORw0KG;)NSUhEUg?AG4?ACCAgM?ADasxWR)DFBMVEX/6Nn:/+VlZX29va5ksB5)SElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOS?LWyrsxEHLD)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?ANE)7CAM?ADSO585)GFBMVEX::2+fbR6dTx8fG85MHr6+vl9Oeq37GkfBTm?AEQklEQVR4Xs1X27LiMAyLfMn5/z9eZgt4EiVVz7BlVo+osaNKNtBW6N2GD9APoP0WoKNfh3eLnwfqA4ufN8J6u4xnpTp7yKJ3BQb6A6vXg/k4nRtYe16hFOElpxDXNMF+FqAXUuUZWDwabcCiSWctpaiv+4VMEJ/kw1rRqB4rmX1xate8NYhbCX+2MErmEmFY2WFTp+BTfV1weystqU/TM9/a5llgUTVys5vBk2jDKbJCgeoSbDF0nU6fhwfsu6SCvFsiHhAZnxCjlzjQyaUBJsuXETuKo0KIvyYCvhJ8SVAWbH1jPEGxBsB12W?T8qetfZb5xhMzwOhTeIqloVcxyo39fMBUC4pdshMqxN1CnAPbgnP3LUMNUNlURXg3DlZWC8D68I2KYqxGRrWLuDQU1Cx4+jmAFuaBF+Xj3RvhbZ7l/Ac8uDetoo86UZkIi8dtsjxLLX7VgJclu+SOlqV8awoCXqQjIKTqHSceAxV3sbEMmWZ3gqAbxW51yAIRaAKXhwpGkI19uc5lVRm0nVYkaPCyopMWBRjE5yfP49dn/wjKsqi7faennBqacIiG5dVO1fkp7Hj1hy6phRhol0q6hM/v5PTWOE0dj+KYou0oiYVxayIYn22/nk3gEPH/nXKw3VFUIro5/OEc0V+MqhFMEV7QSvSYebQaXAHGtSoASUUxXvhuqI8V2QfKnKO3f5ddbEXrinq9yoCx45utqEy/QZF1FeiNR27StbEDVQmvqEoFFpTu6GX+ZFrqvbC/YrANx4x8yCTrApbxoKqvXCHIhqTGQtFajdUskjt8GXUvqIoCUoROHYVuswlVXvh/tRpRYRl7F4+ZGwpfEeRSUWXYtffhtuWav+tIt4N/R06cOyC9sK937DmAo1B02KvZHmj2IH2ws2Koklc2Q0vi+jvTLxC53cpSv6VI6F3Q7x9oNjRXrhdkTUNvRvKB/Kv9sJNiuLfxM5IUBw++Ia6TZFTv94k9G6o4ceGuk8R98OHu6FCV0NG1I2KuF98sht4+D2TQ4d7FO1CEf9iN2Rm+cfUrYqMJeGD2JEPmTZTfqOilsv1avgwdpbJ/hV1pyI/JBGs/zZ2sRl+MHWrImRJIlF9qAfv1rVJFTpNaUVdKQq+yiCJEC+Qx2TSbvhRlA5dn7OiJLNmZP2N0Qi9G9iHifJtDZP576uLRgeZdFlS6N3APvhIoRhx17ryIeckSobBJK2pKsvY8fCDKYbpaJCgXfg8taZa6Tp2PPxMMbpWZEoRS0qLrat1QsWOh9+ZYuBAjsCB/ROOA3PHglmwmldFx7lJD5hZpitqD88B3HBWJMscsBcy/S/oPIPvoSl133R5VwhJAn7p7bqgNgA8GUMu5BMFfK4I5IOkxF1LlH5Ea9pX1rGT1G/buw6S8En4I2Lnivp988uKtPXaHnYZgloDkAzE4avj6aVGmuSOdfEk6svAG+07+AOMW5xU/5K0ng)BJRU5Er@ggg==!D%iVBORw0KG;)NSUhEUg?AG4?ACCAgM?ADasxWR)DFBMVEXZ7::/+VlZX29vYl5th1)SElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOS?LWyrsxEHLD)AElFTkSuQmCC!D%iVBORw0KG;)NSUhEUg?ALQ?ABwCAM?ACAaqqi)MFBMVEWj05zv+O7o9Ob8/vze79v::j8uH6/Pnr9urg8N70+vP3+/bf79zG4sHR6M61269duYTT?ACd0lEQVR4Xu3a646bQAyG4fg4ByC5/7vtFqlqtsV4UcvaI817Bc8P5wtBeXx38h/KhZ7oiZ7oiZ7oiZ7oiZ7oiZ7oiZ7oiZ7oiZ7oiZ7oid7wvTHQm3xqCPSrJET75uHQW5Hh0E+R4dAqw6G3IqOhty6SHe2T86OLDIh+joh+jYh+aGK0/5hUbkED0h2T13cibs870NR4hRvQP7H8ejxuQVf+SPtVtN9OvgddVt7Tchntdxca+VeVRkF3/l2DQdDK72kfAQ38R1jSo6nxX1VKjq58UIPU6MLH6ZIYjWyFJSu6s91aKSda+azWM6KBnXRJh6bGbkjJ0Mh+3CAVeuGvpT0RWvmrYcmC7nyhSinQ1PhKDTKgK19Ml3B0WflyWILRyEYK0E5OOwhtz93yEYkI1ZPTDkTrEejteJCNMA4Nhx5/xLlRCNqeu+qPOINc0uJel8/h3vMK2p47RHRGXOUSGuUkvIYubAXOM2uPQyMbNZI9MswoYejOVuCMeIlDKxup88xaJQwNbLV4cxeGpsZG1fkU;ShK1uRN3cx6H+buzg0HoOZG52POMb98aob10q1e3MXh1Z7Fs5HvEoYGuxr9uYuDG0MA5CIO3dhaHTfNFZr7uLQ0Nw3jV35oCUQLVRX73VMNeYuDH36668BGQ9LawlGiyx69qZRjbkLRovYp41gzF08WqjyhbpkQBunbaSSAG1sm9mSA/122n5VUqGFkN0aJUPv8+cEkg4t0pvzKcyIFoKV7Xo6tD9/KOnQ/mmXdGh:qpkRdvf7I3Sof3TBsmKtr/ZVdKh/dPu6dD+aaNkQ/unvZZ0aP+0q6RC+8HKjUZDC2EXox88iqN9rB8Rz)ABJRU5Er@ggg==!D%iVBORw0KG;)NSUhEUg?AMg?ABJCAM?ABPapnR)MFBMVEX::9amn+z879o6Lx:rj:T/MTH95OP/9PT8ubj/?Dj0cTR/+3b6drx9O/W9ORYTpHN?AEfklEQVR4XtWa23KzOgyF0cFHkvT933Y3wa4QQYPr/RPqdUenhnwjLUUSmYYRs6tinqaQiACAvoVhIAp3q3KOHwmyFsQhMITi5pgf5PNWfoho3ETMHARDBGNxOGZOeU+kAqgOMLyFD4jC3+TIuAZRAWT2u+iewkUcjr8vJa+Alg+PSAQ52iCPbIniBT53yyVUjHDALiCYTflwFQcpSyiZFqH8F0g0R/TCcQjinOOV16HKX0HiKocKCDTB18sC/yVOCwk+XberZ/Vnwt+AxGIHd1vfLIDUuw+IdUBQAtJxSNstVhL6oNVZZ1bqSUcqkSqhkkLuPwhSL4ttYzu9HEKpZpowf84iTmc7TD1ej9IjsMq5HKTDdq5Uu+fTEgG8qh2lWAF4Ub0MiPM832/O8XL9OuLLiSOL0K9AgiSQAYI7cwJv5gTAdbSdThFauqdJnaF4nO19XrdB3hs69HkrCG8pwuwrCDMjGF2Dne19XhcQjZjf5p0AeUc+bUCYudzb7fYPEA+yferyugnij8MhoZN7O2YuaTszP4RDRKd43W4TCkd9VFJjCxHIdeQfEHeTdhT5sR/DeIrXBUTHitSYIBwwF+ZINURUQJ4cTkCkkgPGZ7mrIU1lU+LcnVYq1EAbpQ6vC2K+qz9XDj+r707d5jxju/JF5YC707cmSdfcIGrxup1ZBVzTwdf+V04J3eKmAgA1VYx7C/KBsMXrZvFNe2MCGN3qvC4L9ebelxAKSNq.AtIaPG6NdnAbpTibu3TIOWvRf6+sbOA6LWBLd/mdVcDonvfec82YToGkTgJogkScoPgf/Xwu3XsfabxqjDUI8JB+4/ll9zta/4WFtWn4Eahxes3xZF8Vk7X1D5ajbLXHCFXgfHYg2y3ZaeEcEiZz/BlPJ61oZLEbw2I0laZg5M9sTbOxsyq2ixCTFTQhGP7hBzZ6c9bj/iwCaz0Im7RDwi8FHrHXL2bOzIZPKw0lAobkMTRSQDVZOa7utj2veTBFypJAXDrFbGHH3njAOtlYersYv/Jbo5CiZ6E76DKp7cSAMcB6e/hNQjYGPptxWE7BGGzLZTqSyfM6y17eA8pKmjVDpmLe3swizZDfw+vsz5ssl5eN7aDeCDsWHueM68frYgdiwlpLcTYuWU7a15vX8eG9i3bwYET5vWmJ6h1XfsB/8ndXBdIf96et5vrAGl37RVe7wexvY7Xet12YejYqF/odfu/U6NrJx3uxlPhBK8b8YMO117rdVmr6OkpjeR14RaSKFv0Tte2nwr/lt7pgY9WrzbYKQikYLn2Qq+L9JYqeOl25zsv5sTy3gqNbvyDXu/9vY4WfsLr/fTtIwn2e91umPvp+0nwb3pdxBoFwQL5q163UchvIYBSOMHrZ/8Q97XMInhKZkRLnV4fTLbXB5M9HI8lu/kbTHYdHU66vY5+zMyyB57BZM87Y8j+oe+YAZF+geWt10gOcYvqUpleAul6aCxfGO/XB+CwRrUBODrmG4/TmCDTBGsMiqM1V1J1vVDgNJSYy0yzCJGIEH8H8R86J7+C+8H8W)ABJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?AJg?ABZCAM?AD1qB0C)GFBMVEX:/+vr6/Nzc1kZGSNjY3k5OQxMTE?ABgpITo?ADeUlEQVR4Xu1Z23YcIQxbX/n/P273lMYJRSilM4d5qB5DwAIJe7y8NqEi+noeIttPpD6S1xvyMGLZOvKGACqyu19pHTccmfwyyR41L2JGJuwunbEz224jVlv2bWJ4/j4USHGlx454JO66la3g/3Ytr82w0ZAU0hGUWc2+x2ItpolTuZpu5pT/vndzfpSvM3BkMakbcQSGlPTDpTmBksRi9wMoedxiAZQ8bjFFSnqd4xFIKTm3mBwnFnPvxek0ZnOJ83U6jcmOxRTUUj5JKbFBMu34Tdi18JVBSJ8LG7cQz7cW8ir0SfVnhEFJbQv4JABMwlEUmkU1Fx20Ex2UlIZR4SsAcqJWCa5th8Gt4jQWpSxEjLNg42azcUEiYGJ1J62jdaQV/EuOMTMcoI2wfp1cVFWMtwkyH4/1PJEYhLdBBxsJhH2OolkDa2KAL0uvNicWU0ktZh2MLVd21AKzukG8IlDtsqmuiAk4Cf8uMVlZGIfAMfogTCKXERM8tCDmaBIpHNSLupB6qaXOhwRuBnqR98K4SkNiiebYdxsGZ8TIdw2Y6JsW4140EhsO+lTJwALggsZPFLsf6JxcAKJUsk5Htog5UB9YjKY7fqKcWAlGBCAWo5d2h1hyAbjF+IlyYuOY86zJLcZPFBNLsLL+lQC8YeEFhKcLGcNzAXhPzG83/zLxCr+RXoNITgqIL+LYoOReBc+9gmWLOLUqEGDfYryAkGzhWIB7LRYL74eZ6WUW4+mVe5/Hu99izvZ1v8UE0y4lOfwKi/GCpZA2FeAmi/FRLsC+xfjt5mF4+8AtRkLvbAtflssspmA2HlQNLEBuZxV+u2vQkRSmSADjku9X8E;Z?llBLjkvM8ZVjIJA81VEojJxYV?opQIiZZgLX47888BcXbjBrBbIeI2b0fVYJL/QbqaKjlLcIoeK+INYvUKgL8ErLoO+znJi2AezMCzJYrJA1pInfLLCUtVMcsgQZEYsNprxHVSZXFS7rLGA63lvBZGox08lOU8ltLwNAZulokcjP3AO3gFLUypMYVrwGhH8cuC/X6BHNg1Rw+Vgxnb/ViZUrR0R/a2OI+i/2kahvvI6j+oHD4N/n53H+pX+/BTxvsfbfYhst4KPQznufpddnwU97n/bgT81i9lQl83nZ9XnpItSH78x4ACnLNoPJcQ0B9HiWALhAzR98s0wlubKPew)BJRU5Er@ggg==!D%iVBORw0KG;)NSUhEUg?AiI?AHACAM?ACoDvMM?ACW1BMVEX:/9Kfrs)6kNvbkDq2Zg.Og?Zrb/tmb:9tmtv+Q2::7Ztt/dm?D/25CN0fcAOpDb:8?DphjsQnf77k7NuvxuE?Ga2:9slshbisE6?BmAGbG1umOr9Vymsp4n8x9o86Us9fM2uxmksafu9vS3+6kvt1Mfrmat9k6AGZSj4BQgr21yuM6ADpmADrQ1+VMnL5MYT5MYaB9hY5mOpBdgauDp9F1g5U6@BTf7NtQWGcXD4nYYH/1Y1mZrZtYT46OpDylTb/1YBmtrZmZgCrf2Fwg5qcvo1tt9v/vmff1Y22/7ar7NsndnS+1Y0nQVp4QT7/1XQ6OgBmOg.Ojrfj0wAOmYnQUxSQUwnXGd4XGdSdnRSj3Q6ZrZtYaC+dj46kLa2ZmaQkGZrgp1lgqTbtmZmttv/p1q225C2/9snQT6ets7kt4H39/dMnNvq7PDo7/YnYJ3w9PjY2Njf5u9stPClpaXCl1+kez7l5eWLz/DFxcXo7bzf5tRKltNLmtX5+/3F1+6NYT67zuWv7/Wsfz7b4u3InGHfsn9KQT4nQWGq6vHm6e3A0udrQT6wz/fv7+/d3d29vb0nQYGRYj75/P1MQYHAll90dHTb4tMngL3m0Z7NnWFwuvaC;Le5uam5O4nQX+1tbXMzMyAhYvo7dixgD7A4u3j6tXs8dpubm6Ojo5mZmacnJxwQWFwQYBMQWHX4/BwgGGpxOmIye0ne7hwufXf5rns8fbN7/XI7PfW3t7s1aDV3erb3uXD5u+VlZXL05/byZzdy5yR1fXj6rmugD6qmgzD?AVkElEQVR4XuyS5a7cMBCF7wM7nEVmZrjIDGVmxsfqXKck3eRs61FVRfKR1r/87ZyJvxUjMmu8xJzXvFWlrFCMB+GZGFVeYs5r3nEc37KkIo9CMzEsXmLOaz4xm+WmloUU8XmJOa/5eeEkQY6saUUiovl0+riQyPnVUEVqWhHNG6e30scnuWmoIrWqVOQ5zLnYwxcgf2NVCLFoYh7mdU8I7wXm8Xixx+wvbPX+57IA5vH6DJ7q23Tu4u+3uf8+XZiFKlKzLKmIi1K8+3DbhYH82apNv23Mo5j9z667a0Mej3dNYTP6P5WAcv+vNos3Bc0v3mty9ndJEcTf3jxNzxNT67oiNd/3lytieh/WmzxFcEXMF8fBE7E+kbloxkARuP4/VeTm/p15wrmuSG1KkYo4KC37rG7DG5AnWP5U+Z31gQQU+WB0cZxS708ozrLvx+HNxcDh79/xXgI+UpGRBKQiQ5Cd+/lhx3uHrkD+si6E6OeVefpGEkA8HF+h88s4xeoPO2B+2OLwcv0OLkA8rk+BDxilyCgApCJJENIjSZqgK5CnN0omu/28Kt89GkgA83h88tk4pd4foZiXaVU4PK0fnKz96REBH6HI6CDIMkVKgYUVZUVK1JHzRBgNeDxeenao3J+rSJalCK0f9Gftn1FQpHHwuyLt6HT7j+nMHB2CO4hvl+pl+S+QR8lcsZky5vH4Tz06lPunJKDcP1tm8RlB80kRzv5tUgTwoYo03v7IMkWyT65Ocll1xa26oBCOeJgN4r0LzOPxUlBW:J/U6T9sceZvyUV2fAu/lKRxqufCRThJVa85rEioZkYb3iJN695rcif81qRSUS0It+jFQmLjs4vRdyoGN/YO4/fOI40ik9NDqSYKVJUzomSZTnIcZ1z2OzNOW8vRVCC4ZMOBMUBIQHShYAuBHjyzWtAuvK0f9n2fNvaMiVNcdTdw6+65/dgcNCiy7r8XF1v6tWrQjJdyvZ4xoMI40GE8SDCeBBhPIhkbDyIrAWLaSBSLpZAJJeI3Lj77EoKiAzt+UM1r4jgaKYTIyJq+IcI40GE8SDCeBABERD5dtMnoW/9Q2Sz4JPQZhzTK8dUk5veYqiS94iAiPYejToiCEQQiCAQ8V8g4s6uXkpXniECIpfcYhYBERwNAhEEIghE8iUQAREQWQuCYDg5IuVicWY2j4iAyMZzW0tr66uJs6svjBcqtbwigqPZuD+ahqMpj43nFBEQWUg+i0geoJRDRyOv0FJvv5SnPCIimaLEiNSLxVp2HE29KKrFQKRRlaHR+Er4YwAQaV/bSsXRlGdmvUfEAiIaG0+GiEAhgaqZ2fwiIoSkgsjIxVYmEKnL/CGvxhiIiCrbWMg5ItMrQkhSREZ+m5lZZGR/sdjsfQCILAQdTSVERKbfiZbfptfOCrVtjzP/rBYnWoKO/Er+bLYu76EIkehhGyKWn8r2147MUzJYWUSKYsMsLFtEJn7cwbtslycdRN6Th5lZocD+pidEoueJVvYQARH7UqhElkQIEERCcCJ+hIqaeJfS/x5KEvFvdkFk+4tGflqLF0M;r4UsYiMjQsBTWtf5CF6F9Uf/gulCIaeEGlU5UE+MowIiDxKgNgSUTPCITIqT4uIzDeJ3jRkV/VfNBOtxxARBFJBRByTKNYsQnZVX9aNWEQsOeU0EEloZnA0+m8agWEbIvKntXTWIgJblhEBkciiPI7IzKzs3TQjRyMmplToBRExQtbRCFnhH2bV0YCIXXZYRMSk2LWI/X0viEQDahYYUVZNL4hYHuz/+Q/BmfnH/oeOpmy/anUiYgEr2aWvgp8BEdWICNnV9dXEiNQjl5dDRKig+d3WUnsqHUdTqeV0FiGYGF4RrpgX8R8RELlxdzENR5PXBDyILEhaJJV4czO3iPCiSZiAt2ckQIRzNO5JJJeIcBrPJJ9FbP4dRAp5jDcHwe3RxKZXDlr5hwgiUoRABIEIAhFNIbKriOwqwtEgENEWAhEEIghEyhIGRv4WWQWpRIoqxbh1eCPnZgvlWsFXgcjC62+mgUj9Zz/JJyIgMr3yURqNiY3q36oxEXm0i+OrzVDfbA6avvK34HsqlVLNcq0RH5HK2F+LTZyQr5Gie6vJEZF3RXxE6jX5D3iJCIhMrwynUc3bqDYLsRGR1Gt9xj9EQMRe9h1c20qAiG34GRuPg4iUiuX+RUPBdyHuLGIFIiACIkSKPEMEgQgCEQQiIEJ2FUTIrjKL4GhABERABERABIEIAhFV0S8STIGIQyAyjKNRFYiACEVWIEKpJoiAyI27wyASU/SuggiIvB/S0e5+TQCIgMhClH8HERAhUoRABIFIHCEQQWRXEdnVenQ7J4jgaNwFEiACIu72iSwgcvzITSUAQKQ+Nr6tyMpTnTlz5nmVIisQkUnEf0ez1xhzuKAhEJGOIv8RmTShDg4eImuSKdJFpFLKguk9aDqaXB4kROxt8LqISBee/4gcNebYnDF7BwyRG6+Okl3tTV8aM3/9TufHgJVq3r/MIYnedNaYK4XCPmPODlheJFyHbNwimLizrs8b80DmEvPlYCGyvmr78EDE7Xj3dT6vyGQyUC+aURDpSXPG3Hw4mxwcrHM0i/KyAZGdHe/csjycNGbf8iCZ3o1bQTCMo9lRh405XRAt+2p8iRTpO97o4YIxc1dBZLtA5JAxh6IHT40viOg7Xmt1jxszvwQiILLN8dotXg+NL9lVfS3PbTe6S/PGnCK7aoWjuSOOd/uX8ftwNFYgsu9Rm3tdvkhTFYj46njt4mRuGURAxK5Ojz26OtlnzEkQAZHHHK/VQZlZQAREok2ZI0/MoB0alH6RUOurINKz4xUpBEdUHU17CkfTXReMmbRPvhtfus70Ha9IITiiikib7KpDp4yZt/u6CsZXHRHp1AQRp+M9232RsncgEFmjDs+h68YYu6urYHz1EZFJBEScRyNcUbRjuUdE6r1BpKuWnWtSMb65R+TG3UXyIs6gyAl3GO1oof8iUtSoFouOliJPHK+i8QWRSslTRyMLUqevPW3Mib4aXxCxxQDucfqOV9H4;g0JjZ9LLJ63hizQ3PVB8aYr/tbZEV2VYrO6o5STS8d726emCC7OvLWeGHogIeIXO0lxfzAmPk+G18czdAzrUJ5bNwxTrMMwKldqgrA0dSlvNk/RCaNueAaYE9MHFcFgNSZfhmAlUfBERDR19EeE8xXtY0viOiXAVgpBEe0EZHw6iKIPEHHrOPVNb76pZoEEx31dw4pBEd0us7urQomIOJwvKrGV9/RtNc/W+FF8+TU4Z3e1y0y5eTV0bS5pzeG41UwvkqISCxxjcZER/1d7yuXO7lERLLN9K66Ha+28dVvb6bg21F/17OWT8i0k8vlKt+L7FAG4KvxZY9GVadj3HB2RLsqAET0ywBEvpyYABH1+rs46xf9yxVBRP9ohD8nJuhdVdSDmCvPvRqXK9K7ql9/55Z+VQCOxn/Ha6VwuSKIaOis46BuBoMjIKLvePWNL4jo1995HBwBEX3Hq2989bOrt0dBZHv9XQLnKpcr5u0qZ9ntBRFHGYCy8dXPi5Bd/a6WpP4ugeRyxZzlRSR5BiKOMgBt46ufF7l9WReRRtX2i2gjspx8uSmXK+bL0ajPIo2fthy0q5cB6BtffUTschVETiRbbNrLFXNW8K0cTGxUHeUR/tTfKZ2Y0D+Nd0uiq+qORipo9LvOXjTmL5uJ9fUrxnyQctcZkaK6ckuRzRY6giKaJyZApOKq5vXf8fb/ckVKNcfGneP06++yfGKCMIC+41W5XJHsqoImHVd4exccIbuqXAaQQ+PLiya5jjjWmBkMjoCIfhmAvvEFEf36O4+DIyCiWgaQJ+MLIvqO13m5YvYRWQsWo42aYd8Q0a+/0ze++ojcuPvsyqJs9UqGNZOI6Dte9+WKWXc0UnMmeZHpleHBRuSwXVwqGF+/EbGVeFlERN/xKlyuqIPIUjtLiOjX3+kbX2aRLDteq5vGzOkYX9Yi6b8RjvSr7+hs5hGRBLxgkj1E9MsAkl6u6L/pDUItdgKs4nkHFpGbserv9KsCiBT5XwbQv8sVQWRoT7FZrjkQUa+/Uw2OgIgcnWmOnJt1IuJ/GUD/LlcEkaE9zYo3iFx3hAi1giNkVwWR8owDEd36O33jS3a1UgzlWosoO1714AiOplG1Z2eUEblgzAn7lE/ji+nVd7zpX67IcrUYyou1yHFHGUCOjC+I6Dve5Jcr;i7DcAxTrn+Tt/46mdX5UN1FmlUHRU0npYBKFyuqJZdlQ8VREqFSOWXDyghsuzYQlEwvr6GAeRD09GMnPvUgYjvZQDpX64IIlKi+V1HU2kOCSIKRVavGPPnzd3Q88aYuEVWIFKvFYZ0ZhFbBtB/nexhzQMiri/jJ1oaiBz1JjcIIm5pzCK2/s5LgUjdml49RKzjBRF3djX62O1Ikf63q1dl78RXESkql9QjReJ4/RWI6M8ic1J/56cIA1RqYcC55KBd0fHqC0SG3ohBu0L9nZLIrkoUYKKliogtA1AX2dUYyVUZp1wGoC/yIhVN02vLALwWkaJKAkRwvMwimmUA+gKRijO5KuMG2fGCiGTOmjvTrl8GACISWpWfQTDs7fciOF797OrGc1tLawPWUnToKZqV.OINu77XM2r73hBZNC6zk5K/V3GVSk+sss1crH1iC2YaKWFiHxmChEcr5xU+6PLFQ7tefeZ9BBpX9vyDRH9+jt9HZ80XTR5UxAJVZdQxdCB94qdcwTRo7RAhZCkhogQ4h8iON5J01XznRdNKXy5vDUuRwj2lCTeGT2G/4RKDZHwhxAyOIicMmb+ahYQ2Wu66lh0zlVCwGPjIR2CSPQ4sr9mEUkhu7oQdDQ1OIhIGUAuVClF88VDRDqPorp90VBBo1N/p69yM5xGmuJiLCLW1JRLg44IRyOG9ojprUv05iEi0aMEgxtVeemACHu8dJ2lrb291N+ByNtddSldxUZE2fGSXf1eN73ti6NRqb9jFvEVkXLHyncZh+MFEYmPNKolxzjl+jt9MYuIgXeOw/HyomkWdqfI6qUzZ868tOmjvgIRpxrVmmNcundMHX6aAcwiXwTn5Wfwg++rIiLhh/4jcnXSmLmnWImAyI9++JvXzocfv/rke7:XA+ReqlQqOzGLLJ85Knvu8TRvBMiIvril5+oIdKo7pLpPWTihc1AROaT8/n/6myviZskApG/B8Hn+f929aBJVAXAi0bWqzlGRO4NOhK/lAhEPv7Fh/lGZGnOmMmYaUQQ+fjX+Z9FlvcZMx/D7mJ6g1Dn33ktCH7+Yb7XIld.vTuZWePxn9EzhpjLgAIiDjuWXUlAEAERE7Ny33eCEQce3f7lsGD7Go29+7oXdVHRPbuHgAHhyS66pix1ygjELFi7w5E2LsDkbT27g5jZkCkq5YmU9m7o3c1VDvwtutMf++O3tVQC6+/mUdErhhjku/dUaopPz/KY2PiydTMDIisTeWxVPNmant3ILJxb9VjRPT37kBkemU4f9W8snd3IhUzAyJRb2JwbStPiFw9YffuEAXf7r07lLx3NYuIsHfHHk3ivbvTagCAiP9FVsdztncHIkMvjDuKrNi7AxFRJT1Ernf27pLeewci/+oqhexqul1ny4fzWCJCdrVSSq3r7EVjTNw2M7rOvEWkXHM5GvbuQKRSS8303jE5vF0VREb2P/2lGOzdEUzsw94dApGrJ/oTRCS7Or0iV+NlH5GjISGn0geA7KoERjydRfT37ggD5AcR2bs72ScAQ.Ibo9mHZHjpl93RICIaG191WdE9PfuQOTG3WGfEdHfuwORjfujviKiv3cHIu+HdLSvbWUZkUN9PXdHdnUhyr9nF5HT7N2RXU2wd4dA5IHzAgAEIktz7N2BCHt3ZFdjIMLeHb2rvV8AcBMAcDQx9u4QiLB3ByIJLwBAICIXAExiZkDEh707elfXJFPkKyL6l3fTu7p2bctjR6N/AQBhgBuvjnrtaPT37ijVvH/Z50MS+nt3ILIQrkM2bvkbTNS/vBtE1leFFW8R0b8AgBfNqDIilYmWY5z23h2IyI8FRdM7tOfdZ1yI6F/eTe/qxq0gGNZ0NENuRLgAgEiRINJ7kdUrxry4qSeKrPyfRU6L3UUg0psQiCCyq41qjK4zRHYV4WgUEEEggkAkhhCIIBDRFtnVhaCj9VUQ6SKyq6L2FI4mgeg6AxEQaU/haBwCEenUBBGHQGTNVYcHIiAikwiIOAQiUu8NIt1EdjX8XGSPBkTYo0EggkAkhhCIIHpXEwiRXUU4GgQiIAIiIAIiIAIiIEJ2VcKriyDSRWRXpVRTN5hYLxYnWj4jQtfZvVXBRAuRkYutQtnrY9/kRdrrn8mnEiLlmtRH+IwIkaK26j295ZIgYousBlL/8RgRiSWu3R71BRE7TsENKf7F/iIi2WZhRfVFc2AWRLxub5aCb+XlKoh4nF1tK38vUi4WZ2a3j4vxZk401v+/mEgRAhFdIRBBIILIriKyq/pCOBoEIghEkguBiFylF1dluZFgl8eKGlX5Crn/AhG5Si/24BfGG9VSzLFvFGRsTJVfPjCb5ezq7dHMIGKTAzFVKWn8zSPnPhVEMphdlaucZbc3S4;jJYXTTM+mM2hDCJi8yKSXc0SIhqTiKwnajFH1muFzCIieRFJnuUcERtgSqB63PVqpRhqopXZeHMQ3L48IIhU4hNSLyUanuFZRJSZWcRepRdLI/vjD25UZeiAIqK+XPVfFHx3DyaCCL2rG7cku;iIEKkCIEIAhEEIojsqoIQ2VWEo0EggkDEd9WLTRABkS45x2JH/wYREOmuStfcMYisBUEQhgA2bsnHQCMysr80cvFPxWKp0gn+RD2fILLx3Fbncs1wm7eTXwWR/WPjlWJpaE8tfGpGcwuOptPJ28mKTK8ML4FIqVCeaDWqY+PlYigQ+X+W6PE6PBB5+JYBEUFDboNvfwcREKkXSyASqR3i8dgsAiKFchRxBZEOIUtaaxH/BSLTKyEhkn4n3vxEgchC0NFU2Murd6YXESnSFAIRBCIIRBDZVU0hsqsIR4NABIEIAhEQAREQIbsaftIv4hTZ1WdXQMQhsqthKgBEXCK7CiI7iOwqiLhFdhVEdhDZ1b4i8s2mT0LfxMmupoxINscz3p1djepXQYTxCpEiK8aDCIiACIiACIgw/r/t2jEKwzAMhWHdWBQiEAgvOoJsMHjKYGdq2jvkZA1dStyxW3k/fDd44/vxuwr/7zMRDim6tQeCSdu0SDBx5KTH2u4ILtp6aMrh5GGj676tCK527cPCyReT1FWfCK60J7HFyTlMRioIJmmIBVeqlcMsC4JJzhbMdObMETcEXxZmekfuzggmfkZELzIRXoNu95CY)AElFTkSuQmCC!DG%iVBORw0KG;)NSUhEUg?AL4?ABBCAM?ABYbu5j)MFBMVEX:/+1wv+jqv9siv/p6:W3f8zZv9gb:19v9NK/8zAP999:S:8z:8zzP+z6P/0gInF?ABg0lEQVR4XtXXy1ICURAD0H7c96D+/9/KQqkhlEKD0iTrWZzKYtJXbou2s+jvn1Q55f2mfAMOb6Ec5D6+c/ObcvOdm98qN9+5+a1w842b3wo33/6Dv2H22g3zCL+PKF/uSKDsGL8pN9+5+U25+c7Nb5Wb74R8h+ki41eYLja+Qf1k/AL1k/HF4XIg4ytMFxl/X7/z8aF+Ov6A6bqR:FTnswXa2B96LmyPZtfoH4yvsDlwMaHy4GLj/Xz8RXqJ+PD5UDGh+ni448O08XEh+lSrtUVnC6qm+ey/krGx+li4+N0sfHh7Cfj43Sx8bF+Mj5OFxkf67c8frF+jJUovzRIBr/4+kovMb5YPr/OdcrUGL9k8FG/Tw3xxbP55/o1R4hfk/m6IBbii+fyJ/JnjK+5/HWRGuJLfzG+xvh6lX89f8m3GH90ar7Ya/FrkF8y+XNhRpAvlsi3+H8fUxP5A+svYb54Hl8Uy4/zNZEvCvo4XzyRLzrhXg7zNZMvw/o6ptsQpvDnE+wJyVGQ5SG7)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?ANI)9C)AD94GjJ?ADQklEQVR4Xt3awW4yMQwE4P+heLq8VJ7HZ5/nOtf8DS61QIFJCt0I5kKlKM1+8tpit/3XLiEBd7cedwfYVG63kG1/WpAIt0H8PosYb8G0Cp7Bi0nJGcRHqNT8GsWrQ19L4ggijpM7ZGD2d6Rm6ya5Q5foWJI26R2qRAeTtMmliaJEf0ty01kmmSjRfhKWSRAl2k5y0QxyR248ggTLeET0RpDWu4lmh5HcAbJlCElyAPzZROi5DDuKRMq5dHsm2WQNMFg+inQvy2dStN9+EkS3q+YfcHeTKEiqTKJK2EBqgiR22Hgtq/4eJH9A4u0A3X3j4QlSehOwh4Rfk/yccaflQ+XuIc550t1nb2RBDiHpiazDCwg9Q7GzbSPR1o9EiHAOR+Rw7iHBfnffdVAtp9OpfOXxLs8cQKKbrY9wdpGjgyJtluR/QYI9SlsoUj1NkvATdx5NmjsQWSTrQFVbRtBzNIkr4w5fonoNsO+CfVu/f4yOc++fxdrtQrRk8QvAajlvsBaJX1fLKRjlfGp8SpLPipJUNOk2UAs/HZr6SJDqComzjRQmlG6qWCRVtVBPpUSdxqRYwJcRkmSYFQWpA84qihsPjdF3/aOohUgNQ5LKmRwWno8qLxkPud27qZwi/pBkeYXdLBauCp56XnVW3H9TJIMWJQm0GioqkiVJLbQYD9ckC07OhzJNMmhRmtgZHVVfSArP@TN1JmYJJkUJSlqw1eSAlfM6l2Sd6x114XEqwDDMmmRhWiKRHKWlM01IKXQY5T/Exe6+Nre6WZdVHM+tNDZmJQyRcIdUjZTSZJ+ujDO0Xk+PFLytIggyRsvBkQdkALdlz1JyoRJUV5/PlvYkASgWwCsjYcyIOUhLUmqANCicHtM21KZ8Pge9xSJtWuqlXukFt4kyTL5VI1W4hlne0WilZKkX+Rp0WZStNIzJKhv7Mc+1UbnrZCUaAHz+tcp+QVipZeUaCspW+mJiQd77pL2v+Y3vFi0/524cV60n0RqUZK0aD+J8XwNkg/+om4Pvv75newjDS5PPAPCprKVpMOPI3l7JxJmSPw4Etqnkbx9Gsnbm5Fc33XvRmpU/yf+fqQewsX/5r8bKUIiZe4A21vmP24hqdv1SRFy)AElFTkSuQmCC!