java使用Graphics2D生成图片

news2024/11/18 1:34:30

UI图
请添加图片描述
实际图片数据库中只存了一个二维码转的base64的数组,直接导出只有一个二维码
这里使用 Graphics2D 画图

public static void main(String[] args) {
        // 假设你有一个Base64编码的字符串,它表示一张图片
        String base64ImageString = "/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Ncf/wALt+If/Qw/+SVv/wDG6Pjb/wAle13/ALd//SeOvT/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FAHmH/AAu34h/9DD/5JW//AMbo/wCF2/EP/oYf/JK3/wDjde//APCkvh5/0L3/AJO3H/xyj/hSXw8/6F7/AMnbj/45QB4B/wALt+If/Qw/+SVv/wDG6P8AhdvxD/6GH/ySt/8A43Xv/wDwpL4ef9C9/wCTtx/8co/4Ul8PP+he/wDJ24/+OUAeAf8AC7fiH/0MP/klb/8Axuvo/wCFut6j4j+HGk6tq1x9ovp/O8yXYqbtszqOFAA4AHAr5g+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr6P8Agl/ySHQv+3j/ANKJKAPMPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nev/AAt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FGt/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK6DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTyaANCvnD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTX0fXyB8bf+Sva7/wBu/wD6Tx0AfR/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FdhXn/wAEv+SQ6F/28f8ApRJXmHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mgA+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk16/8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXH+CfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z616homiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NAHgHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK+cPjb/AMle13/t3/8ASeOs/RPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NAH2fXzh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCjW/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FAB8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXkHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8ms/xt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0rv/BPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWgDsPhbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK7CvmDxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0r2/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCgDyD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXr/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FfOHxt/5K9rv/AG7/APpPHXv/AMEv+SQ6F/28f+lElAHmHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muP/AOF2/EP/AKGH/wAkrf8A+N0fG3/kr2u/9u//AKTx16f8Lfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAoA8w/4Xb8Q/8AoYf/ACSt/wD43R/wu34h/wDQw/8Aklb/APxuvf8A/hSXw8/6F7/yduP/AI5R/wAKS+Hn/Qvf+Ttx/wDHKAPAP+F2/EP/AKGH/wAkrf8A+N0f8Lt+If8A0MP/AJJW/wD8br3/AP4Ul8PP+he/8nbj/wCOUf8ACkvh5/0L3/k7cf8AxygDwD/hdvxD/wChh/8AJK3/APjdfR/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FfMHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NfR/wS/5JDoX/AG8f+lElAHoFFFFABRRRQB8gfG3/AJK9rv8A27/+k8de/wDwS/5JDoX/AG8f+lEleAfG3/kr2u/9u/8A6Tx17/8ABL/kkOhf9vH/AKUSUAeYfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya4//AIXb8Q/+hh/8krf/AON0fG3/AJK9rv8A27/+k8def0Aegf8AC7fiH/0MP/klb/8Axuvo/wCFut6j4j+HGk6tq1x9ovp/O8yXYqbtszqOFAA4AHAr4wr6/wDgl/ySHQv+3j/0okoA8A+Nv/JXtd/7d/8A0njr3/4Jf8kh0L/t4/8ASiSvAPjb/wAle13/ALd//SeOvf8A4Jf8kh0L/t4/9KJKAPMPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nev8Awt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FGt/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK8Q8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdKAND4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXX+CfBPh34jeELHxX4r0/8AtDW7/wAz7TdedJFv2SNGvyRsqjCIo4A6Z60eCfBPh34jeELHxX4r0/8AtDW7/wAz7TdedJFv2SNGvyRsqjCIo4A6Z616homiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NABomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NfKHxt/wCSva7/ANu//pPHXYfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya8f1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCgDoNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P8Awt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4Fef/AAt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCuQ8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdKAPb9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV8wfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk1of8Lt+If/Qw/wDklb//ABuuP1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCgDoNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P8Awt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4Fef/AAt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCuQ8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdKAOf+Nv8AyV7Xf+3f/wBJ46z9E+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk1z+t63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgVn0AfT/gnwT4d+I3hCx8V+K9P/tDW7/zPtN150kW/ZI0a/JGyqMIijgDpnrXAeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlcfonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8muf1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCgA1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvq/4Jf8kh0L/t4/9KJK+QK+v/gl/wAkh0L/ALeP/SiSgDwD42/8le13/t3/APSeOvf/AIJf8kh0L/t4/wDSiSvAPjb/AMle13/t3/8ASeOvf/gl/wAkh0L/ALeP/SiSgDzD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXH/8Lt+If/Qw/wDklb//ABuj42/8le13/t3/APSeOvP6APQP+F2/EP8A6GH/AMkrf/43X0f8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXxhX1/8ABL/kkOhf9vH/AKUSUAeAfG3/AJK9rv8A27/+k8de/wDwS/5JDoX/AG8f+lEleAfG3/kr2u/9u/8A6Tx17/8ABL/kkOhf9vH/AKUSUAegUUUUAFFFFAHyB8bf+Sva7/27/wDpPHXv/wAEv+SQ6F/28f8ApRJXgHxt/wCSva7/ANu//pPHXv8A8Ev+SQ6F/wBvH/pRJQB4B8bf+Sva7/27/wDpPHXn9fZ+t/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwKz/+FJfDz/oXv/J24/8AjlAHyBX1/wDBL/kkOhf9vH/pRJR/wpL4ef8AQvf+Ttx/8crsNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA+UPjb/yV7Xf+3f8A9J469/8Agl/ySHQv+3j/ANKJK8A+Nv8AyV7Xf+3f/wBJ469/+CX/ACSHQv8At4/9KJKAPMPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Ndf4J8E+HfiN4QsfFfivT/AO0Nbv8AzPtN150kW/ZI0a/JGyqMIijgDpnrXYa38LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAroNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoANE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrQor5w+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk0Aev638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAr5g+KWiad4c+I+raTpNv8AZ7GDyfLi3s+3dCjHliSeSTya+n/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKNb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgUAfMGifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya9v8E+CfDvxG8IWPivxXp/9oa3f+Z9puvOki37JGjX5I2VRhEUcAdM9a8Q+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr6P+CX/ACSHQv8At4/9KJKAPnD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvX/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4Fega38LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHArxDxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0oAPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSu/8ABPgnw78RvCFj4r8V6f8A2hrd/wCZ9puvOki37JGjX5I2VRhEUcAdM9aPBPgnw78RvCFj4r8V6f8A2hrd/wCZ9puvOki37JGjX5I2VRhEUcAdM9a9Q0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mgDj/+FJfDz/oXv/J24/8AjlfOHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NfZ9cfrfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCgD4wr6P+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgV2H/Ckvh5/wBC9/5O3H/xyvIPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSgD1//hSXw8/6F7/yduP/AI5XYaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTXyh/wu34h/wDQw/8Aklb/APxuvo/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCgD5w+Nv/ACV7Xf8At3/9J469/wDgl/ySHQv+3j/0okrwD42/8le13/t3/wDSeOvf/gl/ySHQv+3j/wBKJKAPAPjb/wAle13/ALd//SeOvP6+z9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgVn/wDCkvh5/wBC9/5O3H/xygD5Ar6/+CX/ACSHQv8At4/9KJKP+FJfDz/oXv8AyduP/jldhomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NAHyh8bf8Akr2u/wDbv/6Tx17/APBL/kkOhf8Abx/6USV4B8bf+Sva7/27/wDpPHXv/wAEv+SQ6F/28f8ApRJQB6BRRRQAUUUUAfIHxt/5K9rv/bv/AOk8dZ+ifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya+n9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgVn/8ACkvh5/0L3/k7cf8AxygDwD/hdvxD/wChh/8AJK3/APjdH/C7fiH/ANDD/wCSVv8A/G69/wD+FJfDz/oXv/J24/8AjlH/AApL4ef9C9/5O3H/AMcoA8A/4Xb8Q/8AoYf/ACSt/wD43R/wu34h/wDQw/8Aklb/APxuvf8A/hSXw8/6F7/yduP/AI5R/wAKS+Hn/Qvf+Ttx/wDHKAPlDW9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK+r/gl/wAkh0L/ALeP/SiSj/hSXw8/6F7/AMnbj/45XYaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB4B8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvnD42/8AJXtd/wC3f/0njrP0T4peMvDmjwaTpOs/Z7GDd5cX2WF9u5ix5ZCTySeTQB6B8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrr/BPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWjwT4J8O/EbwhY+K/Fen/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1r1DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTyaAPnDxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0r2/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCjW/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FdBomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NAHyh8bf8Akr2u/wDbv/6Tx17/APBL/kkOhf8Abx/6USV4B8bf+Sva7/27/wDpPHXv/wAEv+SQ6F/28f8ApRJQB5h8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrr/BPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWuw1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXiHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpQAeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOle3/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgVx/gnwT4d+I3hCx8V+K9P/ALQ1u/8AM+03XnSRb9kjRr8kbKowiKOAOmetcB428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646UAaHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK+QNb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAr6v+CX/JIdC/7eP/SiSgDzD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXX+CfBPh34jeELHxX4r0/8AtDW7/wAz7TdedJFv2SNGvyRsqjCIo4A6Z615B8bf+Sva7/27/wDpPHWfonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mgA+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr6P+CX/JIdC/7eP/AEokrn/BPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWvUNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA+UPjb/yV7Xf+3f/ANJ46z9E+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHArP/4Ul8PP+he/8nbj/wCOUAeAf8Lt+If/AEMP/klb/wDxuj/hdvxD/wChh/8AJK3/APjde/8A/Ckvh5/0L3/k7cf/AByj/hSXw8/6F7/yduP/AI5QB4B/wu34h/8AQw/+SVv/APG6P+F2/EP/AKGH/wAkrf8A+N17/wD8KS+Hn/Qvf+Ttx/8AHKP+FJfDz/oXv/J24/8AjlAHyhret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4FfV/wS/5JDoX/AG8f+lElH/Ckvh5/0L3/AJO3H/xyuw0TRNO8OaPBpOk2/wBnsYN3lxb2fbuYseWJJ5JPJoA0KKKKACiiigAor5w+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk1x/8Awu34h/8AQw/+SVv/APG6APr+ivkD/hdvxD/6GH/ySt//AI3X0f8AC3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAdhXzh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJo+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk11/gnwT4d+I3hCx8V+K9P/tDW7/zPtN150kW/ZI0a/JGyqMIijgDpnrQB5B/wu34h/8AQw/+SVv/APG6+j/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKz/8AhSXw8/6F7/yduP8A45XkHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpQB7frfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCs//hSXw8/6F7/yduP/AI5Wh8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXkHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mgD3/RNE07w5o8Gk6Tb/AGexg3eXFvZ9u5ix5Yknkk8mvAPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Ncf/wu34h/9DD/AOSVv/8AG64/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwKAOw/4Xb8Q/+hh/8krf/wCN0f8AC7fiH/0MP/klb/8AxuvP6+j/AIW/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBQBoeCfBPh34jeELHxX4r0/+0Nbv/M+03XnSRb9kjRr8kbKowiKOAOmeteoaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTRomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NaFAHzh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrx/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK7D42/8le13/t3/wDSeOvP6AOw0T4peMvDmjwaTpOs/Z7GDd5cX2WF9u5ix5ZCTySeTXt/gnwT4d+I3hCx8V+K9P8A7Q1u/wDM+03XnSRb9kjRr8kbKowiKOAOmetZ/wALfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAr2DRNE07w5o8Gk6Tb/AGexg3eXFvZ9u5ix5Yknkk8mgD5A+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr6P+CX/ACSHQv8At4/9KJK0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV0GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0Ac/rfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCvmD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvs+vkD42/8le13/t3/APSeOgD3/wCCX/JIdC/7eP8A0okr0CvjDRPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NfT/wALdb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBQB5B8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCjW/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FeIeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlAGh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvkDW9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK6DRPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NAHoHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK+QNb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAroNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk0AegfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya9f+Fut6j4j+HGk6tq1x9ovp/O8yXYqbtszqOFAA4AHArj/BPgnw78RvCFj4r8V6f/AGhrd/5n2m686SLfskaNfkjZVGERRwB0z1r1DRNE07w5o8Gk6Tb/AGexg3eXFvZ9u5ix5Yknkk8mgDQooooAKKKKAOP1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf8A8KS+Hn/Qvf8Ak7cf/HK9AooA8/8A+FJfDz/oXv8AyduP/jleQeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlaHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muv8ABPgnw78RvCFj4r8V6f8A2hrd/wCZ9puvOki37JGjX5I2VRhEUcAdM9aADwT4J8O/EbwhY+K/Fen/ANoa3f8AmfabrzpIt+yRo1+SNlUYRFHAHTPWvUNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJo0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mvAPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5NAB8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrx/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK+j/AAT4J8O/EbwhY+K/Fen/ANoa3f8AmfabrzpIt+yRo1+SNlUYRFHAHTPWug/4Ul8PP+he/wDJ24/+OUAHwS/5JDoX/bx/6USVoa38LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAroNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrwD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTQB5/wDFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk16/8AC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK0PBPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWvUNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA4/8A4Ul8PP8AoXv/ACduP/jldhomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NeAfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya9f+Fut6j4j+HGk6tq1x9ovp/O8yXYqbtszqOFAA4AHAoA8g+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk1x/wDwu34h/wDQw/8Aklb/APxuvo/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FZ/8AwpL4ef8AQvf+Ttx/8coA5/wT4J8O/EbwhY+K/Fen/wBoa3f+Z9puvOki37JGjX5I2VRhEUcAdM9a6D/hSXw8/wChe/8AJ24/+OV5B428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V7f8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBQB4h428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V7f8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXzh8bf+Sva7/wBu/wD6Tx17/wDBL/kkOhf9vH/pRJQB6BXzh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr6Prj9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgUAHwt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FGt/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK8Q8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdK5/8A4Xb8Q/8AoYf/ACSt/wD43QBn/FLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0aJ8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJrn9b1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHArPoA+z/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKNb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgVn/BL/kkOhf9vH/pRJXoFAHn/wDwpL4ef9C9/wCTtx/8cr5w+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr0D4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXX+CfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z60AfMFfR/wALfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAryD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvo/wCCX/JIdC/7eP8A0okoA7DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya0K+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nev/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAdhRRRQAUUUUAfOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK+cPjb/AMle13/t3/8ASeOvf/gl/wAkh0L/ALeP/SiSgDQ1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXQaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTXgHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muP/4Xb8Q/+hh/8krf/wCN0AfX9cfrfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCj4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvIPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5NAGf428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V7f8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXH+CfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z61wHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpQBofFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya8f1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvo/wT4J8O/EbwhY+K/Fen/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1roP8AhSXw8/6F7/yduP8A45QAfBL/AJJDoX/bx/6USV5h8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrP8AG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSvL9b1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAoANb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAroNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk16/8AC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK8g+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJoA0P+F2/EP/oYf/JK3/8AjdfR/wALdb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXn/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvYNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA5/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FdBomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NaFfOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mgDj/AI2/8le13/t3/wDSeOvf/gl/ySHQv+3j/wBKJK5/wT4J8O/EbwhY+K/Fen/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1rgPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSgDQ+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk1x/wDwu34h/wDQw/8Aklb/APxuuP1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvf8A4W/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBQB4Bret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4FZ9dh8UtE07w58R9W0nSbf7PYweT5cW9n27oUY8sSTySeTXH0AfR/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvIPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTyaNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk1z+t63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgUAdBonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mvp/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvjCvr/4Jf8kh0L/t4/8ASiSgDwD42/8AJXtd/wC3f/0njr3/AOCX/JIdC/7eP/SiStDW/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FdBomiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NAHP638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAroNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrwD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXH/8AC7fiH/0MP/klb/8AxugA+Nv/ACV7Xf8At3/9J469/wDgl/ySHQv+3j/0okr5Q1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvq/4Jf8kh0L/t4/8ASiSgD0CiiigAooooA+QPjb/yV7Xf+3f/ANJ46z9E+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk1ofG3/kr2u/8Abv8A+k8def0AaGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgV7/8AC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK+cK7DRPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NAH1/omiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NfKHxt/5K9rv/AG7/APpPHX0f8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXzh8bf+Sva7/wBu/wD6Tx0AZ+ifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya9v8E+CfDvxG8IWPivxXp/9oa3f+Z9puvOki37JGjX5I2VRhEUcAdM9az/AIW/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBXIeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlAB428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646Vz/wDwu34h/wDQw/8Aklb/APxuuP1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvf8A4W/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBQB4Bret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4Fe//C34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK7D/AIUl8PP+he/8nbj/AOOV2GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0AfOHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpXf8AgnwT4d+I3hCx8V+K9P8A7Q1u/wDM+03XnSRb9kjRr8kbKowiKOAOmeteQfG3/kr2u/8Abv8A+k8dZ+ifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTyaAPr/RNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya8A+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk1x/8Awu34h/8AQw/+SVv/APG64/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwKAOw/4Xb8Q/8AoYf/ACSt/wD43XH63reo+I9Yn1bVrj7RfT7fMl2Km7aoUcKABwAOBXv/AMLfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAryD4paJp3hz4j6tpOk2/wBnsYPJ8uLez7d0KMeWJJ5JPJoA+j/gl/ySHQv+3j/0okrwD42/8le13/t3/wDSeOvf/gl/ySHQv+3j/wBKJK0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgUAfGFdhonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mj4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvX/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FAGh4J8E+HfiN4QsfFfivT/7Q1u/8z7TdedJFv2SNGvyRsqjCIo4A6Z610H/AApL4ef9C9/5O3H/AMcrsNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrQoA+MPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTya9f+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgV6Brfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCug0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mgDj/wDhSXw8/wChe/8AJ24/+OV2GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1oUUAFfOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mj4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXX+CfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z60AfOGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgVn12HxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NcfQB9H/AAt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvYNE0TTvDmjwaTpNv8AZ7GDd5cW9n27mLHliSeSTya+QNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAdhRRRQAUUUUAcfrfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCs/wD4Ul8PP+he/wDJ24/+OV5h8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCgD5g+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJrj69A+Nv/JXtd/7d/8A0njrz+gD6/8Agl/ySHQv+3j/ANKJK0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV8waJ8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJrQ/4Xb8Q/+hh/8krf/wCN0AdB428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V5fret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4FfR/gnwT4d+I3hCx8V+K9P8A7Q1u/wDM+03XnSRb9kjRr8kbKowiKOAOmeteIfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0Aev8Awt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvYNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJr5A0T4peMvDmjwaTpOs/Z7GDd5cX2WF9u5ix5ZCTySeTX0/8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBQB2FFfOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKAPnD42/8le13/t3/APSeOvP6+z9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV8wfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0Aev/AAt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCuw/4Ul8PP8AoXv/ACduP/jlHwS/5JDoX/bx/wClElegUAZ+iaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1z+t/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK8g+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk1x/8Awu34h/8AQw/+SVv/APG6AOg8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdK9v8Ahbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK4/wT4J8O/EbwhY+K/Fen/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1rgPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSgDn/jb/wAle13/ALd//SeOvf8A4Jf8kh0L/t4/9KJK5/wT4J8O/EbwhY+K/Fen/wBoa3f+Z9puvOki37JGjX5I2VRhEUcAdM9a9Q0TRNO8OaPBpOk2/wBnsYN3lxb2fbuYseWJJ5JPJoA0KK+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Ncf/AMLt+If/AEMP/klb/wDxugD6/or5A/4Xb8Q/+hh/8krf/wCN0f8AC7fiH/0MP/klb/8AxugD6/or5A/4Xb8Q/wDoYf8AySt//jdfR/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FAHzh8bf8Akr2u/wDbv/6Tx1n6J8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJr6f1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf8A8KS+Hn/Qvf8Ak7cf/HKAPlDW9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK9/+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgV5B8UtE07w58R9W0nSbf7PYweT5cW9n27oUY8sSTySeTX0f8ABL/kkOhf9vH/AKUSUAfOHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NfR/wAEv+SQ6F/28f8ApRJWhrfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCug0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mgDQooooAKKKKAOP1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXQaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTWhXzh8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJoA4/42/8AJXtd/wC3f/0njr0/4W/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBWh4J8E+HfiN4QsfFfivT/wC0Nbv/ADPtN150kW/ZI0a/JGyqMIijgDpnrXqGiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0Acf/wpL4ef9C9/5O3H/wAcr5w+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr0D4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXX+CfBPh34jeELHxX4r0/+0Nbv/M+03XnSRb9kjRr8kbKowiKOAOmetAHiGifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya5/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK+r/8AhSXw8/6F7/yduP8A45R/wpL4ef8AQvf+Ttx/8coA4/4W/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBXsGiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk184eNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOle3/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAGt/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK6DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya0K+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5NAB8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrx/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwKNb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHArPoA7DRPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NfT/wALdb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXxhX1/wDBL/kkOhf9vH/pRJQB4B8bf+Sva7/27/8ApPHXn9fZ+t/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwKz/APhSXw8/6F7/AMnbj/45QAfBL/kkOhf9vH/pRJXgHxt/5K9rv/bv/wCk8ddB428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V5fret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4FAH1f8Ev+SQ6F/28f+lEleYfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya9P8Agl/ySHQv+3j/ANKJK0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgUAcf4J8E+HfiN4QsfFfivT/7Q1u/8z7TdedJFv2SNGvyRsqjCIo4A6Z614h8UtE07w58R9W0nSbf7PYweT5cW9n27oUY8sSTySeTXYeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOld/4J8E+HfiN4QsfFfivT/7Q1u/8z7TdedJFv2SNGvyRsqjCIo4A6Z60AfMFfR/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCuw/4Ul8PP+he/wDJ24/+OV2GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0Acf/wpL4ef9C9/5O3H/wAcryDxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0rQ+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk14/ret6j4j1ifVtWuPtF9Pt8yXYqbtqhRwoAHAA4FAH1/8AC3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgV5B8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr0/4Jf8kh0L/t4/8ASiSvAPjb/wAle13/ALd//SeOgDj9b1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAr6v+CX/ACSHQv8At4/9KJK+QK+v/gl/ySHQv+3j/wBKJKAPQKK+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nev/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAdhRRRQAUUUUAFfIHxt/5K9rv/AG7/APpPHXYfFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya6/wT4J8O/EbwhY+K/Fen/wBoa3f+Z9puvOki37JGjX5I2VRhEUcAdM9aAPENE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P/AAt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FZ//Ckvh5/0L3/k7cf/AByuw0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mgDn9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV0GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1oV84fFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTyaAD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXr/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4Fcf4J8E+HfiN4QsfFfivT/AO0Nbv8AzPtN150kW/ZI0a/JGyqMIijgDpnrXqGiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0Ac/rfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCvEPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSvp+uP1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBQB84f8Lt+If/Qw/wDklb//ABuuP1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCug+KWiad4c+I+raTpNv8AZ7GDyfLi3s+3dCjHliSeSTya4+gD6P8Ahb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FeQfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0aJ8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJr2/wT4J8O/EbwhY+K/Fen/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1oA+YK+v/AIJf8kh0L/t4/wDSiSj/AIUl8PP+he/8nbj/AOOV5B428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646UAfT9fOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muP/wCF2/EP/oYf/JK3/wDjdev+CfBPh34jeELHxX4r0/8AtDW7/wAz7TdedJFv2SNGvyRsqjCIo4A6Z60AHgnwT4d+I3hCx8V+K9P/ALQ1u/8AM+03XnSRb9kjRr8kbKowiKOAOmeteIfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk19f6JomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTXP638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAoAz/gl/ySHQv+3j/0okr0Cs/RNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya0KAOP1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXQaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTWhRQAV84fFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTyaPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Ndf4J8E+HfiN4QsfFfivT/7Q1u/8z7TdedJFv2SNGvyRsqjCIo4A6Z60AfOGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgV7/APC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK8g+KWiad4c+I+raTpNv9nsYPJ8uLez7d0KMeWJJ5JPJr6P+CX/ACSHQv8At4/9KJKAPIPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSu/wDBPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWvIPjb/wAle13/ALd//SeOvf8A4Jf8kh0L/t4/9KJKAD/hSXw8/wChe/8AJ24/+OV5B428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646VofFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya8f1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCgA1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCvq/4Jf8AJIdC/wC3j/0okrj/AIW/C3wb4j+HGk6tq2jfaL6fzvMl+1TJu2zOo4VwBwAOBXsGiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0AaFFFFABRRRQB8gfG3/kr2u/8Abv8A+k8de/8AwS/5JDoX/bx/6USV4B8bf+Sva7/27/8ApPHXv/wS/wCSQ6F/28f+lElAHmHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKNb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV4h428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646UAfT9cfrfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCvnD/hdvxD/wChh/8AJK3/APjdfR/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FAHiHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpXP8A/C7fiH/0MP8A5JW//wAbr6P1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf8A8KS+Hn/Qvf8Ak7cf/HKAPAP+F2/EP/oYf/JK3/8AjdH/AAu34h/9DD/5JW//AMbrP+KWiad4c+I+raTpNv8AZ7GDyfLi3s+3dCjHliSeSTya9f8Ahb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FAHgGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgV7/APC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK7D/hSXw8/6F7/yduP/AI5XYaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB8gfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0aJ8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJr6f1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf/wAKS+Hn/Qvf+Ttx/wDHKAPAP+F2/EP/AKGH/wAkrf8A+N16/wCCfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z614h8UtE07w58R9W0nSbf7PYweT5cW9n27oUY8sSTySeTRonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mgA+KWiad4c+I+raTpNv8AZ7GDyfLi3s+3dCjHliSeSTya+j/gl/ySHQv+3j/0okrn/BPgnw78RvCFj4r8V6f/AGhrd/5n2m686SLfskaNfkjZVGERRwB0z1rgPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSgDQ+KXxS8ZeHPiPq2k6TrP2exg8ny4vssL7d0KMeWQk8knk16/8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXH+CfBPh34jeELHxX4r0/wDtDW7/AMz7TdedJFv2SNGvyRsqjCIo4A6Z61wHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpQBofFL4peMvDnxH1bSdJ1n7PYweT5cX2WF9u6FGPLISeSTya4/8A4Xb8Q/8AoYf/ACSt/wD43XH63reo+I9Yn1bVrj7RfT7fMl2Km7aoUcKABwAOBXv/AMLfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAoA9A+Fut6j4j+HGk6tq1x9ovp/O8yXYqbtszqOFAA4AHArsKz9E0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrQoA4/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FeIeNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlaHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muv8ABPgnw78RvCFj4r8V6f8A2hrd/wCZ9puvOki37JGjX5I2VRhEUcAdM9aAPnDW9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK+r/AIJf8kh0L/t4/wDSiSvnD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvo/wCCX/JIdC/7eP8A0okoA0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV0GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1oUUAfIHxt/5K9rv/AG7/APpPHXp/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvMPjb/yV7Xf+3f8A9J469/8Agl/ySHQv+3j/ANKJKAOw0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mtCvnD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXr/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FAHYUUUUAFFFFAHyB8bf8Akr2u/wDbv/6Tx1n6J8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJr6f1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf8A8KS+Hn/Qvf8Ak7cf/HKAND4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvnD42/wDJXtd/7d//AEnjr6v0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8muf1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBQB5/8Lfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHArkPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSvo/RNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya5/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FAHzh/wu34h/8AQw/+SVv/APG6+j/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKz/8AhSXw8/6F7/yduP8A45XYaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB8ofG3/kr2u/9u/8A6Tx1n6J8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJrQ+Nv/ACV7Xf8At3/9J469P+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgUAeYf8AC7fiH/0MP/klb/8Axuj/AIXb8Q/+hh/8krf/AON17/8A8KS+Hn/Qvf8Ak7cf/HK+cPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTyaAND/hdvxD/wChh/8AJK3/APjdH/C7fiH/ANDD/wCSVv8A/G69P+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgV2H/Ckvh5/0L3/k7cf/ABygDn/BPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWvEPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTya+v9E0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJrn9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgUAZ/wS/wCSQ6F/28f+lEleAfG3/kr2u/8Abv8A+k8ddB428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V3/gnwT4d+I3hCx8V+K9P/ALQ1u/8AM+03XnSRb9kjRr8kbKowiKOAOmetAHiGifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya5/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK6D4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvX/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FAHzhXYaJ8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJr6P/4Ul8PP+he/8nbj/wCOV84fFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0AaH/C7fiH/0MP8A5JW//wAbo/4Xb8Q/+hh/8krf/wCN16f8Lfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAryD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mgDn9b1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAroNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk1x9fR/wALfhb4N8R/DjSdW1bRvtF9P53mS/apk3bZnUcK4A4AHAoA8A1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCug0T4peMvDmjwaTpOs/Z7GDd5cX2WF9u5ix5ZCTySeTX0f8A8KS+Hn/Qvf8Ak7cf/HKP+FJfDz/oXv8AyduP/jlAHgH/AAu34h/9DD/5JW//AMbr6P8Ahbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwK+YPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTyaNE+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk0AfT+t/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwK6DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya+UP+F2/EP/oYf/JK3/8AjdH/AAu34h/9DD/5JW//AMboAPjb/wAle13/ALd//SeOvf8A4Jf8kh0L/t4/9KJK+UNb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAr6v+CX/JIdC/7eP/AEokoA9AooooAKKKKAPnD4pfFLxl4c+I+raTpOs/Z7GDyfLi+ywvt3Qox5ZCTySeTXH/APC7fiH/ANDD/wCSVv8A/G6Pjb/yV7Xf+3f/ANJ469P+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgUAeYf8Lt+If8A0MP/AJJW/wD8bo/4Xb8Q/wDoYf8AySt//jde/wD/AApL4ef9C9/5O3H/AMco/wCFJfDz/oXv/J24/wDjlAHgH/C7fiH/ANDD/wCSVv8A/G6P+F2/EP8A6GH/AMkrf/43Xv8A/wAKS+Hn/Qvf+Ttx/wDHKP8AhSXw8/6F7/yduP8A45QB4B/wu34h/wDQw/8Aklb/APxuvo/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvmD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvo/4Jf8AJIdC/wC3j/0okoA0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV0GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk14B8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr1/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCgDsK+QPjb/yV7Xf+3f8A9J46+v6+QPjb/wAle13/ALd//SeOgD3/AOCX/JIdC/7eP/SiSvMPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nef6J8UvGXhzR4NJ0nWfs9jBu8uL7LC+3cxY8shJ5JPJrn9b1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA4AHAoA7D/AIXb8Q/+hh/8krf/AON0f8Lt+If/AEMP/klb/wDxuvP6KAPp/wAE+CfDvxG8IWPivxXp/wDaGt3/AJn2m686SLfskaNfkjZVGERRwB0z1r1DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya4/4Jf8kh0L/t4/9KJK9AoA+QPjb/yV7Xf+3f8A9J46z9E+KXjLw5o8Gk6TrP2exg3eXF9lhfbuYseWQk8knk19P638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAr5g+KWiad4c+I+raTpNv8AZ7GDyfLi3s+3dCjHliSeSTyaAPp/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCjW/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FZ/wAEv+SQ6F/28f8ApRJXmHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mgDP8beNvEXw58X33hTwpqH9n6JYeX9mtfJjl2b41kb55FZjl3Y8k9cdK8v1vW9R8R6xPq2rXH2i+n2+ZLsVN21Qo4UADgAcCjW9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK9/+Fvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgUAfOFfX/wS/5JDoX/AG8f+lElfOHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NfR/wS/5JDoX/AG8f+lElAHmHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvX/hbreo+I/hxpOratcfaL6fzvMl2Km7bM6jhQAOABwKNb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV0GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk0AfKHxt/wCSva7/ANu//pPHXp/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCvMPjb/wAle13/ALd//SeOvf8A4Jf8kh0L/t4/9KJKAPnD4paJp3hz4j6tpOk2/wBnsYPJ8uLez7d0KMeWJJ5JPJr1/wCFvwt8G+I/hxpOrato32i+n87zJftUybtszqOFcAcADgV5h8bf+Sva7/27/wDpPHWfonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mgD6P/4Ul8PP+he/8nbj/wCOV2GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1z/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FdhQAUUUUAFFFFAHyB8bf+Sva7/27/wDpPHXv/wAEv+SQ6F/28f8ApRJXgHxt/wCSva7/ANu//pPHXv8A8Ev+SQ6F/wBvH/pRJQB5h8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJrj/APhdvxD/AOhh/wDJK3/+N0fG3/kr2u/9u/8A6Tx15/QB6B/wu34h/wDQw/8Aklb/APxuvo/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCvjCvr/4Jf8kh0L/t4/8ASiSgDwD42/8AJXtd/wC3f/0njr3/AOCX/JIdC/7eP/SiSvAPjb/yV7Xf+3f/ANJ469/+CX/JIdC/7eP/AEokoA0Nb+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV4h428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646V9P1x+t/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwKAPnD/hdvxD/wChh/8AJK3/APjdev8AgnwT4d+I3hCx8V+K9P8A7Q1u/wDM+03XnSRb9kjRr8kbKowiKOAOmetdB/wpL4ef9C9/5O3H/wAcrsNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA+QPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTya4+vs/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FZ/8AwpL4ef8AQvf+Ttx/8coA+QK+j/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4Fdh/wAKS+Hn/Qvf+Ttx/wDHK7DRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTyaADRNE07w5o8Gk6Tb/Z7GDd5cW9n27mLHliSeSTya0K+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5Nev/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUAdhXH638LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHArsKKAPmDxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmOXdjyT1x0ry/W9b1HxHrE+ratcfaL6fb5kuxU3bVCjhQAOABwK7D42/8AJXtd/wC3f/0njrz+gAr6/wDgl/ySHQv+3j/0okrj/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4FewaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB8ofG3/kr2u/8Abv8A+k8dZ+ifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya+n9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgV8wfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0AaH/C7fiH/wBDD/5JW/8A8bo/4Xb8Q/8AoYf/ACSt/wD43Xp/wt+Fvg3xH8ONJ1bVtG+0X0/neZL9qmTdtmdRwrgDgAcCuw/4Ul8PP+he/wDJ24/+OUAfKGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgV0GifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTyaPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTya4+gD6f8E+CfDvxG8IWPivxXp/8AaGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWvEPilomneHPiPq2k6Tb/Z7GDyfLi3s+3dCjHliSeSTya+j/AIJf8kh0L/t4/wDSiSvAPjb/AMle13/t3/8ASeOgD3/4Jf8AJIdC/wC3j/0okr0CvP8A4Jf8kh0L/t4/9KJK9AoAKKKKACiiigD5A+Nv/JXtd/7d/wD0njr3/wCCX/JIdC/7eP8A0okrwD42/wDJXtd/7d//AEnjr3/4Jf8AJIdC/wC3j/0okoA8A+Nv/JXtd/7d/wD0njrz+vs/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FZ//AApL4ef9C9/5O3H/AMcoA+QK+v8A4Jf8kh0L/t4/9KJKP+FJfDz/AKF7/wAnbj/45XYaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB8ofG3/kr2u/8Abv8A+k8de/8AwS/5JDoX/bx/6USV4B8bf+Sva7/27/8ApPHXv/wS/wCSQ6F/28f+lElAHoFfOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvo+uP1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBQB84f8Lt+If/AEMP/klb/wDxuvo/4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCs//AIUl8PP+he/8nbj/AOOV5B428beIvhz4vvvCnhTUP7P0Sw8v7Na+THLs3xrI3zyKzHLux5J646UAfT9fOHxS+KXjLw58R9W0nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8muP/wCF2/EP/oYf/JK3/wDjdev+CfBPh34jeELHxX4r0/8AtDW7/wAz7TdedJFv2SNGvyRsqjCIo4A6Z60Adh8Ldb1HxH8ONJ1bVrj7RfT+d5kuxU3bZnUcKABwAOBXYV8weNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlc//AMLt+If/AEMP/klb/wDxugD6P1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXiHjbxt4i+HPi++8KeFNQ/s/RLDy/s1r5McuzfGsjfPIrMcu7HknrjpXP/APC7fiH/ANDD/wCSVv8A/G69f8E+CfDvxG8IWPivxXp/9oa3f+Z9puvOki37JGjX5I2VRhEUcAdM9aAPIP8AhdvxD/6GH/ySt/8A43R/wu34h/8AQw/+SVv/APG69/8A+FJfDz/oXv8AyduP/jlfOHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NAHP63reo+I9Yn1bVrj7RfT7fMl2Km7aoUcKABwAOBWfRRQB9f/BL/AJJDoX/bx/6USV5h8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oUY8shJ5JPJr0/4Jf8AJIdC/wC3j/0okrwD42/8le13/t3/APSeOgA/4Xb8Q/8AoYf/ACSt/wD43Xr/AIJ8E+HfiN4QsfFfivT/AO0Nbv8AzPtN150kW/ZI0a/JGyqMIijgDpnrWf8AC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK9g0TRNO8OaPBpOk2/wBnsYN3lxb2fbuYseWJJ5JPJoANE0TTvDmjwaTpNv8AZ7GDd5cW9n27mLHliSeSTya0KK+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5NAHH/G3/AJK9rv8A27/+k8def1oa3reo+I9Yn1bVrj7RfT7fMl2Km7aoUcKABwAOBWfQB9f/AAS/5JDoX/bx/wClEleAfG3/AJK9rv8A27/+k8de/wDwS/5JDoX/AG8f+lElaGt/C3wb4j1ifVtW0b7RfT7fMl+1TJu2qFHCuAOABwKAPmDRPil4y8OaPBpOk6z9nsYN3lxfZYX27mLHlkJPJJ5NfT/wt1vUfEfw40nVtWuPtF9P53mS7FTdtmdRwoAHAA4FZ/8AwpL4ef8AQvf+Ttx/8crsNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA0KKKKACiiigD5A+Nv/JXtd/7d/8A0njrP0T4peMvDmjwaTpOs/Z7GDd5cX2WF9u5ix5ZCTySeTX0/rfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCs//hSXw8/6F7/yduP/AI5QB4B/wu34h/8AQw/+SVv/APG6P+F2/EP/AKGH/wAkrf8A+N17/wD8KS+Hn/Qvf+Ttx/8AHKP+FJfDz/oXv/J24/8AjlAHgH/C7fiH/wBDD/5JW/8A8bo/4Xb8Q/8AoYf/ACSt/wD43Xv/APwpL4ef9C9/5O3H/wAco/4Ul8PP+he/8nbj/wCOUAfKGt63qPiPWJ9W1a4+0X0+3zJdipu2qFHCgAcADgV9X/BL/kkOhf8Abx/6USUf8KS+Hn/Qvf8Ak7cf/HK7DRNE07w5o8Gk6Tb/AGexg3eXFvZ9u5ix5Yknkk8mgDQooooA+cPil8UvGXhz4j6tpOk6z9nsYPJ8uL7LC+3dCjHlkJPJJ5NeP63reo+I9Yn1bVrj7RfT7fMl2Km7aoUcKABwAOBX1/rfwt8G+I9Yn1bVtG+0X0+3zJftUybtqhRwrgDgAcCs/wD4Ul8PP+he/wDJ24/+OUAfIFdhonxS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mvo//hSXw8/6F7/yduP/AI5R/wAKS+Hn/Qvf+Ttx/wDHKAOf8E+CfDvxG8IWPivxXp/9oa3f+Z9puvOki37JGjX5I2VRhEUcAdM9a6D/AIUl8PP+he/8nbj/AOOV2GiaJp3hzR4NJ0m3+z2MG7y4t7Pt3MWPLEk8knk1oUAfGHxS0TTvDnxH1bSdJt/s9jB5Plxb2fbuhRjyxJPJJ5NGifFLxl4c0eDSdJ1n7PYwbvLi+ywvt3MWPLISeSTya+n9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgVn/8KS+Hn/Qvf+Ttx/8AHKAPAP8AhdvxD/6GH/ySt/8A43Xr/gnwT4d+I3hCx8V+K9P/ALQ1u/8AM+03XnSRb9kjRr8kbKowiKOAOmetdB/wpL4ef9C9/wCTtx/8crsNE0TTvDmjwaTpNv8AZ7GDd5cW9n27mLHliSeSTyaAPkD4paJp3hz4j6tpOk2/2exg8ny4t7Pt3Qox5Yknkk8mvX/hb8LfBviP4caTq2raN9ovp/O8yX7VMm7bM6jhXAHAA4Fega38LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAroNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA+cPG3jbxF8OfF994U8Kah/Z+iWHl/ZrXyY5dm+NZG+eRWY5d2PJPXHSu/wDBPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo1+SNlUYRFHAHTPWuw1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXQaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB84eNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOle3/C3W9R8R/DjSdW1a4+0X0/neZLsVN22Z1HCgAcADgUa38LfBviPWJ9W1bRvtF9Pt8yX7VMm7aoUcK4A4AHAroNE0TTvDmjwaTpNv9nsYN3lxb2fbuYseWJJ5JPJoA0K4/W/hb4N8R6xPq2raN9ovp9vmS/apk3bVCjhXAHAA4FdhRQB8YfFLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk16/8AC34W+DfEfw40nVtW0b7RfT+d5kv2qZN22Z1HCuAOABwK9A1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBXQaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sSTySeTQB84eNvG3iL4c+L77wp4U1D+z9EsPL+zWvkxy7N8ayN88isxy7seSeuOlc/8A8Lt+If8A0MP/AJJW/wD8br6P1v4W+DfEesT6tq2jfaL6fb5kv2qZN21Qo4VwBwAOBWf/AMKS+Hn/AEL3/k7cf/HKAND4W63qPiP4caTq2rXH2i+n87zJdipu2zOo4UADgAcCuwrP0TRNO8OaPBpOk2/2exg3eXFvZ9u5ix5Yknkk8mtCgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//Z";
        String logoImage = "iVBORw0KGgoAAAANSUhEUgAAAHi0VE8bfIZ2DdP2d3+";

        // 移除Base64的头部信息(如果有的话,例如"data:image/png;base64,")测试数据没有前缀 可以删除
        base64ImageString = base64ImageString.replaceFirst("data:image/(png|jpeg|jpg);base64,", "");
        logoImage = logoImage.replaceFirst("data:image/(png|jpeg|jpg);base64,", "");

        // 解码Base64字符串为字节数组
        byte[] imageBytes = java.util.Base64.getDecoder().decode(base64ImageString);
        byte[] logoBytes = java.util.Base64.getDecoder().decode(logoImage);

        try (ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes)) {
            // 将字节数组转换为BufferedImage
            BufferedImage overlayImage = ImageIO.read(bis);

            ByteArrayInputStream logoBis = new ByteArrayInputStream(logoBytes);
            BufferedImage logoBufferImage = ImageIO.read(logoBis);

            // 加载或创建一个背景图片(这里我们创建一个新的)
            BufferedImage backgroundImage = new BufferedImage(406, 574, BufferedImage.TYPE_INT_RGB);
            Graphics2D g2d = backgroundImage.createGraphics();

            // 填充背景图片为某种颜色(可选)
            g2d.setColor(Color.WHITE);
            g2d.fillRect(0, 0, backgroundImage.getWidth(), backgroundImage.getHeight());

            // 设置字体和样式
            Font font = new Font("Microsoft YaHei", Font.BOLD, 24); // 使用你想要的字体、样式和大小
            g2d.setFont(font);
            // 设置文本内容
            String text = "御湖社区一体化管理平台";
            // 获取文本的宽度和高度
            FontRenderContext frc = g2d.getFontRenderContext();
            Rectangle2D textBounds = font.getStringBounds(text, frc).getBounds2D();
            // 在图片上绘制文本
            int centerX = (backgroundImage.getWidth() - (int) textBounds.getWidth()) / 2;
            g2d.setColor(Color.BLACK);
            g2d.drawString(text, centerX, 106);
            Font font1 = new Font("Microsoft YaHei", Font.PLAIN, 14); // 使用你想要的字体、样式和大小
            g2d.setFont(font1);
            g2d.drawString("巡检点位1", 150, 466);

            // 获取FontMetrics以计算文本宽度
            FontMetrics fm = g2d.getFontMetrics(font);
            // 设置每行的最大宽度
            int maxWidth = 320;
            String text1 = "楼梯转角入口处楼梯转角入口处楼梯转角入口处";
            StringBuilder sb = new StringBuilder();

            // 绘制文本的起始位置 自动换行
            int x = 150;
            int y = 502;
            for (int i = 0; i < text1.length(); i++) {
                char c = text1.charAt(i);
                String temp = sb.append(c).toString();

                // 计算当前行的文本宽度
                Rectangle2D bounds = font.getStringBounds(temp, g2d.getFontRenderContext());
                double width = bounds.getWidth();

                // 如果当前行的文本宽度超过了最大宽度,则绘制当前行并开始新的一行
                if (width > maxWidth) {
                    // 回退一个字符(因为当前字符导致了换行)
                    sb.setLength(sb.length() - 1);

                    // 绘制当前行的文本
                    g2d.drawString(sb.toString(), x, y);

                    // 更新y坐标以开始新的一行
                    y += fm.getHeight();

                    // 重置StringBuilder以存储下一行的文本
                    sb.setLength(0);
                    sb.append(c);
                }

                // 如果当前字符是换行符,则直接绘制并开始新的一行
                if (c == '\n') {
                    g2d.drawString(sb.toString(), x, y);
                    y += fm.getHeight();
                    sb.setLength(0);
                }
            }

            // 绘制最后一行文本(如果有剩余的话)
            if (sb.length() > 0) {
                g2d.drawString(sb.toString(), x, y);
            }


            // 在背景图片上绘制Base64解码后的图片(例如,作为水印)
            // 你可以调整x和y坐标、alpha透明度等来达到你想要的效果
            int x1 = (backgroundImage.getWidth() - overlayImage.getWidth()) / 2;
            int y1 = (backgroundImage.getHeight() - overlayImage.getHeight()) / 2;
            g2d.drawImage(overlayImage, x1, y1, null);
            g2d.drawImage(logoBufferImage, 17, 20, null);

            g2d.setColor(Color.GRAY);
            g2d.drawString("点位名称:", 71, 466);
            g2d.drawString("位置描述:", 71, 502);

            // 释放Graphics2D资源
            g2d.dispose();

            // 指定导出位置,例如 "D:/path/to/output/image.png"
            String exportPath = "D:/path/to/output/image.png";
            File outputFile = new File(exportPath);

            // 将合并后的图片写入文件
            ImageIO.write(backgroundImage, "png", outputFile);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

导出效果
请添加图片描述
logo的数组我删了一部分,二维码的可以直接用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1867847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考研数学(4/9):微分方程

微分方程 微分方程是高等数学中一个重要的分支&#xff0c;也是考研数学数一中必考的内容。本章主要介绍微分方程的概念、一阶微分方程、高阶线性微分方程以及微分方程的应用。 1. 微分方程的概念 1.1 微分方程的定义 微分方程 是指包含未知函数及其导数的方程。 更准确地说&am…

【数学建模】——【python库】——【Pandas学习】

专栏&#xff1a;数学建模学习笔记 pycharm专业版免费激活教程见资源&#xff0c;私信我给你发 python相关库的安装&#xff1a;pandas,numpy,matplotlib&#xff0c;statsmodels 总篇&#xff1a;【数学建模】—【新手小白到国奖选手】—【学习路线】 第一卷&#xff1a;【数学…

老板电器 45 年的烹饪经验,浓缩在这款烹饪大模型中

在科技不断进步的时代&#xff0c;人工智能&#xff08;AI&#xff09;迅速成为推动各行各业发展的重要力量。家电行业也不例外&#xff0c;根据 Gartner 的报告预测&#xff0c;到 2024 年&#xff0c;AI 家电市场的规模将达到万亿美元级别。这一预估凸显了智能化在家电行业中…

大猫咪守护LoRA:定制你的大猫私人大猫咪宠物写真合影,某音某书流行款

&#x1f339;大家好&#xff01;我是安琪&#xff01;感谢大家的支持与鼓励。 大猫咪LoRA模型简介 今天应群里同学大猫咪宠物合影写真提议&#xff0c;为大家介绍一款来自作者 沐沐人像合成的主题为大猫咪守护的LoRAl模型&#xff1a;沐沐-大猫咪。这是一款当下在某音、某书…

python-docx 使用xml为docx不同的章节段落设置不同字体

本文目录 前言一、完整代码二、代码详细解析1、处理过程解释(1) 引入库并定义路径(2) 创建docx的备份文件(3) 定义命名空间(4) 打开并处理.docx文件(5) 分析和组织文档结构(6) 设置字体(7) 保存结果前言 本文主要解决的内容,就是为一个docx的不同章节段落设置不同的字体,因为…

【Week-G1】调用官方GAN实现MNIST数字识别,Pytorch框架

文章目录 1. 准备数据1.1 配置超参数1.2 下载数据1.3 配置数据 2. 创建模型2.1 定义鉴别器2.2 定义生成器 3. 训练模型3.1 创建实例3.2 开始训练3.3 保存模型 4. 什么是GAN&#xff08;对抗生成网络&#xff09;? &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学…

追求准确,还是追求举一反三,聊天机器人智能程度的困境 | Chatopera

在为企业客户上线聊天机器人客服的过程中&#xff0c;总会遇到一个问题&#xff0c;这让用户和我们都感到纠结。 到底是追求让机器人能准确的回答问题&#xff0c;还是让机器人可以举一反三的回答问题。 准确的回答问题&#xff0c;就是不容许回答错了&#xff0c;但是这样机…

windows中使用anaconda管理python版本

anaconda下载 python的版本问题实在是很大,版本低了高了都会影响脚本的执行,anaconda工具为此而生,不管是在windows下还是linux下,Anaconda的命令跟操作逻辑都是相同的,窥一斑而知全豹,本文在windows下示例如何使用anaconda anaconda的逻辑就是 他是一个全局的管理者,能创建工…

在Ubuntu中使用ROS搭建PX4 Gazebo 模拟飞行 四旋翼 固定翼

综合了网上很多教程以及踩了很多坑总结下来的教程 Ubuntu安装 此处不在详细说明&#xff0c;网上可随处搜到 ROS安装 感谢鱼香ROS大佬提供一键安装脚本 wget http://fishros.com/install -O fishros && sudo bash fishros 接下来按顺序按 1 1 2 3 1 再次运行 w…

红酒哲学:品味流转时光,探寻生活之深邃奥秘

在繁华的都市中&#xff0c;我们时常被各种声音和色彩所包围&#xff0c;追求着速度与激情。然而&#xff0c;在这喧嚣之中&#xff0c;总有那么一刻&#xff0c;我们渴望静下心来&#xff0c;品味一份不同的宁静与深度。这时&#xff0c;一杯雷盛红酒便成了我们与内心对话的桥…

太赞了!SD AI绘画,热门青衫映雪写真制作,一键出片,轻松复刻!【内含相关模型及ComfyUI工作流】

hello&#xff0c;大家好我是安琪&#xff01; 今天安琪给大家带来了一篇关于写真制作&#xff0c;我通过SD WebUI进行本次青衫映雪主题的写真制作。(相关内容文末可自行扫描获取) 准备工作&#xff1a; 1.大模型准备真人写实大模型&#xff0c;我这里使用了TQing v3.4 2.…

Radxa 学习摘录

文章目录 一、参考资料二、硬件知识 一、参考资料 技术论坛&#xff08;推荐&#xff09; 官方资料下载 wiki资料 u-boot 文档 u-boot 源码 内核文档 内核源码 原理图 二、硬件知识 Radxa 3B 主板概览 MIPI接口 MIPI CSI&#xff08;Camera Serial Interface&#xff09;…

【前端】HTML+CSS复习记录【2】

文章目录 前言一、img&#xff08;图片标签&#xff09;二、a&#xff08;链接标签&#xff09;三、ul&#xff08;无序列表&#xff09;四、ol&#xff08;有序列表&#xff09;系列文章目录 前言 长时间未使用HTML编程&#xff0c;前端知识感觉忘得差不多了。通过梳理知识点…

智慧园区大数据云平台建设方案(Word原件)

第一章 项目建设背景及现状 第二章 园区创新发展趋势 第三章 工业园区大数据存在的问题 第四章 智慧工业园区大数据建设目的 第五章 智慧园区总体构架 第六章 系统核心组件 第七章 智慧工业园区大数据平台规划设计 获取方式&#xff1a;本文末个人名片直接获取。 软件资料清单…

文本生成sql模型(PipableAI/pip-sql-1.3b)

安装环境 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install transformers 代码 question "What are the email address, town and county of the customers who are of the least common gender?"sc…

three.js - MeshStandardMaterial(标准网格材质)- 金属贴图、粗糙贴图

金属贴图、粗糙贴图 金属贴图&#xff1a;metalnessMap 和 粗糙贴图&#xff1a;roughnessMap&#xff0c;是用于模拟物体表面属性的两种重要贴图技术&#xff0c;这两种贴图&#xff0c;通常与基于物理的渲染&#xff08;PBR&#xff09;材质&#xff08;如&#xff1a;MeshSt…

linux进程是什么?

进程概念 进程Process是指计算机中已运行的程序&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;是操作系统结构的基础。 在早期面向进程设计的计算机结构中&#xff0c;进程是程序的基本执行实体。在当代面向线程设计的计算机结构中&#xff0c;进程是线程的容器…

K210视觉识别模块学习笔记6: 识别苹果_图形化操作函数_

今日开始学习K210视觉识别模块: 图形化操作函数 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 训练网站: 嘉楠开发者社区 今日学习如何在识别到目标的时候添加图形化操作:(获取坐标、框出目标等) 在识别苹果的基础上 学习与添加 这些操…

docker配置国内镜像加速器

1、搜索阿里云 2、搜索容器镜像服务 点击管理控制台 配置镜像加速器

鸿蒙NEXT开发:工具常用命令—install

安装三方库。 命令格式 ohpm install [options] [[<group>/]<pkg>[<version> | tag:<tag>]] ... ohpm install [options] <folder> ohpm install [options] <har file> alias: i 说明 group&#xff1a;三方库的命名空间&#xff0c;可…