Dot Net Perls
Top 34 Go Example Pages

["-e..w.y..y.ib+CCCST~~}T~~YF56497664FF.CECCEP65R9947646F88+BB`XS}T~~}T~~","CSV."," Comma-separated values files are a form of flat databases. They can store small amounts of information in an efficient way. They are not efficient for big data.","With Go"," and the \"encoding/csv\" package, we can read lines from CSV files. We can invoke, from the \"os\" package, a method like os.Open to specify a file.","First example."," Here we open a file on the disk with os.Open. You will need to change the path to a CSV file that exists (the extension is not important). ","Then: ","We create a new reader with bufio and pass it to the csv.NewReader method. We use Read() and test EOF.","Record: ","We display the entire record with Println. Then we use len to determine the number of values in each record.","Range: ","We use range to iterate over the indexes of the record slice. We access individual records from the line.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," Golang 1.5\n\n","Golang program that uses csv, NewReader on file","\n\npackage main\n\nimport (\n \"bufio\"\n ","\"encoding/csv\"","\n \"os\"\n \"fmt\"\n \"io\"\n)\n\nfunc main() {","\n // Load a TXT file.\n ","f, _ := os.Open(","\"C:\\\\programs\\\\file.txt\"",")","\n\n // Create a new reader.\n ","r := ","csv.NewReader","(bufio.NewReader(f))\n for {\n record, err := r.","Read","()","\n // Stop at EOF.\n ","if err == io.EOF {\n break\n }","\n // Display record.\n // ... Display record length.\n // ... Display all individual elements of the slice.\n ","fmt.Println(record)\n fmt.Println(len(record))\n for value := range record {\n fmt.Printf(","\" %v\\n\"",", record[value])\n }\n }\n}\n\n","Contents: file.txt","\n\ncat,dog,bird\n10,20,30,40\nfish,dog,snake\n\n","Output","\n\n[cat dog bird]\n3\n cat\n dog\n bird\n[10 20 30 40]\n4\n 10\n 20\n 30\n 40\n[fish dog snake]\n3\n fish\n dog\n snake","ReadAll, strings."," We can read lines from a string. First we must use strings.NewReader and use the string as the argument. We pass that Reader to csv.NewReader. ","ReadAll: ","This consumes the entire CSV Reader's data at once. We then can use a for-loop to iterate over the lines.","For ","for-go","Underscore: ","In this example we ignore the error result from ReadAll. We use an underscore variable name to discard the error.","Raw literal: ","We specify the string as a raw literal with backtick characters. The string has three lines.","Strings ","strings-go","Golang program that uses ReadAll, strings.NewReader","\n\npackage main\n\nimport (\n \"encoding/csv\"\n \"fmt\"\n \"strings\"\n)\n\nfunc main() {","\n // Create a 3-line string.\n ","data := ","`","fish,blue,water\nfox,red,farm\nsheep,white,mountain\nfrog,green,pond","`","\n\n // Use strings.NewReader.\n // ... This creates a new Reader for passing to csv.NewReader.\n ","r := ","csv.NewReader","(strings.NewReader(data))","\n // Read all records.\n ","result, _ := r.","ReadAll","()\n\n fmt.Printf(","\"Lines: %v\"",", len(result))\n fmt.Println()\n\n ","for"," i := range result {","\n // Element count.\n ","fmt.Printf(","\"Elements: %v\"",", len(result[i]))\n fmt.Println()","\n // Elements.\n ","fmt.Println(result[i])\n }\n}\n\n","Output","\n\n","Lines: 4\nElements: 3","\n[fish blue water]\n","Elements: 3","\n[fox red farm]\n","Elements: 3","\n[sheep white mountain]\n","Elements: 3","\n[frog green pond]","2D slice."," With ReadAll we receive a 2D slice of lines and the values within each line. We can use len to count elements in a line. With append() we can add to this 2D slice. ","Len ","len-go","2D Slices ","2d-go","Advantages."," Why not just use a Scanner and Split each line in a file? The csv package can help us avoid some code. We can reuse the code provided in the Go standard library.","A review."," The \"encoding/csv\" package is powerful. We set options on the Reader to handle different formats of files. We read CSV values from a file on the disk. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/png;base64,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)","url(data:image/png;base64,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)","url(data:image/png;base64,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)"]

%iVBORw0KGgo)NSUhEUg?AKU)+CAM?AB9VCto)qFBMVEX::vr/Pnp+v8yP:+:+8/+9fcH+9P+HR4v93:+6v/7w:wsPSWVpr5uf3:f/91:dneGwcLT/+P/Sktb+9v/+7:95f+kZKj92v/zs/f/+f+8fMD8zv/80:3t/v;Mz4uPzxsfX92P/8y:lpen+8f/92:+6f/7xP/7u:94P/jo+f80P/7v/+6er78yf/ioub2tvq7e7:/v/94v/93f/81f/LhO3y?ACkklEQVR4Xu3a146jQBAFUHcm5+TsyXlz+P8/2xnWlG0MvcBCyw99n6vRkbC5JcTsf+PgfUiPqZ/zfSzZIbM+NTzc2Af3mPrioL+Zy5Q2+veUVt5erFIrtVIrtVIrtVIrtTIgGOMd/0iIvbybclUpX2NKWTylMnAwL4xaIsykPmbdx6n4XCm/CiFu7KcHOo2ScKMlrtNKtOzrK2IKUVd+cxbmJEpstCdpU85RmxKhtWqlEQ5Qos0ESseQhTQrTZkSWeMriVTJm5WWVGmrVhrBACXKplBGnHP8Ho+U8cLCgOA2Jbl5jCn9XinvaHpQztV0TwJK3r17lqC0FTVkBMweDflSKZEipTNEea9amYOSdFdSUFpqlLMhytmESq3USkII7q30fT+bXsmIU67qLvi6KFe1hpxU6SUFsDor0yXs6iqUGIg9lC9vphDql.0YMPMPl0RlcrANfors8W1UiUrjP5KukVqleGpifNduWfKu2eDzpR3vu9P1j3MBY4bko7dQxcHpZLucUAT5Z27x0SVMl4pUSagCbo35BqUP9Q0JJxPevS4XSmXinoc+tDpoVxUSqpG2YaRK1Gl9JuUWuldstKF85f8u4Tz0ZD/eKxImbTccg+Uoex56Z8oGSg3U3WPWzEZwdw4xGWS7klX0OM0Pto2FnRUZX7kKRKMd/xskSucvKYUoGzbidDWFOMp4QLynF1AooSMqSRDlJZq5SwcoJxtmpRsQiWLmmWuAYnOlPT5Xfmrrgxs76B8Hvd7IrZrIIYBC2VvWunt9umhpswsQX+D0h5RWcaLTojRfmkPElA25PEtyI6Ur9QvBdl6GmUJKh9BLucJJuwgYR7mvABlLalYxqlI43j5IYTQfG7bW1COkD8/upOVozMCaQ)BJRU5ErkJggg==%iVBORw0KGgo)NSUhEUg?AJY?ABoCAM)kR/m5)GFBMVEX:/9fnOnZ5fmFse3q8Pupx/LE2PY6i+Z4iByf?AC+0lEQVR4Xs3azY7DMAgEYP55/zfeY7VK23GGJg73Wp8MNlaK3B1hVZWZVRbyhIhK1/4X6mmbRf0pvHaILF37e2jems+XCEbeJKrUPhNaWwoJh28R4dDYUEhbXIEAvGs/q/WZrPZnsrqeyerYypqnMczM4i5W27m3iHrahKWemenT7bJU0OvXWZ6v7S7lqytST/X6OJOYIl8T5qBFzFhizJ0aKP81YmGXARRw8Sypk1ms9UN8ZKmvssTPnMVwsqVGe1ZIANZiGsFWnT4t6yzx5QaUROuiWQVr9+jHkVOW6NLioX0qxiwHLErVNWUVYFGq9ikrwNqUqnXKEsCiVN1jliIWo+qYshywvJmwKSu/s7KpqGtZ9dGcZWHl97NSJOCHHdvBkoK9pe5m1fvdUFs4ynYt69h4PFYWiOtY8e7152sLyHWsd+3c1xZQuew61Td0XVzAr2P58bhpLHav/FFPREubfirkAhVPshbbWmh3rbZ6leveW4ds5/KJyTGriE828OcyZuXoO6WBqqRZPvlMGQpuFpoFckioumgWLq2iVS40C+cQq0xRc+BZ/D+LBlPCs4ou+MLJ51mKCp5X8Sx+sxLkfsZSsrIcqGasJDfLQQZnLOP6TgDVkBVcvYeC1TkWfv8Fo1KTAQunootShQxYOBWdjMpDRiz8PYRSCQ7MKv2tKmXOslR2BELPFKNlLLIKTLkAla+qrFxfyQEsHM6o7P18z+9YLozqKGJZTOEmULm+PBSLuqULqESHf/ZS92EAFWDBAS6y+esXFWaF0ieQKPeSVRaFMgFRWMWz+AeJgoMLWdxOMSl0GbHmY7mFVTyLH2LWheZp1XNWKzDB690OXXDM8rTpAF0eRCOWegWE4HpXMFIOWNysPu5jDkSI9RKFcAF2hGV5Vggf1T9nKRTh0J+y1Mvum2PFLFDau1igtO9mgdjC8ngCC5y2Xaz5aZuz0LW9n8Vf2zxrvwizcCHtZ6nnBhF+kWwM/CLZz9LtIvAi2RXgRbKdZSHPiz+CLM1kMu7KU)ABJRU5ErkJggg==%iVBORw0KGgo)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+SUIlRKy8BZRdC0FvhTQvCgxZGBhwQycqkS8Sduqsi3yE0Qan0rusuRoOiL5dOgAW626DBmSGjEkKzeBSZln8L0SgQQR88M9xi5yYyyPnCmzxyiOBBtGIrJQmOBLSYKIGxERn25FkczOeCFPC6G8byxd7ipRaEKPQmRmpEaNYkJEcUWHQtEkJGJL/arHOUsElLmLfJLowNZYHqTrmF/OJe9BiBSkM9IbxBQ2igjFwU;lBDCzTTEv8wPGKMTW2M5jXRJgh6J1?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+nCQpH8DUZOjxIah6jfG627XRYlhvKk2p+3hcD6f7ZDRs7ls8YWya5rl5cLNglWJ7h9lztFyzftJIsLUIfW32mRyBQmR/JWRJRxEctrts8XVyoyCfJw2Z8WMZ33rsukZPzubaC4XI5IwxjIVY3tLjEZk;ElRcgJp5rEKOWEkaU4RLLZbcwYW1Uq63zenD6uldGCs3yrUNP4wxiXExsURKsAjCDLacErWDOXKX0ogVjdQWJDcuJ6ZJUq4343jxZlLJb9fF5qlHGOkW+dTpvbtXmgx6Y5Xay31K38bMTWjdFlbwIdCnbCDNz2jNq/4klybKvx+PZmQ/W2utm9HyGmEeFxM59vAX2ePy1p5Fsn+5Y1nUx6bE4nf7CIhyh2Um0dwBogmuRyvA3Mb4tvI04N1ra3pAvlkl268UXO9tYi67dNEtvticxLNkezKdu5srkyaDOM1e32OxjOSA1pvM2GCplwIkaAaMbC/MbJXunjVV+QLOgs2m8dEJL95pg1Li3HzT6J7UZxodL/1tmTZX4eckmS48q3vUHGMhVjy90/JN+oU4Gp3N9AqBFkEsd6JD9l1MVYniBylvkczzmD8WpGBqPixqLW41QaadHC2V3eKMVGk5xYDOTGgIwQx3uUsSZ2GCeFKBUz2hKsIKBiZIotRoi6FqNGdJXRXsAJQvXoRt0kQU58uFHVmMTufE3iM8zr2YwzkCwzuRLR5f6N7v8UZAcYL483SaCUrYz2YlmuHoeM9VDNGlsZK8rVM6TEaIJZtwiivXERePC1iqO0FHIEMnutr0dXsucKkQwYp2rEWPPIINSNXdvNum4WC2n6S2SbL8MZMW4bGqBVqum1Gqwgx4wZGSGmsXPjgFB5aDSgHYbwyuwMUk5ujN0MHD4BKVLGwbVOf12+fGycGqoYjzVxmomRR0mUt3G5WqjGXOR0EkomXTYLMXtcgKTI5m7S+UujhqqMtXBaifEHTCsq194aqdUCwJFY0kYgR8OqsUQfAS0bGaenHNWoofoDo4jjkfHTgK5EQI1hxbjAyJQDcYFTCS81yujMtlOPPlgTOT3lyBhEGSE+oTyaMZIECvOVQWe+lfanfBkXRkVl6iHkwfXYwCNPG6PHz2eMIGWUEp8XuioyiqTFQaOkQlJkOzGvTt8eZYT4FeO1GMujpL0JJVJEGrvCvOvxttR5hEzlw3m10acCT1yPq8oI8YlgtKSxAwmEcWZGdi64HtsZvKEegUdk1DpHmx2Tc47tVRF20iz5REU+/szRKMfjEBKjkEw8xVhcpcHOlMyr0WPkzzsjLWq86gFSxjV;KM9/nzeqFwfUDESjJacPA0ZPcYNpbN2VKSAyqMleYvRAtKVz/T4/pyR0CtvN15t7y6QB1dyqfm80SazEMO4yMfiqslcB6SS22wr4t1uxz8eq3/m3qhtAQ1XRxoxhXq2YkSS+xHKmQD@A1lEqnxCeP7PzESIYsiu5iZkok1Hq1CKSO0gGZkzH2AQmya3gbrV41kwqjIKKIrO5ty6IrRmshqG4CovDwxwKseTUiP2nycNoL858Zek1xpMVgxei8IQaK5K1NwiI4kVuKDy1FGpTI+c0EeByOjmgQJw40zE8YmgFcUs;8AVSPtFjvITvyy8bIl4wqEmRcZ9wmu5Ji7FiV97d0FM2mmTYSQjU5tk/+2MhgHS+yOAbixs8/iowaEXGT7H0sl0p9okPCqIRQxJxzIE7sA2B8okgcA0aUSZTxtvhkfYORewdXZ36UilE+iEJmi+RmXMu4HJt03iaKrJHn6e25WukDlaqsD1YBi6jSqb2oUID45WsRVj9t9bxRRT5GGmDKqESRsYLB6Lg8rdqyNqdXcPIR3TXCZ28TglwbkchYISsjkX.CWDYKGmM1HKY0F+LXJgvVij5qsy2KVKZyRSRtXj1STnClyHjyK6VnpMjB4IuM2BMYDKNiBGiJa5HjtWCP1eGtCrNgk0FloPoUgSo1biQGKefkrX9iLFGopxm9oG9mZVgXCDUT4l19mcXqhYZJ2qujFFjY0ReAKnxZaRHImNdZI2cVkJ/PLPypMxgJexC4vXRS3QJysh+nlpkzxFipCAxjiitaxkHkVJWqY0IIQYy9wOYWL+lESHKFT60yaLR4K8wVj8tJ6I3iXFisE4j@4z74hniBhZx/hswp5H3gpQwChckB1WTxboHUL0KVXEyjg561TIerym8iylnGpQSD1fdTNTxhyJByIKvG0dL5euw8gDFcQQiviE@UKSaoqcU4njRB9NVcaAogR2+p7sFOt9K9DmPWP6NrpBeWwcWy0Vk1KqajCxzGfLke/HlVNnHw4wgmVig4hFfpBi0ISR44biYyO/FvlYWSw9p+Suxl3PztBivFHUPTRLpaQLM3oQAnXLgSAcaLIcSTKCWYdbVvRI7twCxMsEma1u.exQv+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=%iVBORw0KGgo)NSUhEUg?ANM)8CAM?ADLy3+8)MFBMVEX:/9/frjX1+inp81WUaW6udfGx97q6fIbDJDr+PfE7Onc9PLN7+zT8e/0+vu56eUR9Hoq?AEp0lEQVR4XryXzQ7DIAyDfc0fe/+3XTeph4YGI5D4jiSo2HMQA+TzRNDhzw7FD30uOjr6JsMf+czj4PATI1GozqsNYDsVpzS1fGQiOuplslOOaUIkN4nmVrhN3XKc04ScraFkq0JrzKx2UpMla0Zma10hXhlOaoIOJipSjZRqq3BWkwy8SSUyL7VTdlgTvHTcipngRUnJXNMkWCU7TmaiqMbAJ1nTZFgnjwabCV5uyaUlTYoNWuG4FmbTmYGNYlnBHiccPhpSu8YadCVCvpU84njwn2ncIao5lBwjydu8z1u/Fnyb48b1B/GbvsJ28V5A8E/AX3uaX6gq8Zv8M9lG+jts5hPy2iRxcYuS1SfaPpEl2FS4463LLv6i5g8n28PE45yyIFPbvqyX65brIAiFQckFCfb93/aUkIacrprRzuwfNWp15RPc0cLWMiGtK2EuO1QdzLzyVFdwx4PP3JkJekEqCpBoPfSw7JOBLCmuzlHjfl6014P+Y6rLiUSWfL2ZV1ybS+GvxN+duySYNmU0minNGbNuW2HoUd0OIlUxVfgzbS0muNWVSSxCFaAyi3YvuOh2EjHzONJ4oLjLhYNpAYMypgpgDQBR+uO04Eq5Qs30LNX4ffC0ZLr0vPCWbAmAE8QUqSLtM+49r4fcMuZBXy0XJtpzz5lUoMWUyep0GAqKqAXp7IgecFkt6jGFVabrsqWGMY9ezPjCNPkrYWIRhQbTKTrKSUy8fuhxBlwJ0erzyUTnjOTtyRrv/Dyk3RuxlE0EVxeK8A0TJdyLeTYu5JOJJmuJHmeYk/1E3bnRa9navciNNBo/S/LJpMIzORQJ3DAtsBypkqw0JuZrS3pf+JSz1YMJz83m7WjTdtmEDDimMQnX2WOV75jeepiFnenzGHMM13VZXE6TwKPVE6guY63XQJmVGxWNMJlqk6k6UTDF08slskV16rPzrf9sE0zgrzfE1IhT7JgELSZzCbL/1M7PLncHyo4CSbjWM8XDYNOvmMjft8mU3QfxLkzjx345woQrTinlsCwMD/vAVJ9yJpEGU7jK3GRa1l3z7W4av3EeTJH4tJy57rplkqeaTL4wuDaZYO+j++PouE3IzvQIpAQu8mr+yPTKODG1PSL5HNRi8hDmlnsNfnVDvp/m7GsaDnQc3KYPTM6yl6rK0GSChGYSYQPvTHVtOIQ+GuKB5FMx9YxgET319aUpcg+H7k+llynuQB1WqbqFylbhay2GRPUng9DhQL3cfFcHk4FcxPC1cpx278Kkb3urh8mhXAo/SQInBgwrrBX/NWsGKRCEMBAElmWJ0fj/3y7McZQapCeQ/KCwCZjqR69r99vYgRcGppzb1+/6si2znvPidJ8fCb4A4Xo+n2886xpfLEN/l6mBj0u6r2zSYQKTrjB0r+EbzCYzcXlGH85CbDinC0ypCoOzwJ2ikJjyk4cGPUjz6kzn2lb3NB19vM50QxoG85amMeoU6UxjJpc+YMFBK0xh8pnCxPk2WLo6U8wUJt6sjYIyZKaWw8RhMBb8KtNMY8J40UP1uky0BhjZKjNBV5eYW1Um7i1xNr0yE3TfUR5GdaatP+OH6rWZ/usREj10r/sZ)AElFTkSuQmCC!