Version 3.6.0-165.0.dev
Merge a76ff6b2cf60f3c51e37bb9c008547f15bbe2466 into dev
diff --git a/docs/assets/Dart-platforms.svg b/docs/assets/Dart-platforms.svg
index c7a51e7..43b4b49 100644
--- a/docs/assets/Dart-platforms.svg
+++ b/docs/assets/Dart-platforms.svg
@@ -1 +1,120 @@
-<svg version="1.1" viewBox="0.0 0.0 960.0 540.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="g6d68e641dc_0_1.0"><path d="m0 0l960.0 0l0 540.0l-960.0 0l0 -540.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#g6d68e641dc_0_1.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l960.0 0l0 540.0l-960.0 0z" fill-rule="evenodd"/><path fill="#02589b" d="m652.59845 259.60638l8.637756 0l0 -51.974l17.275635 0l0 51.974l8.637756 0l-17.275574 17.275604z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m666.2913 259.60638l8.637817 0l0 -51.974l17.275574 0l0 51.974l8.637817 0l-17.275574 17.275604z" fill-rule="evenodd"/><path fill="#02589b" d="m268.1916 253.70514l8.637817 0l0 -46.72441l17.275574 0l0 46.72441l8.637787 0l-17.275574 17.275604z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m745.3294 282.3773l72.0 0l0 72.0l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.375 745.3293963254594 282.3772992125984)"><clipPath id="g6d68e641dc_0_1.1"><path d="m0 -1.1368684E-13l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.1)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAEWElEQVR4Xu3dTW4dVRRF4dsKQSQjQEIKdg+JDIMRJAqToYlwJPpGzjwYgqV0gmkxAYis8I8D2PyE6tBZF5+qevvypHLWt/r7leoksYOQ05okSZIkSZIkSZIkSZIkSZIkSXo93W0ftpP2tH3brtqr17yr9mJ6Eyft0fRW9uKwPWm/do9hr9rL6c0c8nWNdbsd+Wu+7Ko9nt7S/+Re+6L7QOs7awd8dSO8177pPsr+u/N2n68v9U77uvsYu77zsb8Lbk1f5/kRVnc28mvBR928zXfE17irt9tv3bjNdzXqj6FPu2lb1glf5S5uTX/f5bAt66Ld4etc74Nu1pb3kK9zvU+6UVveMV/nep93o7a8U77O9b7qRm1553yd6/kfIJIu+TrX83ugrNh33aStKeYBsmIeICvmAbJi33eTtqaYB8iKeYCsmAfIinmArNgP3aStKeYBsmIeICvmAbJiHiAr9mM3aWuKeYCsmAfIinmArJgHyIr91E3ammIeICvmAbJiHiArNneArRn9/NxjsZ+7ycEfsGejn597LOYBatxjMQ9Q4x6LeYAa91jsl25y8Afs2ejn5x6LeYAa91jMA9S4x2IeoMY9FvMANe6x2EU3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WOxlNzn4A/Zs9PNzj8U8QI17LOYBatxjMQ9Q4x6LeYAa91hs7scUb83o5+cei3mAGvdYzAPUuMdiHqDGPRbzADXusdjcD23dmtHPzz0W8wA17rGYB6hxj8U8QI17LPZ7Nzn4A/Zs9PNzj8U8QI17LOYBatxjsbkDbL0U91jMA9S4x2KX3eTNKsU9FvMANe6xmAeocY/FPECNeyzmAWrcY7Gb/o93prjHYnMH2JrRz889FvMANe6xmAeocY/FPECNeyz2Rzc5+AP2bPTzc4/FPECNeyzmAWrcYzEPUOMei3mAGvdY7M9ucvAH7Nno5+cei3mAGvdYzAPUuMdiHqDGPRb7q5sc/AF7Nvr5ucdiHqDGPRbzADXusZgHqHGPxTxAjXss9nc3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WGzuf861qku+zvVedKO2vHO+zvWedqO2vFO+zvVOulFb3jFf53qPulFb3gO+zvXuzv7sXLuui/YWX+cunnTDtqzP+Cp3c+i3ojt12d7lq9zV427c5vuYr3F3b7Yvu3mre9be4GtMHEx/peBH2PU9b/f4ClP3PcHinrf3+fpGOGhn3UdZ37Pxv/r/dbsd+R1R2eX0pXfon/29g3Yy+2+LvZ5dTN/3D/vGs3anPWzH7XT6qnDTf5zTfJfTWzid3saDMX/rlSRJkiRJkiRJkiRJkiRJkiRJ2/MPBUHxvBiv7XcAAAAASUVORK5CYII="/></g><path fill="#000000" fill-opacity="0.0" d="m148.45013 282.3773l72.0 0l0 71.997375l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.3749863517060367 148.4501312335958 282.3772992125984)"><clipPath id="g6d68e641dc_0_1.2"><path d="m1.1368684E-13 -1.1368684E-13l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.2)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g><path fill="#000000" fill-opacity="0.0" d="m531.97107 282.3773l72.0 0l0 72.0l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.375 531.9710559055118 282.3772992125984)"><clipPath id="g6d68e641dc_0_1.3"><path d="m0 -1.1368684E-13l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.3)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAESUlEQVR4Xu2dzWqdVRRANwjSltaZE3EgpK3D4hv4EFLaB/EBFBy0dG7hlj6D7+AgmFnEF6gTTRN/m7TNrVqvA5G9jrbfuffbH8hZa80Oh/2FtcnNTTK4ESIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMiZX4nas4iBOYh0vB3cdx5sSq7i1qbII1+NhPG2+DH0ZZ/EgrjLXvFyMe/GiebD+4zruxgVmm4tr8U3zQG09jD2mm4MP4nHzKP13j+IG8+3KNfN3eTTvd8ElX3y6PZzzZ8G9Zry+3jvMuC3Xfeezleu5XoYeNqN1mium3Ia3/LVra0/jMnP2c7sZq9O9yZz9rJqhOt37zNnPQTNUp7vPnP2cNEN1ukfM2Y9/cN7Fc+bshyPp6LAH3RkOpKPDHnRnOJCODnvQneFAOjrskf2D1/vhSDo67JF1AeWwR9YFlMMe2d95vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2N17vhyPp6LBH1gWUwx5ZF1AOe2Rf8Ho/HElHhz2yLqAc9si6gHLYI7vm9X44ko4Oe2RdQDnskXUB5bBH1gWUwx5Z/ylfDntkXUA57JF1AeWwR/Y5r/fDkXR02CPrAsphj6wLKIc9ss94vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2Ka/3w5F0dNgj6wLKYY+sCyiHPbJnvN4PR9LRYY+sCyiHPbIuoBz2yJ7yej8cSUeHPbIuoBz2yLqActgj6wLKYY/sE17vhyPp6LBH1gWUwx5ZF1AOe2R/5fV+OJKODntkXUA57JF1AeWwR/YXXu+HI+nosEfWBZTDHlkXUA57ZF1AOeyR/ZnX++FIOjrskXUB5bBH1gWUwx7Zn3i9H46ko8MeWRdQDntkXUA57JH9kdf74Ug6OuyRdQHlsEfWBZTDHlkXUA57ZH/g9X44ko4Oe2RdQDnskXUB5bBH9oTX++FIOjrskXUB5bBH1gWUwx7ZY17vhyPp6LBH1gWUwx5ZF1AOe2RdQDnskX3M6/1wJB0d9si6gHLYI+sCymGP7AwfZciRdHTYI+sCymGPrAsohz2y3/N6PxxJR4c9si6gHPbIuoBy2CM7wwL8QOddfMSc/Rw3Q3W6h8zZz0EzVKf7BXP2s2qG6nQ/Yc5+bjVDdbofMmc/V+KsGavT/C7eYM5teNAM1ml+xpTbcdW3olv5JN5mym252wzX1/sxM27Pxfi6Ga+v9st5Xv//Zi+Omkfof/so3mHCXbnhCib7bbzPfHOwt/nFmo/S1q/iXaabiwtxx3dEr/R5fBpvMtu87MUqTpsH619vOz+P95irhstxM+7H/uanwnnzZYzm+abC/qbGR3GJmabBgbqszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LKKiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMj/nj8BJ/L3xz/yZd4AAAAASUVORK5CYII="/></g><path fill="#000000" fill-opacity="0.0" d="m148.45142 348.61285l72.0 0l0 35.24411l-72.0 0z" fill-rule="evenodd"/><path fill="#000000" d="m155.04123 375.53287l5.078125 -13.359375l1.78125 0l5.078125 13.359375l-1.734375 0l-3.671875 -9.984375l-0.53125 -1.4375l-0.0625 0l-0.53125 1.4375l-3.671875 9.984375l-1.734375 0zm5.78125 -3.671875l0 -1.5l3.078125 0l0.546875 1.5l-3.625 0zm-3.625 0l0.546875 -1.5l3.078125 0l0 1.5l-3.625 0zm11.562195 3.671875l0 -13.359375l4.5 0q1.125 0 2.0625 0.515625q0.953125 0.5 1.515625 1.390625q0.578125 0.875 0.578125 2.046875q0 0.71875 -0.265625 1.421875q-0.265625 0.6875 -0.8125 1.265625q-0.546875 0.578125 -1.40625 0.921875q-0.84375 0.34375 -2.015625 0.34375l-3.328125 0l0 -1.46875l3.578125 0q0.703125 0 1.296875 -0.3125q0.59375 -0.328125 0.96875 -0.875q0.375 -0.5625 0.375 -1.296875q0 -0.59375 -0.3125 -1.15625q-0.3125 -0.5625 -0.875 -0.921875q-0.546875 -0.359375 -1.328125 -0.359375l-2.953125 0l0 11.84375l-1.578125 0zm3.21875 -6.125l1.734375 -0.09375l4.21875 6.140625l0 0.078125l-1.859375 0l-4.09375 -6.125zm7.7138214 6.125l0 -13.359375l2.28125 0l4.265625 10.953125l0.0625 0l4.265625 -10.953125l2.28125 0l0 13.359375l-1.5625 0l0 -8.484375l0.078125 -2.546875l-0.078125 0l-4.359375 11.03125l-1.3125 0l-4.359375 -11.03125l-0.078125 0l0.078125 2.546875l0 8.484375l-1.5625 0zm19.531311 0.296875q-0.75 0 -1.59375 -0.3125q-0.84375 -0.3125 -1.53125 -1.015625q-0.6875 -0.703125 -1.015625 -1.859375l1.4375 -0.59375q0.3125 1.078125 1.015625 1.671875q0.71875 0.59375 1.6875 0.59375q0.71875 0 1.328125 -0.296875q0.609375 -0.3125 0.96875 -0.84375q0.359375 -0.546875 0.359375 -1.234375q0 -0.671875 -0.375 -1.203125q-0.359375 -0.53125 -0.984375 -0.84375q-0.609375 -0.3125 -1.359375 -0.3125l-1.09375 0l0 -1.46875l0.984375 0q0.671875 0 1.21875 -0.265625q0.546875 -0.265625 0.859375 -0.75q0.328125 -0.484375 0.328125 -1.140625q0 -0.90625 -0.6875 -1.4375q-0.671875 -0.53125 -1.640625 -0.53125q-0.71875 0 -1.1875 0.28125q-0.453125 0.265625 -0.734375 0.671875q-0.265625 0.390625 -0.390625 0.78125l-1.46875 -0.609375q0.1875 -0.5625 0.65625 -1.171875q0.46875 -0.609375 1.234375 -1.03125q0.78125 -0.4375 1.890625 -0.4375q1.125 0 2.015625 0.453125q0.890625 0.453125 1.40625 1.25q0.515625 0.78125 0.515625 1.78125q0 0.71875 -0.265625 1.265625q-0.25 0.53125 -0.65625 0.90625q-0.390625 0.375 -0.84375 0.59375l0 0.078125q0.609375 0.234375 1.09375 0.6875q0.5 0.4375 0.796875 1.046875q0.296875 0.59375 0.296875 1.375q0 1.140625 -0.578125 2.03125q-0.578125 0.890625 -1.546875 1.390625q-0.96875 0.5 -2.140625 0.5zm5.9498444 -0.296875l0 -1.578125q0.046875 -0.0625 0.4375 -0.453125q0.390625 -0.390625 0.96875 -0.96875q0.578125 -0.59375 1.21875 -1.234375q0.640625 -0.65625 1.1875 -1.21875q0.546875 -0.578125 0.859375 -0.921875q0.578125 -0.640625 0.9375 -1.09375q0.359375 -0.453125 0.515625 -0.890625q0.171875 -0.453125 0.171875 -1.03125q0 -0.53125 -0.28125 -1.015625q-0.28125 -0.5 -0.8125 -0.8125q-0.53125 -0.328125 -1.328125 -0.328125q-0.75 0 -1.265625 0.328125q-0.5 0.3125 -0.78125 0.75q-0.28125 0.4375 -0.375 0.78125l-1.4375 -0.578125q0.109375 -0.390625 0.390625 -0.859375q0.296875 -0.484375 0.765625 -0.921875q0.484375 -0.4375 1.15625 -0.71875q0.6875 -0.296875 1.578125 -0.296875q1.21875 0 2.109375 0.515625q0.90625 0.515625 1.390625 1.34375q0.5 0.828125 0.5 1.796875q0 0.84375 -0.328125 1.609375q-0.3125 0.75 -0.78125 1.359375q-0.453125 0.609375 -0.9375 1.078125q-0.25 0.25 -0.6875 0.6875q-0.421875 0.421875 -0.90625 0.921875q-0.484375 0.484375 -0.953125 0.953125q-0.46875 0.46875 -0.8125 0.828125q-0.34375 0.34375 -0.46875 0.453125l0 0l6.03125 0l0 1.515625l-8.0625 0z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m531.9711 348.61285l72.0 0l0 35.24411l-72.0 0z" fill-rule="evenodd"/><path fill="#000000" d="m538.17523 375.53287l3.796875 -5.46875l0.171875 0l2.703125 -4.046875l1.859375 0l-3.71875 5.25l-0.125 0l-2.84375 4.265625l-1.84375 0zm0.0625 -9.515625l1.796875 0l2.953125 4.234375l0.0625 0l3.71875 5.28125l-1.84375 0l-2.84375 -4.21875l-0.125 0l-3.71875 -5.296875zm13.929321 9.8125q-1.234375 0 -2.21875 -0.5q-0.984375 -0.5 -1.546875 -1.359375q-0.546875 -0.875 -0.546875 -1.9375q0 -0.765625 0.28125 -1.375q0.28125 -0.609375 0.765625 -1.0625q0.484375 -0.46875 1.078125 -0.734375l0 -0.078125q-0.71875 -0.4375 -1.21875 -1.15625q-0.484375 -0.734375 -0.484375 -1.578125q0 -1.015625 0.484375 -1.8125q0.5 -0.8125 1.375 -1.28125q0.890625 -0.484375 2.03125 -0.484375q1.125 0 1.984375 0.484375q0.875 0.46875 1.375 1.28125q0.5 0.796875 0.5 1.8125q0 0.5625 -0.234375 1.078125q-0.21875 0.515625 -0.609375 0.9375q-0.375 0.421875 -0.84375 0.71875l0 0.078125q0.875 0.421875 1.5 1.234375q0.625 0.796875 0.625 1.9375q0 1.0625 -0.5625 1.9375q-0.5625 0.859375 -1.546875 1.359375q-0.96875 0.5 -2.1875 0.5zm0 -1.515625q0.734375 0 1.34375 -0.296875q0.609375 -0.296875 0.96875 -0.828125q0.359375 -0.546875 0.359375 -1.25q0 -0.71875 -0.359375 -1.234375q-0.359375 -0.53125 -0.96875 -0.828125q-0.609375 -0.296875 -1.34375 -0.296875q-0.75 0 -1.375 0.296875q-0.609375 0.296875 -0.984375 0.828125q-0.359375 0.515625 -0.359375 1.234375q0 0.703125 0.359375 1.25q0.375 0.53125 0.984375 0.828125q0.625 0.296875 1.375 0.296875zm0 -6.203125q0.640625 0 1.140625 -0.265625q0.515625 -0.265625 0.8125 -0.71875q0.296875 -0.46875 0.296875 -1.109375q0 -0.96875 -0.671875 -1.5q-0.65625 -0.53125 -1.578125 -0.53125q-0.953125 0 -1.625 0.53125q-0.65625 0.53125 -0.65625 1.5q0 0.640625 0.296875 1.109375q0.296875 0.453125 0.8125 0.71875q0.53125 0.265625 1.171875 0.265625zm10.326477 7.71875q-0.984375 0 -1.796875 -0.375q-0.796875 -0.375 -1.375 -0.96875q-0.578125 -0.59375 -0.890625 -1.359375q-0.296875 -0.765625 -0.296875 -1.5625q0 -1.125 0.484375 -2.109375q0.5 -1.0 1.140625 -1.96875q0.546875 -0.828125 1.109375 -1.671875q0.5625 -0.84375 1.109375 -1.671875q0.5625 -0.828125 1.109375 -1.671875l1.28125 0.875q-0.40625 0.5625 -0.8125 1.125q-0.390625 0.5625 -0.796875 1.140625q-0.40625 0.5625 -0.8125 1.125q-0.40625 0.546875 -0.796875 1.109375l0.046875 0.03125q0.3125 -0.203125 0.703125 -0.3125q0.40625 -0.125 0.9375 -0.125q0.71875 0 1.421875 0.296875q0.71875 0.296875 1.296875 0.859375q0.59375 0.5625 0.9375 1.3125q0.34375 0.75 0.34375 1.65625q0 1.109375 -0.59375 2.09375q-0.59375 0.984375 -1.578125 1.578125q-0.96875 0.59375 -2.171875 0.59375zm0 -1.515625q0.765625 0 1.390625 -0.359375q0.625 -0.359375 1.0 -0.984375q0.375 -0.625 0.375 -1.390625q0 -0.765625 -0.390625 -1.375q-0.375 -0.625 -1.0 -0.984375q-0.625 -0.359375 -1.375 -0.359375q-0.75 0 -1.390625 0.359375q-0.625 0.359375 -1.015625 0.984375q-0.375 0.609375 -0.375 1.375q0 0.765625 0.375 1.390625q0.375 0.625 1.0 0.984375q0.640625 0.359375 1.40625 0.359375zm5.1884155 5.25l0 -1.3125l8.875 0l0 1.3125l-8.875 0zm14.083496 -3.734375q-0.984375 0 -1.796875 -0.375q-0.796875 -0.375 -1.375 -0.96875q-0.578125 -0.59375 -0.890625 -1.359375q-0.296875 -0.765625 -0.296875 -1.5625q0 -1.125 0.484375 -2.109375q0.5 -1.0 1.140625 -1.96875q0.546875 -0.828125 1.109375 -1.671875q0.5625 -0.84375 1.109375 -1.671875q0.5625 -0.828125 1.109375 -1.671875l1.28125 0.875q-0.40625 0.5625 -0.8125 1.125q-0.390625 0.5625 -0.796875 1.140625q-0.40625 0.5625 -0.8125 1.125q-0.40625 0.546875 -0.796875 1.109375l0.046875 0.03125q0.3125 -0.203125 0.703125 -0.3125q0.40625 -0.125 0.9375 -0.125q0.71875 0 1.421875 0.296875q0.71875 0.296875 1.296875 0.859375q0.59375 0.5625 0.9375 1.3125q0.34375 0.75 0.34375 1.65625q0 1.109375 -0.59375 2.09375q-0.59375 0.984375 -1.578125 1.578125q-0.96875 0.59375 -2.171875 0.59375zm0 -1.515625q0.765625 0 1.390625 -0.359375q0.625 -0.359375 1.0 -0.984375q0.375 -0.625 0.375 -1.390625q0 -0.765625 -0.390625 -1.375q-0.375 -0.625 -1.0 -0.984375q-0.625 -0.359375 -1.375 -0.359375q-0.75 0 -1.390625 0.359375q-0.625 0.359375 -1.015625 0.984375q-0.375 0.609375 -0.375 1.375q0 0.765625 0.375 1.390625q0.375 0.625 1.0 0.984375q0.640625 0.359375 1.40625 0.359375zm6.0321655 -1.53125l0 -1.1875l5.96875 -8.828125l1.71875 0l0 12.765625l-1.578125 0l0 -10.453125l-0.0625 0l-4.171875 6.21875l7.453125 0l0 1.484375l-9.328125 0z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m723.2192 348.6122l116.22046 0l0 35.24408l-116.22046 0z" fill-rule="evenodd"/><path fill="#000000" d="m741.75165 375.82907q-1.453125 0 -2.5625 -0.796875q-1.09375 -0.8125 -1.5625 -2.296875l1.5 -0.625q0.359375 1.25 1.0625 1.734375q0.703125 0.46875 1.5625 0.46875q1.125 0 1.765625 -0.765625q0.65625 -0.78125 0.65625 -2.015625l0 -9.359375l1.59375 0l0 9.234375q0 1.421875 -0.515625 2.40625q-0.515625 0.984375 -1.421875 1.5q-0.90625 0.515625 -2.078125 0.515625zm9.497192 0q-1.0625 0 -1.875 -0.40625q-0.796875 -0.40625 -1.25 -1.125q-0.453125 -0.71875 -0.453125 -1.640625q0 -1.046875 0.53125 -1.765625q0.546875 -0.71875 1.453125 -1.078125q0.921875 -0.359375 2.015625 -0.359375q0.640625 0 1.171875 0.109375q0.546875 0.09375 0.9375 0.234375q0.40625 0.140625 0.625 0.265625l0 -0.578125q0 -1.078125 -0.765625 -1.703125q-0.765625 -0.640625 -1.875 -0.640625q-0.78125 0 -1.46875 0.34375q-0.671875 0.34375 -1.0625 0.953125l-1.203125 -0.890625q0.375 -0.5625 0.9375 -0.96875q0.5625 -0.40625 1.28125 -0.625q0.71875 -0.234375 1.515625 -0.234375q1.9375 0 3.03125 1.03125q1.109375 1.015625 1.109375 2.75l0 6.03125l-1.5 0l0 -1.359375l-0.078125 0q-0.25 0.40625 -0.703125 0.796875q-0.4375 0.375 -1.046875 0.609375q-0.609375 0.25 -1.328125 0.25zm0.140625 -1.390625q0.828125 0 1.5 -0.40625q0.6875 -0.421875 1.09375 -1.109375q0.421875 -0.6875 0.421875 -1.515625q-0.4375 -0.296875 -1.078125 -0.484375q-0.640625 -0.1875 -1.40625 -0.1875q-1.359375 0 -2.0 0.5625q-0.640625 0.5625 -0.640625 1.375q0 0.78125 0.59375 1.28125q0.609375 0.484375 1.515625 0.484375zm9.329224 1.09375l-3.84375 -9.515625l1.703125 0l2.953125 7.65625l0.03125 0l2.984375 -7.65625l1.65625 0l-3.875 9.515625l-1.609375 0zm9.652649 0.296875q-1.0625 0 -1.875 -0.40625q-0.796875 -0.40625 -1.25 -1.125q-0.453125 -0.71875 -0.453125 -1.640625q0 -1.046875 0.53125 -1.765625q0.546875 -0.71875 1.453125 -1.078125q0.921875 -0.359375 2.015625 -0.359375q0.640625 0 1.171875 0.109375q0.546875 0.09375 0.9375 0.234375q0.40625 0.140625 0.625 0.265625l0 -0.578125q0 -1.078125 -0.765625 -1.703125q-0.765625 -0.640625 -1.875 -0.640625q-0.78125 0 -1.46875 0.34375q-0.671875 0.34375 -1.0625 0.953125l-1.203125 -0.890625q0.375 -0.5625 0.9375 -0.96875q0.5625 -0.40625 1.28125 -0.625q0.71875 -0.234375 1.515625 -0.234375q1.9375 0 3.03125 1.03125q1.109375 1.015625 1.109375 2.75l0 6.03125l-1.5 0l0 -1.359375l-0.078125 0q-0.25 0.40625 -0.703125 0.796875q-0.4375 0.375 -1.046875 0.609375q-0.609375 0.25 -1.328125 0.25zm0.140625 -1.390625q0.828125 0 1.5 -0.40625q0.6875 -0.421875 1.09375 -1.109375q0.421875 -0.6875 0.421875 -1.515625q-0.4375 -0.296875 -1.078125 -0.484375q-0.640625 -0.1875 -1.40625 -0.1875q-1.359375 0 -2.0 0.5625q-0.640625 0.5625 -0.640625 1.375q0 0.78125 0.59375 1.28125q0.609375 0.484375 1.515625 0.484375zm10.765808 1.390625q-0.96875 0 -1.921875 -0.40625q-0.953125 -0.40625 -1.6875 -1.203125q-0.71875 -0.8125 -1.046875 -2.015625l1.515625 -0.609375q0.3125 1.15625 1.140625 1.9375q0.84375 0.78125 2.046875 0.78125q0.734375 0 1.359375 -0.265625q0.625 -0.265625 1.0 -0.78125q0.390625 -0.53125 0.390625 -1.28125q0 -0.671875 -0.328125 -1.140625q-0.3125 -0.46875 -0.96875 -0.828125q-0.65625 -0.359375 -1.609375 -0.703125l-0.84375 -0.296875q-0.546875 -0.203125 -1.125 -0.484375q-0.5625 -0.296875 -1.046875 -0.71875q-0.46875 -0.421875 -0.75 -1.0q-0.28125 -0.59375 -0.28125 -1.390625q0 -0.96875 0.515625 -1.765625q0.53125 -0.8125 1.4375 -1.296875q0.921875 -0.484375 2.109375 -0.484375q1.25 0 2.09375 0.453125q0.859375 0.453125 1.34375 1.078125q0.5 0.625 0.671875 1.15625l-1.46875 0.640625q-0.109375 -0.40625 -0.4375 -0.8125q-0.3125 -0.421875 -0.84375 -0.703125q-0.53125 -0.296875 -1.328125 -0.296875q-0.65625 0 -1.234375 0.265625q-0.5625 0.25 -0.90625 0.71875q-0.34375 0.453125 -0.34375 1.046875q0 0.84375 0.671875 1.328125q0.671875 0.484375 1.8125 0.875l0.875 0.296875q0.59375 0.203125 1.21875 0.5q0.625 0.296875 1.15625 0.765625q0.546875 0.46875 0.875 1.15625q0.34375 0.671875 0.34375 1.625q0 1.03125 -0.40625 1.765625q-0.390625 0.734375 -1.046875 1.203125q-0.65625 0.46875 -1.4375 0.671875q-0.765625 0.21875 -1.515625 0.21875zm10.750427 0q-1.40625 0 -2.5 -0.65625q-1.078125 -0.671875 -1.703125 -1.8125q-0.609375 -1.15625 -0.609375 -2.578125q0 -1.46875 0.609375 -2.59375q0.625 -1.140625 1.703125 -1.796875q1.09375 -0.671875 2.5 -0.671875q1.609375 0 2.640625 0.734375q1.03125 0.734375 1.46875 1.890625l-1.4375 0.609375q-0.359375 -0.890625 -1.0625 -1.34375q-0.6875 -0.453125 -1.6875 -0.453125q-0.828125 0 -1.546875 0.453125q-0.71875 0.4375 -1.171875 1.25q-0.453125 0.8125 -0.453125 1.921875q0 1.078125 0.453125 1.90625q0.453125 0.8125 1.171875 1.265625q0.71875 0.4375 1.546875 0.4375q1.015625 0 1.734375 -0.46875q0.734375 -0.46875 1.09375 -1.3125l1.40625 0.59375q-0.46875 1.09375 -1.515625 1.859375q-1.03125 0.765625 -2.640625 0.765625zm5.7805176 -0.296875l0 -9.515625l1.515625 0l0 1.53125l0.078125 0q0.1875 -0.546875 0.625 -0.9375q0.4375 -0.40625 1.0 -0.640625q0.578125 -0.234375 1.125 -0.234375q0.4375 0 0.671875 0.046875q0.25 0.046875 0.453125 0.140625l0 1.71875q-0.296875 -0.15625 -0.640625 -0.21875q-0.34375 -0.078125 -0.703125 -0.078125q-0.6875 0 -1.265625 0.390625q-0.578125 0.390625 -0.921875 1.046875q-0.34375 0.65625 -0.34375 1.4375l0 5.3125l-1.59375 0zm7.1523438 0l0 -9.515625l1.578125 0l0 9.515625l-1.578125 0zm0.78125 -11.265625q-0.46875 0 -0.8125 -0.328125q-0.328125 -0.34375 -0.328125 -0.8125q0 -0.484375 0.328125 -0.8125q0.34375 -0.328125 0.8125 -0.328125q0.484375 0 0.8125 0.328125q0.328125 0.328125 0.328125 0.8125q0 0.46875 -0.328125 0.8125q-0.328125 0.328125 -0.8125 0.328125zm3.2788086 15.296875l0 -13.546875l1.515625 0l0 1.421875l0.078125 0q0.25 -0.453125 0.71875 -0.84375q0.484375 -0.390625 1.125 -0.625q0.640625 -0.25 1.390625 -0.25q1.3125 0 2.328125 0.65625q1.03125 0.65625 1.625 1.796875q0.609375 1.125 0.609375 2.609375q0 1.46875 -0.609375 2.609375q-0.59375 1.140625 -1.625 1.796875q-1.015625 0.640625 -2.328125 0.640625q-1.125 0 -1.984375 -0.515625q-0.859375 -0.53125 -1.25 -1.1875l-0.078125 0l0.078125 1.3125l0 4.125l-1.59375 0zm4.671875 -5.171875q0.8125 0 1.53125 -0.4375q0.71875 -0.4375 1.15625 -1.25q0.4375 -0.828125 0.4375 -1.921875q0 -1.125 -0.4375 -1.9375q-0.4375 -0.8125 -1.15625 -1.25q-0.71875 -0.4375 -1.53125 -0.4375q-0.828125 0 -1.546875 0.4375q-0.71875 0.4375 -1.171875 1.25q-0.4375 0.8125 -0.4375 1.9375q0 1.109375 0.4375 1.921875q0.453125 0.8125 1.171875 1.25q0.71875 0.4375 1.546875 0.4375zm5.529602 -8.375l5.578125 0l0 1.4375l-5.578125 0l0 -1.4375zm1.671875 7.015625l0 -9.703125l1.578125 0l0 9.3125q0 0.75 0.3125 1.15625q0.3125 0.40625 1.015625 0.40625q0.3125 0 0.578125 -0.09375q0.265625 -0.09375 0.46875 -0.21875l0 1.546875q-0.25 0.109375 -0.546875 0.171875q-0.28125 0.078125 -0.765625 0.078125q-1.1875 0 -1.921875 -0.703125q-0.71875 -0.703125 -0.71875 -1.953125z" fill-rule="nonzero"/><path fill="#02589b" d="m133.70473 99.600395l346.07874 0l0 86.70866l-346.07874 0z" fill-rule="evenodd"/><path fill="#ffffff" d="m216.22035 130.87473l0 -13.359375l4.265625 0q2.109375 0 3.625 0.859375q1.53125 0.84375 2.359375 2.359375q0.828125 1.5 0.828125 3.46875q0 1.953125 -0.828125 3.46875q-0.828125 1.5 -2.359375 2.359375q-1.515625 0.84375 -3.625 0.84375l-4.265625 0zm2.046875 -1.9375l2.171875 0q1.5 0 2.578125 -0.5625q1.09375 -0.578125 1.640625 -1.640625q0.5625 -1.0625 0.5625 -2.53125q0 -1.484375 -0.5625 -2.546875q-0.546875 -1.0625 -1.640625 -1.625q-1.078125 -0.578125 -2.578125 -0.578125l-2.171875 0l0 9.484375zm15.105637 2.234375q-1.390625 0 -2.5 -0.640625q-1.09375 -0.65625 -1.71875 -1.796875q-0.625 -1.140625 -0.625 -2.59375q0 -1.359375 0.59375 -2.515625q0.59375 -1.15625 1.671875 -1.859375q1.078125 -0.703125 2.46875 -0.703125q1.484375 0 2.515625 0.640625q1.03125 0.625 1.5625 1.734375q0.546875 1.09375 0.546875 2.46875q0 0.21875 -0.015625 0.390625q0 0.15625 -0.015625 0.25l-8.1875 0l0 -1.515625l6.234375 0q-0.03125 -0.34375 -0.203125 -0.75q-0.15625 -0.40625 -0.484375 -0.734375q-0.3125 -0.34375 -0.796875 -0.546875q-0.484375 -0.21875 -1.140625 -0.21875q-0.8125 0 -1.453125 0.421875q-0.625 0.421875 -0.984375 1.171875q-0.359375 0.734375 -0.359375 1.71875q0 1.09375 0.40625 1.828125q0.421875 0.71875 1.09375 1.09375q0.671875 0.359375 1.453125 0.359375q0.953125 0 1.59375 -0.4375q0.640625 -0.4375 1.015625 -1.078125l1.65625 0.796875q-0.609375 1.125 -1.671875 1.828125q-1.0625 0.6875 -2.65625 0.6875zm9.087555 -0.296875l-3.9375 -9.515625l2.25 0l2.65625 6.921875l0.09375 0l2.734375 -6.921875l2.203125 0l-3.984375 9.515625l-2.015625 0zm11.359436 0.296875q-1.390625 0 -2.5 -0.640625q-1.09375 -0.65625 -1.71875 -1.796875q-0.625 -1.140625 -0.625 -2.59375q0 -1.359375 0.59375 -2.515625q0.59375 -1.15625 1.671875 -1.859375q1.078125 -0.703125 2.46875 -0.703125q1.484375 0 2.515625 0.640625q1.03125 0.625 1.5625 1.734375q0.546875 1.09375 0.546875 2.46875q0 0.21875 -0.015625 0.390625q0 0.15625 -0.015625 0.25l-8.1875 0l0 -1.515625l6.234375 0q-0.03125 -0.34375 -0.203125 -0.75q-0.15625 -0.40625 -0.484375 -0.734375q-0.3125 -0.34375 -0.796875 -0.546875q-0.484375 -0.21875 -1.140625 -0.21875q-0.8125 0 -1.453125 0.421875q-0.625 0.421875 -0.984375 1.171875q-0.359375 0.734375 -0.359375 1.71875q0 1.09375 0.40625 1.828125q0.421875 0.71875 1.09375 1.09375q0.671875 0.359375 1.453125 0.359375q0.953125 0 1.59375 -0.4375q0.640625 -0.4375 1.015625 -1.078125l1.65625 0.796875q-0.609375 1.125 -1.671875 1.828125q-1.0625 0.6875 -2.65625 0.6875zm6.3992004 -0.296875l0 -13.359375l2.015625 0l0 13.359375l-2.015625 0zm8.77829 0.296875q-1.484375 0 -2.609375 -0.671875q-1.109375 -0.671875 -1.75 -1.8125q-0.625 -1.15625 -0.625 -2.5625q0 -1.421875 0.625 -2.5625q0.640625 -1.15625 1.75 -1.828125q1.125 -0.671875 2.609375 -0.671875q1.453125 0 2.5625 0.6875q1.125 0.671875 1.75 1.8125q0.640625 1.140625 0.640625 2.5625q0 1.40625 -0.640625 2.5625q-0.625 1.140625 -1.75 1.8125q-1.109375 0.671875 -2.5625 0.671875zm0 -1.84375q0.78125 0 1.453125 -0.375q0.671875 -0.390625 1.09375 -1.109375q0.421875 -0.71875 0.421875 -1.71875q0 -1.015625 -0.421875 -1.734375q-0.421875 -0.71875 -1.09375 -1.09375q-0.671875 -0.390625 -1.453125 -0.390625q-0.78125 0 -1.46875 0.390625q-0.6875 0.375 -1.109375 1.09375q-0.40625 0.71875 -0.40625 1.734375q0 1.0 0.40625 1.71875q0.421875 0.71875 1.109375 1.109375q0.703125 0.375 1.46875 0.375zm6.693695 5.578125l0 -13.546875l1.890625 0l0 1.28125l0.109375 0q0.265625 -0.40625 0.703125 -0.765625q0.4375 -0.359375 1.03125 -0.578125q0.59375 -0.234375 1.328125 -0.234375q1.296875 0 2.328125 0.65625q1.03125 0.65625 1.625 1.796875q0.609375 1.125 0.609375 2.609375q0 1.46875 -0.609375 2.609375q-0.59375 1.140625 -1.625 1.796875q-1.03125 0.640625 -2.328125 0.640625q-1.09375 0 -1.890625 -0.484375q-0.796875 -0.484375 -1.171875 -1.078125l-0.109375 0l0.109375 1.328125l0 3.96875l-2.0 0zm4.75 -5.578125q0.75 0 1.40625 -0.390625q0.671875 -0.390625 1.0625 -1.109375q0.40625 -0.734375 0.40625 -1.703125q0 -1.0 -0.40625 -1.71875q-0.390625 -0.71875 -1.0625 -1.109375q-0.65625 -0.390625 -1.40625 -0.390625q-0.734375 0 -1.390625 0.390625q-0.65625 0.390625 -1.0625 1.109375q-0.40625 0.71875 -0.40625 1.71875q0 0.984375 0.40625 1.703125q0.40625 0.71875 1.0625 1.109375q0.65625 0.390625 1.390625 0.390625zm6.627228 1.546875l0 -9.515625l1.90625 0l0 1.3125l0.109375 0q0.28125 -0.46875 0.71875 -0.828125q0.453125 -0.359375 1.015625 -0.5625q0.578125 -0.21875 1.203125 -0.21875q1.0625 0 1.796875 0.5q0.75 0.5 1.078125 1.265625q0.453125 -0.734375 1.25 -1.25q0.8125 -0.515625 1.96875 -0.515625q1.6875 0 2.5 1.015625q0.828125 1.015625 0.828125 2.703125l0 6.09375l-2.0 0l0 -5.765625q0 -1.15625 -0.5 -1.671875q-0.484375 -0.53125 -1.375 -0.53125q-0.6875 0 -1.21875 0.390625q-0.515625 0.375 -0.8125 1.03125q-0.28125 0.65625 -0.28125 1.453125l0 5.09375l-1.984375 0l0 -5.765625q0 -1.140625 -0.515625 -1.671875q-0.5 -0.53125 -1.40625 -0.53125q-0.65625 0 -1.171875 0.390625q-0.515625 0.390625 -0.8125 1.046875q-0.28125 0.65625 -0.28125 1.453125l0 5.078125l-2.015625 0zm20.985138 0.296875q-1.390625 0 -2.5 -0.640625q-1.09375 -0.65625 -1.71875 -1.796875q-0.625 -1.140625 -0.625 -2.59375q0 -1.359375 0.59375 -2.515625q0.59375 -1.15625 1.671875 -1.859375q1.078125 -0.703125 2.46875 -0.703125q1.484375 0 2.515625 0.640625q1.03125 0.625 1.5625 1.734375q0.546875 1.09375 0.546875 2.46875q0 0.21875 -0.015625 0.390625q0 0.15625 -0.015625 0.25l-8.1875 0l0 -1.515625l6.234375 0q-0.03125 -0.34375 -0.203125 -0.75q-0.15625 -0.40625 -0.484375 -0.734375q-0.3125 -0.34375 -0.796875 -0.546875q-0.484375 -0.21875 -1.140625 -0.21875q-0.8125 0 -1.453125 0.421875q-0.625 0.421875 -0.984375 1.171875q-0.359375 0.734375 -0.359375 1.71875q0 1.09375 0.40625 1.828125q0.421875 0.71875 1.09375 1.09375q0.671875 0.359375 1.453125 0.359375q0.953125 0 1.59375 -0.4375q0.640625 -0.4375 1.015625 -1.078125l1.65625 0.796875q-0.609375 1.125 -1.671875 1.828125q-1.0625 0.6875 -2.65625 0.6875zm6.3835754 -0.296875l0 -9.515625l1.90625 0l0 1.3125l0.109375 0q0.40625 -0.703125 1.21875 -1.15625q0.8125 -0.453125 1.78125 -0.453125q1.765625 0 2.640625 1.03125q0.875 1.03125 0.875 2.78125l0 6.0l-2.0 0l0 -5.75q0 -1.15625 -0.578125 -1.6875q-0.578125 -0.53125 -1.515625 -0.53125q-0.71875 0 -1.265625 0.40625q-0.53125 0.40625 -0.84375 1.0625q-0.3125 0.640625 -0.3125 1.390625l0 5.109375l-2.015625 0zm9.697723 -9.515625l6.015625 0l0 1.75l-6.015625 0l0 -1.75zm1.671875 6.75l0 -9.4375l2.015625 0l0 9.015625q0 0.703125 0.28125 1.078125q0.296875 0.375 0.984375 0.375q0.328125 0 0.59375 -0.09375q0.265625 -0.109375 0.515625 -0.265625l0 1.96875q-0.3125 0.125 -0.671875 0.203125q-0.34375 0.078125 -0.828125 0.078125q-1.328125 0 -2.109375 -0.78125q-0.78125 -0.78125 -0.78125 -2.140625zm9.969635 -6.75l6.015625 0l0 1.75l-6.015625 0l0 -1.75zm1.671875 6.75l0 -9.4375l2.015625 0l0 9.015625q0 0.703125 0.28125 1.078125q0.296875 0.375 0.984375 0.375q0.328125 0 0.59375 -0.09375q0.265625 -0.109375 0.515625 -0.265625l0 1.96875q-0.3125 0.125 -0.671875 0.203125q-0.34375 0.078125 -0.828125 0.078125q-1.328125 0 -2.109375 -0.78125q-0.78125 -0.78125 -0.78125 -2.140625zm10.390015 3.0625q-1.484375 0 -2.609375 -0.671875q-1.109375 -0.671875 -1.75 -1.8125q-0.625 -1.15625 -0.625 -2.5625q0 -1.421875 0.625 -2.5625q0.640625 -1.15625 1.75 -1.828125q1.125 -0.671875 2.609375 -0.671875q1.453125 0 2.5625 0.6875q1.125 0.671875 1.75 1.8125q0.640625 1.140625 0.640625 2.5625q0 1.40625 -0.640625 2.5625q-0.625 1.140625 -1.75 1.8125q-1.109375 0.671875 -2.5625 0.671875zm0 -1.84375q0.78125 0 1.453125 -0.375q0.671875 -0.390625 1.09375 -1.109375q0.421875 -0.71875 0.421875 -1.71875q0 -1.015625 -0.421875 -1.734375q-0.421875 -0.71875 -1.09375 -1.09375q-0.671875 -0.390625 -1.453125 -0.390625q-0.78125 0 -1.46875 0.390625q-0.6875 0.375 -1.109375 1.09375q-0.40625 0.71875 -0.40625 1.734375q0 1.0 0.40625 1.71875q0.421875 0.71875 1.109375 1.109375q0.703125 0.375 1.46875 0.375zm11.287048 1.84375q-1.484375 0 -2.609375 -0.671875q-1.109375 -0.671875 -1.75 -1.8125q-0.625 -1.15625 -0.625 -2.5625q0 -1.421875 0.625 -2.5625q0.640625 -1.15625 1.75 -1.828125q1.125 -0.671875 2.609375 -0.671875q1.453125 0 2.5625 0.6875q1.125 0.671875 1.75 1.8125q0.640625 1.140625 0.640625 2.5625q0 1.40625 -0.640625 2.5625q-0.625 1.140625 -1.75 1.8125q-1.109375 0.671875 -2.5625 0.671875zm0 -1.84375q0.78125 0 1.453125 -0.375q0.671875 -0.390625 1.09375 -1.109375q0.421875 -0.71875 0.421875 -1.71875q0 -1.015625 -0.421875 -1.734375q-0.421875 -0.71875 -1.09375 -1.09375q-0.671875 -0.390625 -1.453125 -0.390625q-0.78125 0 -1.46875 0.390625q-0.6875 0.375 -1.109375 1.09375q-0.40625 0.71875 -0.40625 1.734375q0 1.0 0.40625 1.71875q0.421875 0.71875 1.109375 1.109375q0.703125 0.375 1.46875 0.375zm6.724945 1.546875l0 -13.359375l2.015625 0l0 13.359375l-2.015625 0zm8.700165 0.296875q-1.4375 0 -2.546875 -0.640625q-1.109375 -0.65625 -1.734375 -1.796875q-0.625 -1.15625 -0.625 -2.609375q0 -1.46875 0.625 -2.59375q0.625 -1.140625 1.734375 -1.796875q1.109375 -0.671875 2.546875 -0.671875q1.578125 0 2.671875 0.71875q1.09375 0.703125 1.5625 1.90625l-1.828125 0.75q-0.328125 -0.765625 -0.953125 -1.140625q-0.625 -0.390625 -1.484375 -0.390625q-0.796875 0 -1.453125 0.40625q-0.640625 0.40625 -1.03125 1.109375q-0.390625 0.703125 -0.390625 1.703125q0 0.96875 0.390625 1.703125q0.390625 0.71875 1.03125 1.109375q0.65625 0.390625 1.453125 0.390625q0.90625 0 1.53125 -0.40625q0.640625 -0.421875 1.0 -1.15625l1.796875 0.78125q-0.53125 1.140625 -1.625 1.890625q-1.09375 0.734375 -2.671875 0.734375zm6.022583 -0.296875l0 -13.359375l2.015625 0l0 3.65625l-0.109375 1.5l0.109375 0q0.390625 -0.703125 1.203125 -1.15625q0.8125 -0.453125 1.796875 -0.453125q1.203125 0 1.984375 0.484375q0.796875 0.484375 1.1875 1.34375q0.390625 0.84375 0.390625 1.984375l0 6.0l-1.984375 0l0 -5.75q0 -0.765625 -0.296875 -1.25q-0.28125 -0.484375 -0.75 -0.71875q-0.46875 -0.25 -1.046875 -0.25q-0.734375 0 -1.296875 0.421875q-0.546875 0.40625 -0.875 1.0625q-0.3125 0.65625 -0.3125 1.40625l0 5.078125l-2.015625 0zm13.767639 0.296875q-1.015625 0 -1.8125 -0.40625q-0.796875 -0.40625 -1.25 -1.125q-0.453125 -0.71875 -0.453125 -1.65625q0 -1.03125 0.53125 -1.734375q0.53125 -0.703125 1.421875 -1.078125q0.890625 -0.375 1.984375 -0.375q0.59375 0 1.09375 0.09375q0.515625 0.078125 0.890625 0.1875q0.390625 0.109375 0.625 0.234375l0 -0.5q0 -0.9375 -0.671875 -1.484375q-0.671875 -0.5625 -1.734375 -0.5625q-0.734375 0 -1.390625 0.328125q-0.640625 0.3125 -1.046875 0.875l-1.375 -1.0625q0.40625 -0.578125 1.0 -0.984375q0.59375 -0.40625 1.328125 -0.625q0.734375 -0.234375 1.53125 -0.234375q2.078125 0 3.1875 1.015625q1.125 1.015625 1.125 2.84375l0 5.953125l-1.953125 0l0 -1.171875l-0.109375 0q-0.25 0.375 -0.671875 0.71875q-0.421875 0.328125 -1.0 0.53125q-0.5625 0.21875 -1.25 0.21875zm0.359375 -1.640625q0.78125 0 1.390625 -0.375q0.609375 -0.375 0.9375 -0.96875q0.34375 -0.609375 0.34375 -1.328125q-0.421875 -0.234375 -1.015625 -0.390625q-0.578125 -0.171875 -1.234375 -0.171875q-1.21875 0 -1.75 0.5q-0.515625 0.484375 -0.515625 1.203125q0 0.671875 0.5 1.109375q0.5 0.421875 1.34375 0.421875zm6.99881 1.34375l0 -9.515625l2.015625 0l0 9.515625l-2.015625 0zm1.0 -10.90625q-0.5625 0 -0.96875 -0.40625q-0.390625 -0.40625 -0.390625 -0.96875q0 -0.578125 0.390625 -0.953125q0.40625 -0.390625 0.96875 -0.390625q0.578125 0 0.96875 0.390625q0.390625 0.375 0.390625 0.953125q0 0.5625 -0.390625 0.96875q-0.390625 0.40625 -0.96875 0.40625zm3.5078125 10.90625l0 -9.515625l1.90625 0l0 1.3125l0.109375 0q0.40625 -0.703125 1.21875 -1.15625q0.8125 -0.453125 1.78125 -0.453125q1.765625 0 2.640625 1.03125q0.875 1.03125 0.875 2.78125l0 6.0l-2.0 0l0 -5.75q0 -1.15625 -0.578125 -1.6875q-0.578125 -0.53125 -1.515625 -0.53125q-0.71875 0 -1.265625 0.40625q-0.53125 0.40625 -0.84375 1.0625q-0.3125 0.640625 -0.3125 1.390625l0 5.109375l-2.015625 0z" fill-rule="nonzero"/><path fill="#eeeeee" d="m215.98598 150.31473l0 -11.453125l6.625 0l0 1.296875l-5.265625 0l0 10.15625l-1.359375 0zm0.71875 -4.953125l0 -1.28125l5.390625 0l0 1.28125l-5.390625 0zm9.785385 5.203125q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm8.525391 1.1875q-0.921875 0 -1.625 -0.296875q-0.6875 -0.296875 -1.140625 -0.796875q-0.453125 -0.5 -0.671875 -1.09375l1.203125 -0.546875q0.328125 0.734375 0.9375 1.140625q0.609375 0.40625 1.390625 0.40625q0.75 0 1.25 -0.296875q0.515625 -0.3125 0.515625 -0.90625q0 -0.375 -0.21875 -0.625q-0.203125 -0.25 -0.609375 -0.421875q-0.390625 -0.171875 -0.96875 -0.3125l-1.0 -0.265625q-0.5625 -0.15625 -1.078125 -0.4375q-0.515625 -0.296875 -0.828125 -0.75q-0.3125 -0.453125 -0.3125 -1.109375q0 -0.734375 0.421875 -1.265625q0.4375 -0.53125 1.140625 -0.8125q0.703125 -0.28125 1.515625 -0.28125q0.703125 0 1.3125 0.203125q0.625 0.203125 1.078125 0.59375q0.46875 0.390625 0.703125 0.96875l-1.171875 0.546875q-0.3125 -0.609375 -0.828125 -0.84375q-0.5 -0.25 -1.125 -0.25q-0.671875 0 -1.171875 0.296875q-0.5 0.296875 -0.5 0.8125q0 0.515625 0.40625 0.765625q0.40625 0.25 1.0 0.421875l1.1875 0.296875q1.203125 0.3125 1.8125 0.90625q0.609375 0.59375 0.609375 1.46875q0 0.765625 -0.4375 1.328125q-0.4375 0.546875 -1.171875 0.859375q-0.734375 0.296875 -1.625 0.296875zm4.0817566 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.817642 2.140625l0 -8.15625l1.359375 0l0 8.15625l-1.359375 0zm0.671875 -9.65625q-0.40625 0 -0.703125 -0.28125q-0.28125 -0.296875 -0.28125 -0.703125q0 -0.421875 0.28125 -0.6875q0.296875 -0.28125 0.703125 -0.28125q0.40625 0 0.6875 0.28125q0.28125 0.265625 0.28125 0.6875q0 0.40625 -0.28125 0.703125q-0.28125 0.28125 -0.6875 0.28125zm2.8191376 9.65625l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.3125 -0.59375 1.03125 -1.03125q0.734375 -0.4375 1.609375 -0.4375q1.5 0 2.25 0.875q0.765625 0.875 0.765625 2.3125l0 5.234375l-1.359375 0l0 -5.03125q0 -1.171875 -0.578125 -1.65625q-0.5625 -0.5 -1.453125 -0.5q-0.671875 0 -1.1875 0.375q-0.515625 0.375 -0.796875 0.96875q-0.28125 0.59375 -0.28125 1.25l0 4.59375l-1.359375 0zm12.663513 0.25q-1.203125 0 -2.140625 -0.5625q-0.9375 -0.5625 -1.46875 -1.546875q-0.515625 -0.984375 -0.515625 -2.21875q0 -1.25 0.515625 -2.21875q0.53125 -0.984375 1.46875 -1.546875q0.9375 -0.578125 2.140625 -0.578125q1.375 0 2.265625 0.640625q0.890625 0.625 1.25 1.625l-1.234375 0.515625q-0.296875 -0.765625 -0.90625 -1.15625q-0.59375 -0.390625 -1.4375 -0.390625q-0.71875 0 -1.34375 0.390625q-0.609375 0.375 -1.0 1.078125q-0.375 0.6875 -0.375 1.640625q0 0.921875 0.375 1.625q0.390625 0.703125 1.0 1.09375q0.625 0.390625 1.34375 0.390625q0.859375 0 1.484375 -0.40625q0.625 -0.40625 0.9375 -1.140625l1.203125 0.515625q-0.390625 0.9375 -1.296875 1.59375q-0.890625 0.65625 -2.265625 0.65625zm4.968506 -0.25l0 -8.15625l1.28125 0l0 1.3125l0.078125 0q0.15625 -0.46875 0.53125 -0.8125q0.375 -0.34375 0.859375 -0.546875q0.484375 -0.203125 0.96875 -0.203125q0.375 0 0.578125 0.046875q0.203125 0.046875 0.390625 0.125l0 1.46875q-0.265625 -0.125 -0.5625 -0.1875q-0.296875 -0.078125 -0.59375 -0.078125q-0.59375 0 -1.09375 0.34375q-0.5 0.328125 -0.796875 0.890625q-0.28125 0.5625 -0.28125 1.234375l0 4.5625l-1.359375 0zm9.14502 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm5.383026 -0.25l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.21875 -0.40625 0.609375 -0.734375q0.390625 -0.328125 0.890625 -0.53125q0.515625 -0.203125 1.03125 -0.203125q0.921875 0 1.578125 0.453125q0.65625 0.4375 0.9375 1.140625q0.421875 -0.6875 1.125 -1.140625q0.703125 -0.453125 1.671875 -0.453125q1.46875 0 2.15625 0.890625q0.6875 0.875 0.6875 2.296875l0 5.234375l-1.34375 0l0 -5.03125q0 -1.171875 -0.484375 -1.65625q-0.484375 -0.5 -1.359375 -0.5q-0.625 0 -1.125 0.359375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.578125 -0.265625 1.265625l0 4.609375l-1.359375 0l0 -5.015625q0 -1.171875 -0.484375 -1.671875q-0.484375 -0.5 -1.34375 -0.5q-0.625 0 -1.125 0.375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.59375 -0.265625 1.28125l0 4.578125l-1.359375 0zm17.62503 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm5.3829956 -0.25l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.3125 -0.59375 1.03125 -1.03125q0.734375 -0.4375 1.609375 -0.4375q1.5 0 2.25 0.875q0.765625 0.875 0.765625 2.3125l0 5.234375l-1.359375 0l0 -5.03125q0 -1.171875 -0.578125 -1.65625q-0.5625 -0.5 -1.453125 -0.5q-0.671875 0 -1.1875 0.375q-0.515625 0.375 -0.796875 0.96875q-0.28125 0.59375 -0.28125 1.25l0 4.59375l-1.359375 0zm8.013519 -8.15625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm7.414398 2.390625q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm5.761627 0.9375l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm10.775513 0.25q-1.203125 0 -2.140625 -0.5625q-0.9375 -0.5625 -1.46875 -1.546875q-0.515625 -0.984375 -0.515625 -2.21875q0 -1.25 0.515625 -2.21875q0.53125 -0.984375 1.46875 -1.546875q0.9375 -0.578125 2.140625 -0.578125q1.375 0 2.265625 0.640625q0.890625 0.625 1.25 1.625l-1.234375 0.515625q-0.296875 -0.765625 -0.90625 -1.15625q-0.59375 -0.390625 -1.4375 -0.390625q-0.71875 0 -1.34375 0.390625q-0.609375 0.375 -1.0 1.078125q-0.375 0.6875 -0.375 1.640625q0 0.921875 0.375 1.625q0.390625 0.703125 1.0 1.09375q0.625 0.390625 1.34375 0.390625q0.859375 0 1.484375 -0.40625q0.625 -0.40625 0.9375 -1.140625l1.203125 0.515625q-0.390625 0.9375 -1.296875 1.59375q-0.890625 0.65625 -2.265625 0.65625zm8.718536 0q-1.234375 0 -2.1875 -0.5625q-0.9375 -0.578125 -1.46875 -1.5625q-0.53125 -0.984375 -0.53125 -2.203125q0 -1.21875 0.53125 -2.203125q0.53125 -0.984375 1.46875 -1.5625q0.953125 -0.578125 2.1875 -0.578125q1.234375 0 2.171875 0.59375q0.953125 0.578125 1.484375 1.5625q0.53125 0.984375 0.53125 2.1875q0 1.21875 -0.53125 2.203125q-0.53125 0.984375 -1.484375 1.5625q-0.9375 0.5625 -2.171875 0.5625zm0 -1.21875q0.734375 0 1.375 -0.375q0.65625 -0.375 1.046875 -1.0625q0.40625 -0.703125 0.40625 -1.671875q0 -0.984375 -0.40625 -1.671875q-0.390625 -0.703125 -1.046875 -1.0625q-0.640625 -0.375 -1.375 -0.375q-0.734375 0 -1.390625 0.375q-0.65625 0.359375 -1.0625 1.0625q-0.390625 0.6875 -0.390625 1.671875q0 0.96875 0.390625 1.671875q0.40625 0.6875 1.0625 1.0625q0.65625 0.375 1.390625 0.375zm5.626007 0.96875l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.21875 -0.40625 0.609375 -0.734375q0.390625 -0.328125 0.890625 -0.53125q0.515625 -0.203125 1.03125 -0.203125q0.921875 0 1.578125 0.453125q0.65625 0.4375 0.9375 1.140625q0.421875 -0.6875 1.125 -1.140625q0.703125 -0.453125 1.671875 -0.453125q1.46875 0 2.15625 0.890625q0.6875 0.875 0.6875 2.296875l0 5.234375l-1.34375 0l0 -5.03125q0 -1.171875 -0.484375 -1.65625q-0.484375 -0.5 -1.359375 -0.5q-0.625 0 -1.125 0.359375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.578125 -0.265625 1.265625l0 4.609375l-1.359375 0l0 -5.015625q0 -1.171875 -0.484375 -1.671875q-0.484375 -0.5 -1.34375 -0.5q-0.625 0 -1.125 0.375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.59375 -0.265625 1.28125l0 4.578125l-1.359375 0zm14.0000305 3.453125l0 -11.609375l1.28125 0l0 1.21875l0.078125 0q0.21875 -0.390625 0.625 -0.71875q0.40625 -0.34375 0.953125 -0.546875q0.546875 -0.21875 1.203125 -0.21875q1.109375 0 1.984375 0.5625q0.890625 0.5625 1.40625 1.546875q0.515625 0.96875 0.515625 2.234375q0 1.265625 -0.515625 2.25q-0.515625 0.96875 -1.40625 1.53125q-0.875 0.546875 -1.984375 0.546875q-0.984375 0 -1.71875 -0.4375q-0.734375 -0.453125 -1.0625 -1.015625l-0.078125 0l0.078125 1.125l0 3.53125l-1.359375 0zm4.0 -4.421875q0.703125 0 1.3125 -0.375q0.609375 -0.390625 0.984375 -1.09375q0.390625 -0.703125 0.390625 -1.640625q0 -0.96875 -0.390625 -1.65625q-0.375 -0.703125 -0.984375 -1.078125q-0.609375 -0.375 -1.3125 -0.375q-0.71875 0 -1.328125 0.375q-0.609375 0.375 -1.0 1.078125q-0.390625 0.6875 -0.390625 1.65625q0 0.953125 0.390625 1.65625q0.390625 0.6875 1.0 1.078125q0.609375 0.375 1.328125 0.375zm5.6770325 0.96875l0 -8.15625l1.359375 0l0 8.15625l-1.359375 0zm0.671875 -9.65625q-0.40625 0 -0.703125 -0.28125q-0.28125 -0.296875 -0.28125 -0.703125q0 -0.421875 0.28125 -0.6875q0.296875 -0.28125 0.703125 -0.28125q0.40625 0 0.6875 0.28125q0.28125 0.265625 0.28125 0.6875q0 0.40625 -0.28125 0.703125q-0.28125 0.28125 -0.6875 0.28125zm2.8191223 9.65625l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm5.8897705 0.25q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.5468445 0 0.9999695 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.5937195 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.6718445 0 2.6093445 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.5155945 0.203125 -1.1405945 0.203125zm0.140625 -1.1875q0.7030945 0 1.2812195 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.2030945 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm5.0391235 -7.21875l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm5.1856384 2.140625l0 -8.15625l1.359375 0l0 8.15625l-1.359375 0zm0.671875 -9.65625q-0.40625 0 -0.703125 -0.28125q-0.28125 -0.296875 -0.28125 -0.703125q0 -0.421875 0.28125 -0.6875q0.296875 -0.28125 0.703125 -0.28125q0.40625 0 0.6875 0.28125q0.28125 0.265625 0.28125 0.6875q0 0.40625 -0.28125 0.703125q-0.28125 0.28125 -0.6875 0.28125zm6.4891357 9.90625q-1.234375 0 -2.1875 -0.5625q-0.9375 -0.578125 -1.46875 -1.5625q-0.53125 -0.984375 -0.53125 -2.203125q0 -1.21875 0.53125 -2.203125q0.53125 -0.984375 1.46875 -1.5625q0.953125 -0.578125 2.1875 -0.578125q1.234375 0 2.171875 0.59375q0.953125 0.578125 1.484375 1.5625q0.53125 0.984375 0.53125 2.1875q0 1.21875 -0.53125 2.203125q-0.53125 0.984375 -1.484375 1.5625q-0.9375 0.5625 -2.171875 0.5625zm0 -1.21875q0.734375 0 1.375 -0.375q0.65625 -0.375 1.046875 -1.0625q0.40625 -0.703125 0.40625 -1.671875q0 -0.984375 -0.40625 -1.671875q-0.390625 -0.703125 -1.046875 -1.0625q-0.640625 -0.375 -1.375 -0.375q-0.734375 0 -1.390625 0.375q-0.65625 0.359375 -1.0625 1.0625q-0.390625 0.6875 -0.390625 1.671875q0 0.96875 0.390625 1.671875q0.40625 0.6875 1.0625 1.0625q0.65625 0.375 1.390625 0.375zm5.6260376 0.96875l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.3125 -0.59375 1.03125 -1.03125q0.734375 -0.4375 1.609375 -0.4375q1.5 0 2.25 0.875q0.765625 0.875 0.765625 2.3125l0 5.234375l-1.359375 0l0 -5.03125q0 -1.171875 -0.578125 -1.65625q-0.5625 -0.5 -1.453125 -0.5q-0.671875 0 -1.1875 0.375q-0.515625 0.375 -0.796875 0.96875q-0.28125 0.59375 -0.28125 1.25l0 4.59375l-1.359375 0z" fill-rule="nonzero"/><path fill="#eeeeee" d="m219.1891 169.56473q-0.84375 0 -1.65625 -0.34375q-0.8125 -0.359375 -1.4375 -1.046875q-0.625 -0.6875 -0.90625 -1.703125l1.296875 -0.53125q0.265625 0.984375 0.984375 1.65625q0.71875 0.671875 1.75 0.671875q0.640625 0 1.171875 -0.21875q0.53125 -0.234375 0.859375 -0.6875q0.328125 -0.453125 0.328125 -1.09375q0 -0.5625 -0.28125 -0.96875q-0.28125 -0.40625 -0.84375 -0.71875q-0.546875 -0.3125 -1.359375 -0.59375l-0.734375 -0.25q-0.46875 -0.1875 -0.96875 -0.421875q-0.484375 -0.25 -0.890625 -0.609375q-0.40625 -0.359375 -0.65625 -0.859375q-0.234375 -0.515625 -0.234375 -1.203125q0 -0.828125 0.453125 -1.515625q0.453125 -0.6875 1.234375 -1.109375q0.78125 -0.421875 1.8125 -0.421875q1.0625 0 1.78125 0.40625q0.734375 0.390625 1.15625 0.921875q0.4375 0.53125 0.578125 0.984375l-1.265625 0.546875q-0.09375 -0.34375 -0.375 -0.703125q-0.265625 -0.359375 -0.71875 -0.609375q-0.453125 -0.25 -1.140625 -0.25q-0.5625 0 -1.0625 0.234375q-0.484375 0.21875 -0.78125 0.609375q-0.296875 0.390625 -0.296875 0.90625q0 0.71875 0.578125 1.140625q0.578125 0.40625 1.5625 0.75l0.75 0.25q0.515625 0.171875 1.046875 0.4375q0.53125 0.25 1.0 0.65625q0.46875 0.390625 0.75 0.984375q0.28125 0.578125 0.28125 1.390625q0 0.890625 -0.34375 1.53125q-0.34375 0.625 -0.90625 1.03125q-0.546875 0.390625 -1.21875 0.5625q-0.65625 0.1875 -1.296875 0.1875zm4.5607758 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm7.414383 2.390625q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm5.039139 -7.21875l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.253632 2.390625q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm4.660507 -7.171875l0 -1.234375l4.9531097 0l0 1.234375l-4.9531097 0zm1.5 6.921875l0 -9.046875q0 -0.796875 0.34375 -1.359375q0.359375 -0.5625 0.953125 -0.859375q0.609375 -0.3125 1.3124847 -0.3125q0.46875 0 0.734375 0.0625q0.265625 0.046875 0.46875 0.125l0 1.328125q-0.21875 -0.078125 -0.484375 -0.15625q-0.265625 -0.09375 -0.671875 -0.09375q-0.49998474 0 -0.90623474 0.359375q-0.390625 0.359375 -0.390625 1.0625l0 8.890625l-1.359375 0zm7.919632 0.25q-1.5 0 -2.265625 -0.875q-0.765625 -0.875 -0.765625 -2.40625l0 -5.125l1.359375 0l0 4.921875q0 1.21875 0.5625 1.75q0.5625 0.515625 1.390625 0.515625q0.71875 0 1.25 -0.375q0.53125 -0.390625 0.8125 -0.96875q0.296875 -0.59375 0.296875 -1.234375l0 -4.609375l1.359375 0l0 8.15625l-1.296875 0l0 -1.1875l-0.0625 0q-0.203125 0.390625 -0.625 0.71875q-0.40625 0.328125 -0.921875 0.515625q-0.515625 0.203125 -1.09375 0.203125zm6.022888 -0.25l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm7.0880127 0l0 -11.453125l1.359375 0l0 3.375l-0.078125 1.125l0.078125 0q0.3125 -0.609375 1.03125 -1.03125q0.734375 -0.4375 1.625 -0.4375q1.03125 0 1.703125 0.421875q0.671875 0.421875 1.0 1.140625q0.34375 0.703125 0.34375 1.625l0 5.234375l-1.359375 0l0 -5.03125q0 -0.78125 -0.28125 -1.25q-0.28125 -0.46875 -0.734375 -0.6875q-0.453125 -0.21875 -1.0 -0.21875q-0.671875 0 -1.203125 0.390625q-0.53125 0.375 -0.828125 0.984375q-0.296875 0.609375 -0.296875 1.265625l0 4.546875l-1.359375 0zm12.774017 0.25q-1.234375 0 -2.1875 -0.5625q-0.9375 -0.578125 -1.46875 -1.5625q-0.53125 -0.984375 -0.53125 -2.203125q0 -1.21875 0.53125 -2.203125q0.53125 -0.984375 1.46875 -1.5625q0.953125 -0.578125 2.1875 -0.578125q1.234375 0 2.171875 0.59375q0.953125 0.578125 1.484375 1.5625q0.53125 0.984375 0.53125 2.1875q0 1.21875 -0.53125 2.203125q-0.53125 0.984375 -1.484375 1.5625q-0.9375 0.5625 -2.171875 0.5625zm0 -1.21875q0.734375 0 1.375 -0.375q0.65625 -0.375 1.046875 -1.0625q0.40625 -0.703125 0.40625 -1.671875q0 -0.984375 -0.40625 -1.671875q-0.390625 -0.703125 -1.046875 -1.0625q-0.640625 -0.375 -1.375 -0.375q-0.734375 0 -1.390625 0.375q-0.65625 0.359375 -1.0625 1.0625q-0.390625 0.6875 -0.390625 1.671875q0 0.96875 0.390625 1.671875q0.40625 0.6875 1.0625 1.0625q0.65625 0.375 1.390625 0.375zm4.9835205 -7.1875l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.692627 2.140625l0 -8.15625l1.28125 0l0 1.3125l0.078125 0q0.15625 -0.46875 0.53125 -0.8125q0.375 -0.34375 0.859375 -0.546875q0.484375 -0.203125 0.96875 -0.203125q0.375 0 0.578125 0.046875q0.203125 0.046875 0.390625 0.125l0 1.46875q-0.265625 -0.125 -0.5625 -0.1875q-0.296875 -0.078125 -0.59375 -0.078125q-0.59375 0 -1.09375 0.34375q-0.5 0.328125 -0.796875 0.890625q-0.28125 0.5625 -0.28125 1.234375l0 4.5625l-1.359375 0zm9.14502 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm5.383026 -0.25l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm7.04599 0.25q-1.234375 0 -2.1875 -0.5625q-0.9375 -0.578125 -1.46875 -1.5625q-0.53125 -0.984375 -0.53125 -2.203125q0 -1.21875 0.53125 -2.203125q0.53125 -0.984375 1.46875 -1.5625q0.953125 -0.578125 2.1875 -0.578125q1.234375 0 2.171875 0.59375q0.953125 0.578125 1.484375 1.5625q0.53125 0.984375 0.53125 2.1875q0 1.21875 -0.53125 2.203125q-0.53125 0.984375 -1.484375 1.5625q-0.9375 0.5625 -2.171875 0.5625zm0 -1.21875q0.734375 0 1.375 -0.375q0.65625 -0.375 1.046875 -1.0625q0.40625 -0.703125 0.40625 -1.671875q0 -0.984375 -0.40625 -1.671875q-0.390625 -0.703125 -1.046875 -1.0625q-0.640625 -0.375 -1.375 -0.375q-0.734375 0 -1.390625 0.375q-0.65625 0.359375 -1.0625 1.0625q-0.390625 0.6875 -0.390625 1.671875q0 0.96875 0.390625 1.671875q0.40625 0.6875 1.0625 1.0625q0.65625 0.375 1.390625 0.375zm8.379791 1.21875q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm9.150391 1.1875q-1.109375 0 -2.0 -0.546875q-0.890625 -0.5625 -1.40625 -1.53125q-0.5 -0.984375 -0.5 -2.25q0 -1.265625 0.5 -2.234375q0.515625 -0.984375 1.40625 -1.546875q0.890625 -0.5625 2.0 -0.5625q0.65625 0 1.1875 0.21875q0.546875 0.203125 0.953125 0.546875q0.421875 0.328125 0.640625 0.71875l0.0625 0l-0.0625 -1.140625l0 -3.375l1.359375 0l0 11.453125l-1.296875 0l0 -1.203125l-0.0625 0q-0.21875 0.375 -0.640625 0.71875q-0.40625 0.328125 -0.953125 0.53125q-0.53125 0.203125 -1.1875 0.203125zm0.140625 -1.21875q0.703125 0 1.3125 -0.375q0.625 -0.390625 1.0 -1.078125q0.390625 -0.703125 0.390625 -1.65625q0 -0.96875 -0.390625 -1.65625q-0.375 -0.703125 -1.0 -1.078125q-0.609375 -0.375 -1.3125 -0.375q-0.703125 0 -1.328125 0.375q-0.609375 0.375 -1.0 1.078125q-0.375 0.6875 -0.375 1.65625q0 0.9375 0.375 1.640625q0.390625 0.703125 1.0 1.09375q0.625 0.375 1.328125 0.375z" fill-rule="nonzero"/><path fill="#2bb7f6" d="m479.78348 99.600395l346.0787 0l0 86.70866l-346.0787 0z" fill-rule="evenodd"/><path fill="#000000" d="m562.3147 130.87473l0 -13.359375l4.703125 0q1.28125 0 2.3125 0.53125q1.03125 0.53125 1.625 1.484375q0.609375 0.953125 0.609375 2.203125q0 1.25 -0.609375 2.21875q-0.59375 0.953125 -1.625 1.484375q-1.03125 0.53125 -2.3125 0.53125l-3.3125 0l0 -2.390625l3.390625 0q0.640625 0 1.09375 -0.25q0.453125 -0.265625 0.671875 -0.6875q0.21875 -0.421875 0.21875 -0.90625q0 -0.484375 -0.21875 -0.890625q-0.21875 -0.421875 -0.671875 -0.671875q-0.453125 -0.265625 -1.09375 -0.265625l-2.265625 0l0 10.96875l-2.515625 0zm11.03656 0l0 -9.515625l2.296875 0l0 1.265625l0.15625 0q0.234375 -0.4375 0.640625 -0.78125q0.40625 -0.359375 0.9375 -0.5625q0.546875 -0.203125 1.15625 -0.203125q0.375 0 0.671875 0.0625q0.296875 0.046875 0.53125 0.140625l0 2.453125q-0.390625 -0.15625 -0.78125 -0.25q-0.375 -0.109375 -0.8125 -0.109375q-0.71875 0 -1.25 0.375q-0.53125 0.359375 -0.8125 0.984375q-0.28125 0.625 -0.28125 1.40625l0 4.734375l-2.453125 0zm11.96875 0.296875q-1.5 0 -2.65625 -0.65625q-1.140625 -0.671875 -1.78125 -1.8125q-0.640625 -1.15625 -0.640625 -2.578125q0 -1.4375 0.640625 -2.578125q0.640625 -1.15625 1.78125 -1.8125q1.15625 -0.671875 2.65625 -0.671875q1.484375 0 2.625 0.671875q1.140625 0.671875 1.78125 1.8125q0.640625 1.140625 0.640625 2.578125q0 1.421875 -0.640625 2.578125q-0.640625 1.140625 -1.78125 1.8125q-1.140625 0.65625 -2.625 0.65625zm0 -2.28125q0.703125 0 1.28125 -0.3125q0.59375 -0.328125 0.953125 -0.953125q0.375 -0.625 0.375 -1.5q0 -0.890625 -0.375 -1.5q-0.359375 -0.609375 -0.953125 -0.9375q-0.578125 -0.34375 -1.265625 -0.34375q-0.703125 0 -1.3125 0.34375q-0.609375 0.328125 -0.984375 0.9375q-0.359375 0.609375 -0.359375 1.5q0 0.875 0.359375 1.5q0.375 0.625 0.984375 0.953125q0.609375 0.3125 1.296875 0.3125zm11.004822 2.28125q-1.3125 0 -2.359375 -0.640625q-1.03125 -0.640625 -1.640625 -1.78125q-0.609375 -1.140625 -0.609375 -2.625q0 -1.5 0.609375 -2.640625q0.609375 -1.140625 1.640625 -1.78125q1.046875 -0.640625 2.359375 -0.640625q0.6875 0 1.25 0.203125q0.5625 0.203125 0.96875 0.546875q0.40625 0.328125 0.640625 0.703125l0.140625 0l-0.140625 -1.34375l0 -3.65625l2.421875 0l0 13.359375l-2.28125 0l0 -1.140625l-0.140625 0q-0.234375 0.375 -0.640625 0.703125q-0.40625 0.328125 -0.96875 0.53125q-0.5625 0.203125 -1.25 0.203125zm0.40625 -2.25q0.6875 0 1.28125 -0.359375q0.59375 -0.359375 0.953125 -0.984375q0.359375 -0.625 0.359375 -1.453125q0 -0.84375 -0.359375 -1.46875q-0.359375 -0.625 -0.953125 -0.96875q-0.59375 -0.34375 -1.28125 -0.34375q-0.671875 0 -1.265625 0.34375q-0.578125 0.34375 -0.953125 0.96875q-0.359375 0.609375 -0.359375 1.46875q0 0.828125 0.359375 1.46875q0.375 0.625 0.953125 0.984375q0.59375 0.34375 1.265625 0.34375zm10.709595 2.25q-1.75 0 -2.625 -1.078125q-0.875 -1.078125 -0.875 -2.953125l0 -5.78125l2.4375 0l0 5.484375q0 0.96875 0.46875 1.53125q0.484375 0.546875 1.234375 0.546875q0.71875 0 1.21875 -0.359375q0.515625 -0.375 0.78125 -0.984375q0.265625 -0.625 0.265625 -1.375l0 -4.84375l2.453125 0l0 9.515625l-2.296875 0l0 -1.1875l-0.15625 0q-0.28125 0.4375 -0.734375 0.78125q-0.4375 0.328125 -0.984375 0.515625q-0.546875 0.1875 -1.1875 0.1875zm12.128662 0q-1.453125 0 -2.59375 -0.640625q-1.125 -0.640625 -1.765625 -1.78125q-0.640625 -1.15625 -0.640625 -2.625q0 -1.484375 0.640625 -2.609375q0.640625 -1.140625 1.765625 -1.796875q1.140625 -0.65625 2.59375 -0.65625q1.578125 0 2.71875 0.671875q1.140625 0.671875 1.640625 1.9375l-2.234375 0.9375q-0.296875 -0.65625 -0.84375 -0.953125q-0.53125 -0.3125 -1.28125 -0.3125q-0.734375 0 -1.3125 0.34375q-0.578125 0.34375 -0.921875 0.96875q-0.328125 0.609375 -0.328125 1.46875q0 0.84375 0.328125 1.46875q0.34375 0.625 0.921875 0.984375q0.578125 0.34375 1.3125 0.34375q0.828125 0 1.359375 -0.359375q0.546875 -0.375 0.875 -1.015625l2.1875 0.984375q-0.5625 1.1875 -1.703125 1.921875q-1.140625 0.71875 -2.71875 0.71875zm5.4404297 -9.8125l6.4375 0l0 2.09375l-6.4375 0l0 -2.09375zm1.671875 6.46875l0 -9.15625l2.4375 0l0 8.71875q0 0.65625 0.28125 1.0q0.28125 0.34375 0.9375 0.34375q0.375 0 0.625 -0.109375q0.25 -0.125 0.5625 -0.3125l0 2.390625q-0.390625 0.15625 -0.8125 0.234375q-0.421875 0.09375 -0.890625 0.09375q-1.46875 0 -2.3125 -0.84375q-0.828125 -0.859375 -0.828125 -2.359375zm7.0479126 3.046875l0 -9.515625l2.4375 0l0 9.515625l-2.4375 0zm1.234375 -10.5625q-0.65625 0 -1.125 -0.46875q-0.46875 -0.46875 -0.46875 -1.109375q0 -0.65625 0.46875 -1.109375q0.46875 -0.46875 1.125 -0.46875q0.65625 0 1.109375 0.46875q0.453125 0.453125 0.453125 1.109375q0 0.640625 -0.453125 1.109375q-0.453125 0.46875 -1.109375 0.46875zm8.208984 10.859375q-1.5 0 -2.65625 -0.65625q-1.140625 -0.671875 -1.78125 -1.8125q-0.640625 -1.15625 -0.640625 -2.578125q0 -1.4375 0.640625 -2.578125q0.640625 -1.15625 1.78125 -1.8125q1.15625 -0.671875 2.65625 -0.671875q1.484375 0 2.625 0.671875q1.140625 0.671875 1.78125 1.8125q0.640625 1.140625 0.640625 2.578125q0 1.421875 -0.640625 2.578125q-0.640625 1.140625 -1.78125 1.8125q-1.140625 0.65625 -2.625 0.65625zm0 -2.28125q0.703125 0 1.28125 -0.3125q0.59375 -0.328125 0.953125 -0.953125q0.375 -0.625 0.375 -1.5q0 -0.890625 -0.375 -1.5q-0.359375 -0.609375 -0.953125 -0.9375q-0.578125 -0.34375 -1.265625 -0.34375q-0.703125 0 -1.3125 0.34375q-0.609375 0.328125 -0.984375 0.9375q-0.359375 0.609375 -0.359375 1.5q0 0.875 0.359375 1.5q0.375 0.625 0.984375 0.953125q0.609375 0.3125 1.296875 0.3125zm6.7244263 1.984375l0 -9.515625l2.296875 0l0 1.1875l0.15625 0q0.421875 -0.6875 1.203125 -1.078125q0.796875 -0.40625 1.703125 -0.40625q1.75 0 2.625 1.0625q0.890625 1.0625 0.890625 2.84375l0 5.90625l-2.453125 0l0 -5.609375q0 -0.9375 -0.484375 -1.421875q-0.46875 -0.5 -1.28125 -0.5q-0.671875 0 -1.171875 0.359375q-0.5 0.359375 -0.765625 0.96875q-0.265625 0.609375 -0.265625 1.359375l0 4.84375l-2.453125 0zm14.868835 -9.515625l6.4375 0l0 2.09375l-6.4375 0l0 -2.09375zm1.671875 6.46875l0 -9.15625l2.4375 0l0 8.71875q0 0.65625 0.28125 1.0q0.28125 0.34375 0.9375 0.34375q0.375 0 0.625 -0.109375q0.25 -0.125 0.5625 -0.3125l0 2.390625q-0.390625 0.15625 -0.8125 0.234375q-0.421875 0.09375 -0.890625 0.09375q-1.46875 0 -2.3125 -0.84375q-0.828125 -0.859375 -0.828125 -2.359375zm11.02478 3.34375q-1.5 0 -2.65625 -0.65625q-1.140625 -0.671875 -1.78125 -1.8125q-0.640625 -1.15625 -0.640625 -2.578125q0 -1.4375 0.640625 -2.578125q0.640625 -1.15625 1.78125 -1.8125q1.15625 -0.671875 2.65625 -0.671875q1.484375 0 2.625 0.671875q1.140625 0.671875 1.78125 1.8125q0.640625 1.140625 0.640625 2.578125q0 1.421875 -0.640625 2.578125q-0.640625 1.140625 -1.78125 1.8125q-1.140625 0.65625 -2.625 0.65625zm0 -2.28125q0.703125 0 1.28125 -0.3125q0.59375 -0.328125 0.953125 -0.953125q0.375 -0.625 0.375 -1.5q0 -0.890625 -0.375 -1.5q-0.359375 -0.609375 -0.953125 -0.9375q-0.578125 -0.34375 -1.265625 -0.34375q-0.703125 0 -1.3125 0.34375q-0.609375 0.328125 -0.984375 0.9375q-0.359375 0.609375 -0.359375 1.5q0 0.875 0.359375 1.5q0.375 0.625 0.984375 0.953125q0.609375 0.3125 1.296875 0.3125zm11.473633 2.28125q-1.5 0 -2.65625 -0.65625q-1.140625 -0.671875 -1.78125 -1.8125q-0.640625 -1.15625 -0.640625 -2.578125q0 -1.4375 0.640625 -2.578125q0.640625 -1.15625 1.78125 -1.8125q1.15625 -0.671875 2.65625 -0.671875q1.484375 0 2.625 0.671875q1.140625 0.671875 1.78125 1.8125q0.640625 1.140625 0.640625 2.578125q0 1.421875 -0.640625 2.578125q-0.640625 1.140625 -1.78125 1.8125q-1.140625 0.65625 -2.625 0.65625zm0 -2.28125q0.703125 0 1.28125 -0.3125q0.59375 -0.328125 0.953125 -0.953125q0.375 -0.625 0.375 -1.5q0 -0.890625 -0.375 -1.5q-0.359375 -0.609375 -0.953125 -0.9375q-0.578125 -0.34375 -1.265625 -0.34375q-0.703125 0 -1.3125 0.34375q-0.609375 0.328125 -0.984375 0.9375q-0.359375 0.609375 -0.359375 1.5q0 0.875 0.359375 1.5q0.375 0.625 0.984375 0.953125q0.609375 0.3125 1.296875 0.3125zm6.848999 1.984375l0 -13.359375l2.4375 0l0 13.359375l-2.4375 0zm9.229065 0.296875q-1.453125 0 -2.59375 -0.640625q-1.125 -0.640625 -1.765625 -1.78125q-0.640625 -1.15625 -0.640625 -2.625q0 -1.484375 0.640625 -2.609375q0.640625 -1.140625 1.765625 -1.796875q1.140625 -0.65625 2.59375 -0.65625q1.578125 0 2.71875 0.671875q1.140625 0.671875 1.640625 1.9375l-2.234375 0.9375q-0.296875 -0.65625 -0.84375 -0.953125q-0.53125 -0.3125 -1.28125 -0.3125q-0.734375 0 -1.3125 0.34375q-0.578125 0.34375 -0.921875 0.96875q-0.328125 0.609375 -0.328125 1.46875q0 0.84375 0.328125 1.46875q0.34375 0.625 0.921875 0.984375q0.578125 0.34375 1.3125 0.34375q0.828125 0 1.359375 -0.359375q0.546875 -0.375 0.875 -1.015625l2.1875 0.984375q-0.5625 1.1875 -1.703125 1.921875q-1.140625 0.71875 -2.71875 0.71875zm6.2056274 -0.296875l0 -13.359375l2.453125 0l0 3.375l-0.15625 1.65625l0.15625 0q0.40625 -0.640625 1.171875 -1.0625q0.78125 -0.421875 1.71875 -0.421875q1.171875 0 1.96875 0.484375q0.8125 0.46875 1.203125 1.34375q0.40625 0.875 0.40625 2.078125l0 5.90625l-2.4375 0l0 -5.609375q0 -0.640625 -0.234375 -1.0625q-0.234375 -0.421875 -0.640625 -0.640625q-0.390625 -0.21875 -0.9375 -0.21875q-0.65625 0 -1.15625 0.359375q-0.5 0.359375 -0.78125 0.984375q-0.28125 0.609375 -0.28125 1.359375l0 4.828125l-2.453125 0zm14.059631 0.296875q-1.015625 0 -1.796875 -0.390625q-0.765625 -0.40625 -1.21875 -1.125q-0.4375 -0.734375 -0.4375 -1.6875q0 -1.0 0.5 -1.703125q0.515625 -0.703125 1.390625 -1.09375q0.875 -0.390625 1.9375 -0.390625q0.578125 0 1.046875 0.0625q0.46875 0.0625 0.84375 0.15625q0.375 0.09375 0.625 0.203125l0 -0.40625q0 -0.765625 -0.578125 -1.25q-0.578125 -0.5 -1.59375 -0.5q-0.671875 0 -1.296875 0.3125q-0.625 0.296875 -1.03125 0.796875l-1.5625 -1.234375q0.46875 -0.59375 1.078125 -1.015625q0.609375 -0.421875 1.359375 -0.625q0.75 -0.21875 1.5625 -0.21875q2.1875 0 3.328125 1.015625q1.140625 1.0 1.140625 2.9375l0 5.859375l-2.40625 0l0 -0.96875l-0.15625 0q-0.265625 0.328125 -0.65625 0.625q-0.390625 0.28125 -0.921875 0.453125q-0.515625 0.1875 -1.15625 0.1875zm0.578125 -1.90625q0.734375 0 1.25 -0.3125q0.515625 -0.328125 0.78125 -0.84375q0.28125 -0.53125 0.28125 -1.109375q-0.421875 -0.203125 -0.9375 -0.328125q-0.515625 -0.125 -1.0625 -0.125q-1.078125 0 -1.5 0.421875q-0.40625 0.40625 -0.40625 1.0q0 0.5625 0.40625 0.9375q0.40625 0.359375 1.1875 0.359375zm7.1223755 1.609375l0 -9.515625l2.4375 0l0 9.515625l-2.4375 0zm1.234375 -10.5625q-0.65625 0 -1.125 -0.46875q-0.46875 -0.46875 -0.46875 -1.109375q0 -0.65625 0.46875 -1.109375q0.46875 -0.46875 1.125 -0.46875q0.65625 0 1.109375 0.46875q0.453125 0.453125 0.453125 1.109375q0 0.640625 -0.453125 1.109375q-0.453125 0.46875 -1.109375 0.46875zm3.7398682 10.5625l0 -9.515625l2.296875 0l0 1.1875l0.15625 0q0.421875 -0.6875 1.203125 -1.078125q0.796875 -0.40625 1.703125 -0.40625q1.75 0 2.625 1.0625q0.890625 1.0625 0.890625 2.84375l0 5.90625l-2.453125 0l0 -5.609375q0 -0.9375 -0.484375 -1.421875q-0.46875 -0.5 -1.28125 -0.5q-0.671875 0 -1.171875 0.359375q-0.5 0.359375 -0.765625 0.96875q-0.265625 0.609375 -0.265625 1.359375l0 4.84375l-2.453125 0z" fill-rule="nonzero"/><path fill="#222222" d="m562.0647 150.31473l0 -11.453125l6.625 0l0 1.296875l-5.265625 0l0 10.15625l-1.359375 0zm0.71875 -4.953125l0 -1.28125l5.390625 0l0 1.28125l-5.390625 0zm9.7854 5.203125q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm8.525391 1.1875q-0.921875 0 -1.625 -0.296875q-0.6875 -0.296875 -1.140625 -0.796875q-0.453125 -0.5 -0.671875 -1.09375l1.203125 -0.546875q0.328125 0.734375 0.9375 1.140625q0.609375 0.40625 1.390625 0.40625q0.75 0 1.25 -0.296875q0.515625 -0.3125 0.515625 -0.90625q0 -0.375 -0.21875 -0.625q-0.203125 -0.25 -0.609375 -0.421875q-0.390625 -0.171875 -0.96875 -0.3125l-1.0 -0.265625q-0.5625 -0.15625 -1.078125 -0.4375q-0.515625 -0.296875 -0.828125 -0.75q-0.3125 -0.453125 -0.3125 -1.109375q0 -0.734375 0.421875 -1.265625q0.4375 -0.53125 1.140625 -0.8125q0.703125 -0.28125 1.515625 -0.28125q0.703125 0 1.3125 0.203125q0.625 0.203125 1.078125 0.59375q0.46875 0.390625 0.703125 0.96875l-1.171875 0.546875q-0.3125 -0.609375 -0.828125 -0.84375q-0.5 -0.25 -1.125 -0.25q-0.671875 0 -1.171875 0.296875q-0.5 0.296875 -0.5 0.8125q0 0.515625 0.40625 0.765625q0.40625 0.25 1.0 0.421875l1.1875 0.296875q1.203125 0.3125 1.8125 0.90625q0.609375 0.59375 0.609375 1.46875q0 0.765625 -0.4375 1.328125q-0.4375 0.546875 -1.171875 0.859375q-0.734375 0.296875 -1.625 0.296875zm4.081787 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.253601 2.390625q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm8.306763 0q-0.921875 0 -1.625 -0.296875q-0.6875 -0.296875 -1.140625 -0.796875q-0.453125 -0.5 -0.671875 -1.09375l1.203125 -0.546875q0.328125 0.734375 0.9375 1.140625q0.609375 0.40625 1.390625 0.40625q0.75 0 1.25 -0.296875q0.515625 -0.3125 0.515625 -0.90625q0 -0.375 -0.21875 -0.625q-0.203125 -0.25 -0.609375 -0.421875q-0.390625 -0.171875 -0.96875 -0.3125l-1.0 -0.265625q-0.5625 -0.15625 -1.078125 -0.4375q-0.515625 -0.296875 -0.828125 -0.75q-0.3125 -0.453125 -0.3125 -1.109375q0 -0.734375 0.421875 -1.265625q0.4375 -0.53125 1.140625 -0.8125q0.703125 -0.28125 1.515625 -0.28125q0.703125 0 1.3125 0.203125q0.625 0.203125 1.078125 0.59375q0.46875 0.390625 0.703125 0.96875l-1.171875 0.546875q-0.3125 -0.609375 -0.828125 -0.84375q-0.5 -0.25 -1.125 -0.25q-0.671875 0 -1.171875 0.296875q-0.5 0.296875 -0.5 0.8125q0 0.515625 0.40625 0.765625q0.40625 0.25 1.0 0.421875l1.1875 0.296875q1.203125 0.3125 1.8125 0.90625q0.609375 0.59375 0.609375 1.46875q0 0.765625 -0.4375 1.328125q-0.4375 0.546875 -1.171875 0.859375q-0.734375 0.296875 -1.625 0.296875zm4.081787 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.692627 2.140625l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.3125 -0.59375 1.03125 -1.03125q0.734375 -0.4375 1.609375 -0.4375q1.5 0 2.25 0.875q0.765625 0.875 0.765625 2.3125l0 5.234375l-1.359375 0l0 -5.03125q0 -1.171875 -0.578125 -1.65625q-0.5625 -0.5 -1.453125 -0.5q-0.671875 0 -1.1875 0.375q-0.515625 0.375 -0.796875 0.96875q-0.28125 0.59375 -0.28125 1.25l0 4.59375l-1.359375 0zm11.489746 0.25q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm5.0391235 -7.21875l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm5.185669 2.140625l0 -8.15625l1.359375 0l0 8.15625l-1.359375 0zm0.671875 -9.65625q-0.40625 0 -0.703125 -0.28125q-0.28125 -0.296875 -0.28125 -0.703125q0 -0.421875 0.28125 -0.6875q0.296875 -0.28125 0.703125 -0.28125q0.40625 0 0.6875 0.28125q0.28125 0.265625 0.28125 0.6875q0 0.40625 -0.28125 0.703125q-0.28125 0.28125 -0.6875 0.28125zm5.209778 9.65625l-3.296875 -8.15625l1.453125 0l2.53125 6.5625l0.03125 0l2.5625 -6.5625l1.421875 0l-3.328125 8.15625l-1.375 0zm9.218384 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm12.844971 0q-1.234375 0 -2.1875 -0.5625q-0.9375 -0.578125 -1.46875 -1.5625q-0.53125 -0.984375 -0.53125 -2.203125q0 -1.21875 0.53125 -2.203125q0.53125 -0.984375 1.46875 -1.5625q0.953125 -0.578125 2.1875 -0.578125q1.234375 0 2.171875 0.59375q0.953125 0.578125 1.484375 1.5625q0.53125 0.984375 0.53125 2.1875q0 1.21875 -0.53125 2.203125q-0.53125 0.984375 -1.484375 1.5625q-0.9375 0.5625 -2.171875 0.5625zm0 -1.21875q0.734375 0 1.375 -0.375q0.65625 -0.375 1.046875 -1.0625q0.40625 -0.703125 0.40625 -1.671875q0 -0.984375 -0.40625 -1.671875q-0.390625 -0.703125 -1.046875 -1.0625q-0.640625 -0.375 -1.375 -0.375q-0.734375 0 -1.390625 0.375q-0.65625 0.359375 -1.0625 1.0625q-0.390625 0.6875 -0.390625 1.671875q0 0.96875 0.390625 1.671875q0.40625 0.6875 1.0625 1.0625q0.65625 0.375 1.390625 0.375zm8.65918 1.21875q-1.5 0 -2.265625 -0.875q-0.765625 -0.875 -0.765625 -2.40625l0 -5.125l1.359375 0l0 4.921875q0 1.21875 0.5625 1.75q0.5625 0.515625 1.390625 0.515625q0.71875 0 1.25 -0.375q0.53125 -0.390625 0.8125 -0.96875q0.296875 -0.59375 0.296875 -1.234375l0 -4.609375l1.359375 0l0 8.15625l-1.296875 0l0 -1.1875l-0.0625 0q-0.203125 0.390625 -0.625 0.71875q-0.40625 0.328125 -0.921875 0.515625q-0.515625 0.203125 -1.09375 0.203125zm5.5404053 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm5.060608 5.59375l0 -11.609375l1.28125 0l0 1.21875l0.078125 0q0.21875 -0.390625 0.625 -0.71875q0.40625 -0.34375 0.953125 -0.546875q0.546875 -0.21875 1.203125 -0.21875q1.109375 0 1.984375 0.5625q0.890625 0.5625 1.40625 1.546875q0.515625 0.96875 0.515625 2.234375q0 1.265625 -0.515625 2.25q-0.515625 0.96875 -1.40625 1.53125q-0.875 0.546875 -1.984375 0.546875q-0.984375 0 -1.71875 -0.4375q-0.734375 -0.453125 -1.0625 -1.015625l-0.078125 0l0.078125 1.125l0 3.53125l-1.359375 0zm4.0 -4.421875q0.703125 0 1.3125 -0.375q0.609375 -0.390625 0.984375 -1.09375q0.390625 -0.703125 0.390625 -1.640625q0 -0.96875 -0.390625 -1.65625q-0.375 -0.703125 -0.984375 -1.078125q-0.609375 -0.375 -1.3125 -0.375q-0.71875 0 -1.328125 0.375q-0.609375 0.375 -1.0 1.078125q-0.390625 0.6875 -0.390625 1.65625q0 0.953125 0.390625 1.65625q0.390625 0.6875 1.0 1.078125q0.609375 0.375 1.328125 0.375zm8.505127 1.21875q-1.5 0 -2.265625 -0.875q-0.765625 -0.875 -0.765625 -2.40625l0 -5.125l1.359375 0l0 4.921875q0 1.21875 0.5625 1.75q0.5625 0.515625 1.390625 0.515625q0.71875 0 1.25 -0.375q0.53125 -0.390625 0.8125 -0.96875q0.296875 -0.59375 0.296875 -1.234375l0 -4.609375l1.359375 0l0 8.15625l-1.296875 0l0 -1.1875l-0.0625 0q-0.203125 0.390625 -0.625 0.71875q-0.40625 0.328125 -0.921875 0.515625q-0.515625 0.203125 -1.09375 0.203125zm5.5404053 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875z" fill-rule="nonzero"/><path fill="#222222" d="m565.2678 169.56473q-0.84375 0 -1.65625 -0.34375q-0.8125 -0.359375 -1.4375 -1.046875q-0.625 -0.6875 -0.90625 -1.703125l1.296875 -0.53125q0.265625 0.984375 0.984375 1.65625q0.71875 0.671875 1.75 0.671875q0.640625 0 1.171875 -0.21875q0.53125 -0.234375 0.859375 -0.6875q0.328125 -0.453125 0.328125 -1.09375q0 -0.5625 -0.28125 -0.96875q-0.28125 -0.40625 -0.84375 -0.71875q-0.546875 -0.3125 -1.359375 -0.59375l-0.734375 -0.25q-0.46875 -0.1875 -0.96875 -0.421875q-0.484375 -0.25 -0.890625 -0.609375q-0.40625 -0.359375 -0.65625 -0.859375q-0.234375 -0.515625 -0.234375 -1.203125q0 -0.828125 0.453125 -1.515625q0.453125 -0.6875 1.234375 -1.109375q0.78125 -0.421875 1.8125 -0.421875q1.0625 0 1.78125 0.40625q0.734375 0.390625 1.15625 0.921875q0.4375 0.53125 0.578125 0.984375l-1.265625 0.546875q-0.09375 -0.34375 -0.375 -0.703125q-0.265625 -0.359375 -0.71875 -0.609375q-0.453125 -0.25 -1.140625 -0.25q-0.5625 0 -1.0625 0.234375q-0.484375 0.21875 -0.78125 0.609375q-0.296875 0.390625 -0.296875 0.90625q0 0.71875 0.578125 1.140625q0.578125 0.40625 1.5625 0.75l0.75 0.25q0.515625 0.171875 1.046875 0.4375q0.53125 0.25 1.0 0.65625q0.46875 0.390625 0.75 0.984375q0.28125 0.578125 0.28125 1.390625q0 0.890625 -0.34375 1.53125q-0.34375 0.625 -0.90625 1.03125q-0.546875 0.390625 -1.21875 0.5625q-0.65625 0.1875 -1.296875 0.1875zm5.5233154 -0.25l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.21875 -0.40625 0.609375 -0.734375q0.390625 -0.328125 0.890625 -0.53125q0.515625 -0.203125 1.03125 -0.203125q0.921875 0 1.578125 0.453125q0.65625 0.4375 0.9375 1.140625q0.421875 -0.6875 1.125 -1.140625q0.703125 -0.453125 1.671875 -0.453125q1.46875 0 2.15625 0.890625q0.6875 0.875 0.6875 2.296875l0 5.234375l-1.34375 0l0 -5.03125q0 -1.171875 -0.484375 -1.65625q-0.484375 -0.5 -1.359375 -0.5q-0.625 0 -1.125 0.359375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.578125 -0.265625 1.265625l0 4.609375l-1.359375 0l0 -5.015625q0 -1.171875 -0.484375 -1.671875q-0.484375 -0.5 -1.34375 -0.5q-0.625 0 -1.125 0.375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.59375 -0.265625 1.28125l0 4.578125l-1.359375 0zm16.513733 0.25q-0.90625 0 -1.59375 -0.34375q-0.6875 -0.359375 -1.078125 -0.96875q-0.390625 -0.625 -0.390625 -1.40625q0 -0.890625 0.453125 -1.5q0.46875 -0.625 1.25 -0.9375q0.796875 -0.3125 1.734375 -0.3125q0.546875 0 1.0 0.09375q0.46875 0.078125 0.8125 0.203125q0.34375 0.125 0.515625 0.234375l0 -0.5q0 -0.921875 -0.65625 -1.46875q-0.640625 -0.546875 -1.59375 -0.546875q-0.671875 0 -1.265625 0.296875q-0.578125 0.296875 -0.90625 0.828125l-1.03125 -0.765625q0.328125 -0.484375 0.796875 -0.828125q0.484375 -0.359375 1.09375 -0.546875q0.625 -0.203125 1.3125 -0.203125q1.671875 0 2.609375 0.890625q0.9375 0.875 0.9375 2.359375l0 5.171875l-1.296875 0l0 -1.171875l-0.0625 0q-0.203125 0.359375 -0.59375 0.6875q-0.375 0.328125 -0.90625 0.53125q-0.515625 0.203125 -1.140625 0.203125zm0.140625 -1.1875q0.703125 0 1.28125 -0.34375q0.578125 -0.359375 0.921875 -0.953125q0.359375 -0.59375 0.359375 -1.296875q-0.359375 -0.265625 -0.921875 -0.421875q-0.546875 -0.15625 -1.203125 -0.15625q-1.15625 0 -1.703125 0.484375q-0.546875 0.46875 -0.546875 1.171875q0 0.671875 0.5 1.09375q0.515625 0.421875 1.3125 0.421875zm5.7616577 0.9375l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm3.3760376 0l0 -11.453125l1.359375 0l0 11.453125l-1.359375 0zm6.9209595 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375zm8.306763 0q-0.921875 0 -1.625 -0.296875q-0.6875 -0.296875 -1.140625 -0.796875q-0.453125 -0.5 -0.671875 -1.09375l1.203125 -0.546875q0.328125 0.734375 0.9375 1.140625q0.609375 0.40625 1.390625 0.40625q0.75 0 1.25 -0.296875q0.515625 -0.3125 0.515625 -0.90625q0 -0.375 -0.21875 -0.625q-0.203125 -0.25 -0.609375 -0.421875q-0.390625 -0.171875 -0.96875 -0.3125l-1.0 -0.265625q-0.5625 -0.15625 -1.078125 -0.4375q-0.515625 -0.296875 -0.828125 -0.75q-0.3125 -0.453125 -0.3125 -1.109375q0 -0.734375 0.421875 -1.265625q0.4375 -0.53125 1.140625 -0.8125q0.703125 -0.28125 1.515625 -0.28125q0.703125 0 1.3125 0.203125q0.625 0.203125 1.078125 0.59375q0.46875 0.390625 0.703125 0.96875l-1.171875 0.546875q-0.3125 -0.609375 -0.828125 -0.84375q-0.5 -0.25 -1.125 -0.25q-0.671875 0 -1.171875 0.296875q-0.5 0.296875 -0.5 0.8125q0 0.515625 0.40625 0.765625q0.40625 0.25 1.0 0.421875l1.1875 0.296875q1.203125 0.3125 1.8125 0.90625q0.609375 0.59375 0.609375 1.46875q0 0.765625 -0.4375 1.328125q-0.4375 0.546875 -1.171875 0.859375q-0.734375 0.296875 -1.625 0.296875zm4.081787 -8.40625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm8.692627 2.140625l0 -8.15625l1.28125 0l0 1.3125l0.078125 0q0.15625 -0.46875 0.53125 -0.8125q0.375 -0.34375 0.859375 -0.546875q0.484375 -0.203125 0.96875 -0.203125q0.375 0 0.578125 0.046875q0.203125 0.046875 0.390625 0.125l0 1.46875q-0.265625 -0.125 -0.5625 -0.1875q-0.296875 -0.078125 -0.59375 -0.078125q-0.59375 0 -1.09375 0.34375q-0.5 0.328125 -0.796875 0.890625q-0.28125 0.5625 -0.28125 1.234375l0 4.5625l-1.359375 0zm8.953125 0.25q-1.5 0 -2.265625 -0.875q-0.765625 -0.875 -0.765625 -2.40625l0 -5.125l1.359375 0l0 4.921875q0 1.21875 0.5625 1.75q0.5625 0.515625 1.390625 0.515625q0.71875 0 1.25 -0.375q0.53125 -0.390625 0.8125 -0.96875q0.296875 -0.59375 0.296875 -1.234375l0 -4.609375l1.359375 0l0 8.15625l-1.296875 0l0 -1.1875l-0.0625 0q-0.203125 0.390625 -0.625 0.71875q-0.40625 0.328125 -0.921875 0.515625q-0.515625 0.203125 -1.09375 0.203125zm6.022888 -0.25l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.3125 -0.59375 1.03125 -1.03125q0.734375 -0.4375 1.609375 -0.4375q1.5 0 2.25 0.875q0.765625 0.875 0.765625 2.3125l0 5.234375l-1.359375 0l0 -5.03125q0 -1.171875 -0.578125 -1.65625q-0.5625 -0.5 -1.453125 -0.5q-0.671875 0 -1.1875 0.375q-0.515625 0.375 -0.796875 0.96875q-0.28125 0.59375 -0.28125 1.25l0 4.59375l-1.359375 0zm8.01355 -8.15625l4.78125 0l0 1.234375l-4.78125 0l0 -1.234375zm1.421875 6.015625l0 -8.328125l1.359375 0l0 7.984375q0 0.640625 0.265625 1.0q0.265625 0.34375 0.875 0.34375q0.265625 0 0.484375 -0.078125q0.234375 -0.078125 0.40625 -0.1875l0 1.328125q-0.203125 0.09375 -0.453125 0.140625q-0.25 0.0625 -0.671875 0.0625q-1.015625 0 -1.640625 -0.59375q-0.625 -0.609375 -0.625 -1.671875zm5.185608 2.140625l0 -8.15625l1.359375 0l0 8.15625l-1.359375 0zm0.671875 -9.65625q-0.40625 0 -0.703125 -0.28125q-0.28125 -0.296875 -0.28125 -0.703125q0 -0.421875 0.28125 -0.6875q0.296875 -0.28125 0.703125 -0.28125q0.40625 0 0.6875 0.28125q0.28125 0.265625 0.28125 0.6875q0 0.40625 -0.28125 0.703125q-0.28125 0.28125 -0.6875 0.28125zm2.8191528 9.65625l0 -8.15625l1.28125 0l0 1.203125l0.078125 0q0.21875 -0.40625 0.609375 -0.734375q0.390625 -0.328125 0.890625 -0.53125q0.515625 -0.203125 1.03125 -0.203125q0.921875 0 1.578125 0.453125q0.65625 0.4375 0.9375 1.140625q0.421875 -0.6875 1.125 -1.140625q0.703125 -0.453125 1.671875 -0.453125q1.46875 0 2.15625 0.890625q0.6875 0.875 0.6875 2.296875l0 5.234375l-1.34375 0l0 -5.03125q0 -1.171875 -0.484375 -1.65625q-0.484375 -0.5 -1.359375 -0.5q-0.625 0 -1.125 0.359375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.578125 -0.265625 1.265625l0 4.609375l-1.359375 0l0 -5.015625q0 -1.171875 -0.484375 -1.671875q-0.484375 -0.5 -1.34375 -0.5q-0.625 0 -1.125 0.375q-0.484375 0.359375 -0.765625 0.953125q-0.265625 0.59375 -0.265625 1.28125l0 4.578125l-1.359375 0zm17.625061 0.25q-1.1875 0 -2.109375 -0.546875q-0.921875 -0.5625 -1.4375 -1.53125q-0.515625 -0.984375 -0.515625 -2.234375q0 -1.171875 0.484375 -2.15625q0.484375 -1.0 1.375 -1.59375q0.890625 -0.609375 2.09375 -0.609375q1.21875 0 2.078125 0.546875q0.875 0.53125 1.34375 1.484375q0.484375 0.9375 0.484375 2.15625q0 0.109375 -0.015625 0.21875q0 0.109375 -0.015625 0.1875l-7.03125 0l0 -1.109375l5.609375 0q-0.015625 -0.34375 -0.15625 -0.734375q-0.125 -0.390625 -0.421875 -0.734375q-0.296875 -0.34375 -0.75 -0.5625q-0.453125 -0.21875 -1.125 -0.21875q-0.796875 0 -1.390625 0.40625q-0.578125 0.40625 -0.890625 1.125q-0.3125 0.703125 -0.3125 1.59375q0 1.03125 0.390625 1.734375q0.40625 0.6875 1.03125 1.03125q0.640625 0.328125 1.328125 0.328125q0.890625 0 1.46875 -0.421875q0.59375 -0.4375 0.953125 -1.0625l1.140625 0.5625q-0.46875 0.9375 -1.375 1.546875q-0.890625 0.59375 -2.234375 0.59375z" fill-rule="nonzero"/><path fill="#02589b" d="m407.53937 256.5781l8.637787 0l0 -54.72441l17.275604 0l0 54.72441l8.637787 0l-17.275574 17.275574z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m421.23227 256.5781l8.637817 0l0 -54.72441l17.275574 0l0 54.72441l8.637817 0l-17.275604 17.275574z" fill-rule="evenodd"/><path fill="#02589b" d="m543.86743 258.52036l8.637817 0l0 -54.724426l17.275574 0l0 54.724426l8.637817 0l-17.275574 17.275574z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m557.56036 258.52036l8.637817 0l0 -54.724426l17.275574 0l0 54.724426l8.637817 0l-17.275635 17.275574z" fill-rule="evenodd"/><path fill="#02589b" d="m757.20605 258.53552l8.637756 0l0 -51.974014l17.275635 0l0 51.974014l8.637756 0l-17.275574 17.275604z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m770.8989 258.53552l8.637817 0l0 -51.974014l17.275574 0l0 51.974014l8.637817 0l-17.275574 17.275604z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m150.62932 118.833984l48.24411 0l0 48.24411l-48.24411 0z" fill-rule="evenodd"/><g transform="matrix(0.25127139107611546 0.0 0.0 0.25127139107611546 150.62931364829396 118.83398293963253)"><clipPath id="g6d68e641dc_0_1.4"><path d="m1.1368684E-13 5.684342E-14l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.4)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g><path fill="#000000" fill-opacity="0.0" d="m493.4072 118.83327l48.24411 0l0 48.244812l-48.24411 0z" fill-rule="evenodd"/><g transform="matrix(0.25127139107611546 0.0 0.0 0.2512750656167979 493.40718950131236 118.8332653543307)"><clipPath id="g6d68e641dc_0_1.5"><path d="m2.2737368E-13 -5.684342E-14l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.5)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g><path fill="#02589b" d="m301.48557 186.3084l10.519684 0l0 19.685043l-10.519684 0z" fill-rule="evenodd"/><path stroke="#02589b" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m301.48557 186.3084l10.519684 0l0 19.685043l-10.519684 0z" fill-rule="evenodd"/><path fill="#02589b" d="m160.32808 258.52036l8.637802 0l0 -54.724426l17.275589 0l0 54.724426l8.637802 0l-17.275604 17.275574z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m174.021 258.52036l8.637802 0l0 -54.724426l17.275589 0l0 54.724426l8.637787 0l-17.275589 17.275574z" fill-rule="evenodd"/><path fill="#02589b" d="m169.6063 201.8517l610.01575 0l0 8.535446l-610.01575 0z" fill-rule="evenodd"/><path stroke="#02589b" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m169.6063 201.8517l610.01575 0l0 8.535446l-610.01575 0z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m647.56433 186.3084l10.519653 0l0 22.015747l-10.519653 0z" fill-rule="evenodd"/><path stroke="#2bb7f6" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m647.56433 186.3084l10.519653 0l0 22.015747l-10.519653 0z" fill-rule="evenodd"/><path fill="#2bb7f6" d="m183.33855 207.0958l611.5275 0l0 8.535446l-611.5275 0z" fill-rule="evenodd"/><path stroke="#2bb7f6" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m183.33855 207.0958l611.5275 0l0 8.535446l-611.5275 0z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m148.45145 402.17093l485.35434 0l0 35.24411l-485.35434 0z" fill-rule="evenodd"/><path fill="#000000" d="m149.9827 429.09094l0 -13.359375l4.515625 0q2.125 0 3.65625 0.859375q1.546875 0.84375 2.375 2.34375q0.828125 1.5 0.828125 3.484375q0 1.96875 -0.828125 3.484375q-0.828125 1.515625 -2.375 2.359375q-1.53125 0.828125 -3.65625 0.828125l-4.515625 0zm2.515625 -2.390625l1.890625 0q1.46875 0 2.453125 -0.53125q1.0 -0.53125 1.484375 -1.5q0.5 -0.96875 0.5 -2.25q0 -1.3125 -0.5 -2.265625q-0.484375 -0.96875 -1.484375 -1.5q-0.984375 -0.53125 -2.453125 -0.53125l-1.890625 0l0 8.578125zm13.830811 2.6875q-1.015625 0 -1.796875 -0.390625q-0.765625 -0.40625 -1.21875 -1.125q-0.4375 -0.734375 -0.4375 -1.6875q0 -1.0 0.5 -1.703125q0.515625 -0.703125 1.390625 -1.09375q0.875 -0.390625 1.9375 -0.390625q0.578125 0 1.046875 0.0625q0.46875 0.0625 0.84375 0.15625q0.375 0.09375 0.625 0.203125l0 -0.40625q0 -0.765625 -0.578125 -1.25q-0.578125 -0.5 -1.59375 -0.5q-0.671875 0 -1.296875 0.3125q-0.625 0.296875 -1.03125 0.796875l-1.5625 -1.234375q0.46875 -0.59375 1.078125 -1.015625q0.609375 -0.421875 1.359375 -0.625q0.75 -0.21875 1.5625 -0.21875q2.1875 0 3.328125 1.015625q1.140625 1.0 1.140625 2.9375l0 5.859375l-2.40625 0l0 -0.96875l-0.15625 0q-0.265625 0.328125 -0.65625 0.625q-0.390625 0.28125 -0.921875 0.453125q-0.515625 0.1875 -1.15625 0.1875zm0.578125 -1.90625q0.734375 0 1.25 -0.3125q0.515625 -0.328125 0.78125 -0.84375q0.28125 -0.53125 0.28125 -1.109375q-0.421875 -0.203125 -0.9375 -0.328125q-0.515625 -0.125 -1.0625 -0.125q-1.078125 0 -1.5 0.421875q-0.40625 0.40625 -0.40625 1.0q0 0.5625 0.40625 0.9375q0.40625 0.359375 1.1875 0.359375zm6.966156 1.609375l0 -9.515625l2.296875 0l0 1.265625l0.15625 0q0.234375 -0.4375 0.640625 -0.78125q0.40625 -0.359375 0.9375 -0.5625q0.546875 -0.203125 1.15625 -0.203125q0.375 0 0.671875 0.0625q0.296875 0.046875 0.53125 0.140625l0 2.453125q-0.390625 -0.15625 -0.78125 -0.25q-0.375 -0.109375 -0.8125 -0.109375q-0.71875 0 -1.25 0.375q-0.53125 0.359375 -0.8125 0.984375q-0.28125 0.625 -0.28125 1.40625l0 4.734375l-2.453125 0zm7.481003 -9.515625l6.4375 0l0 2.09375l-6.4375 0l0 -2.09375zm1.671875 6.46875l0 -9.15625l2.4375 0l0 8.71875q0 0.65625 0.28125 1.0q0.28125 0.34375 0.9375 0.34375q0.375 0 0.625 -0.109375q0.25 -0.125 0.5625 -0.3125l0 2.390625q-0.390625 0.15625 -0.8125 0.234375q-0.421875 0.09375 -0.890625 0.09375q-1.46875 0 -2.3125 -0.84375q-0.828125 -0.859375 -0.828125 -2.359375zm11.507629 3.046875l0 -13.359375l2.921875 0l5.375 8.953125l0.15625 0l-0.15625 -2.578125l0 -6.375l2.5 0l0 13.359375l-2.640625 0l-5.671875 -9.453125l-0.15625 0l0.15625 2.5625l0 6.890625l-2.484375 0zm16.159729 0.296875q-1.015625 0 -1.796875 -0.390625q-0.765625 -0.40625 -1.21875 -1.125q-0.4375 -0.734375 -0.4375 -1.6875q0 -1.0 0.5 -1.703125q0.515625 -0.703125 1.390625 -1.09375q0.875 -0.390625 1.9375 -0.390625q0.578125 0 1.046875 0.0625q0.46875 0.0625 0.84375 0.15625q0.375 0.09375 0.625 0.203125l0 -0.40625q0 -0.765625 -0.578125 -1.25q-0.578125 -0.5 -1.59375 -0.5q-0.671875 0 -1.296875 0.3125q-0.625 0.296875 -1.03125 0.796875l-1.5625 -1.234375q0.46875 -0.59375 1.078125 -1.015625q0.609375 -0.421875 1.359375 -0.625q0.75 -0.21875 1.5625 -0.21875q2.1875 0 3.328125 1.015625q1.140625 1.0 1.140625 2.9375l0 5.859375l-2.40625 0l0 -0.96875l-0.15625 0q-0.265625 0.328125 -0.65625 0.625q-0.390625 0.28125 -0.921875 0.453125q-0.515625 0.1875 -1.15625 0.1875zm0.578125 -1.90625q0.734375 0 1.25 -0.3125q0.515625 -0.328125 0.78125 -0.84375q0.28125 -0.53125 0.28125 -1.109375q-0.421875 -0.203125 -0.9375 -0.328125q-0.515625 -0.125 -1.0625 -0.125q-1.078125 0 -1.5 0.421875q-0.40625 0.40625 -0.40625 1.0q0 0.5625 0.40625 0.9375q0.40625 0.359375 1.1875 0.359375zm6.1076202 -7.90625l6.4375 0l0 2.09375l-6.4375 0l0 -2.09375zm1.671875 6.46875l0 -9.15625l2.4375 0l0 8.71875q0 0.65625 0.28125 1.0q0.28125 0.34375 0.9375 0.34375q0.375 0 0.625 -0.109375q0.25 -0.125 0.5625 -0.3125l0 2.390625q-0.390625 0.15625 -0.8125 0.234375q-0.421875 0.09375 -0.890625 0.09375q-1.46875 0 -2.3125 -0.84375q-0.828125 -0.859375 -0.828125 -2.359375zm7.0478973 3.046875l0 -9.515625l2.4375 0l0 9.515625l-2.4375 0zm1.234375 -10.5625q-0.65625 0 -1.125 -0.46875q-0.46875 -0.46875 -0.46875 -1.109375q0 -0.65625 0.46875 -1.109375q0.46875 -0.46875 1.125 -0.46875q0.65625 0 1.109375 0.46875q0.453125 0.453125 0.453125 1.109375q0 0.640625 -0.453125 1.109375q-0.453125 0.46875 -1.109375 0.46875zm6.7085876 10.5625l-4.03125 -9.515625l2.78125 0l2.40625 6.1875l0.15625 0l2.4375 -6.1875l2.75 0l-4.078125 9.515625l-2.421875 0zm12.003311 0.296875q-1.4375 0 -2.578125 -0.640625q-1.125 -0.65625 -1.765625 -1.796875q-0.640625 -1.140625 -0.640625 -2.59375q0 -1.359375 0.625 -2.515625q0.640625 -1.15625 1.734375 -1.859375q1.109375 -0.703125 2.53125 -0.703125q1.53125 0 2.5625 0.65625q1.046875 0.65625 1.59375 1.75q0.546875 1.078125 0.546875 2.40625q0 0.296875 -0.03125 0.515625q-0.015625 0.21875 -0.03125 0.3125l-8.171875 0l0 -1.734375l5.875 0q-0.015625 -0.328125 -0.1875 -0.65625q-0.15625 -0.34375 -0.46875 -0.625q-0.296875 -0.28125 -0.71875 -0.453125q-0.40625 -0.171875 -0.953125 -0.171875q-0.703125 0 -1.296875 0.375q-0.59375 0.359375 -0.9375 1.03125q-0.328125 0.65625 -0.328125 1.578125q0 0.953125 0.359375 1.609375q0.359375 0.65625 0.953125 1.015625q0.609375 0.34375 1.359375 0.34375q0.875 0 1.46875 -0.375q0.609375 -0.390625 0.9375 -0.96875l1.984375 0.96875q-0.671875 1.171875 -1.765625 1.859375q-1.078125 0.671875 -2.65625 0.671875z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m148.45145 402.17618l464.03146 0" fill-rule="evenodd"/><path stroke="#02589b" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m148.45145 402.17618l464.03146 0" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m640.0289 402.1706l177.29132 0l0 35.24411l-177.29132 0z" fill-rule="evenodd"/><path fill="#000000" d="m641.5601 429.0906l0 -13.359375l4.515625 0q2.125 0 3.65625 0.859375q1.546875 0.84375 2.375 2.34375q0.828125 1.5 0.828125 3.484375q0 1.96875 -0.828125 3.484375q-0.828125 1.515625 -2.375 2.359375q-1.53125 0.828125 -3.65625 0.828125l-4.515625 0zm2.515625 -2.390625l1.890625 0q1.46875 0 2.453125 -0.53125q1.0 -0.53125 1.484375 -1.5q0.5 -0.96875 0.5 -2.25q0 -1.3125 -0.5 -2.265625q-0.484375 -0.96875 -1.484375 -1.5q-0.984375 -0.53125 -2.453125 -0.53125l-1.890625 0l0 8.578125zm13.830811 2.6875q-1.015625 0 -1.796875 -0.390625q-0.765625 -0.40625 -1.21875 -1.125q-0.4375 -0.734375 -0.4375 -1.6875q0 -1.0 0.5 -1.703125q0.515625 -0.703125 1.390625 -1.09375q0.875 -0.390625 1.9375 -0.390625q0.578125 0 1.046875 0.0625q0.46875 0.0625 0.84375 0.15625q0.375 0.09375 0.625 0.203125l0 -0.40625q0 -0.765625 -0.578125 -1.25q-0.578125 -0.5 -1.59375 -0.5q-0.671875 0 -1.296875 0.3125q-0.625 0.296875 -1.03125 0.796875l-1.5625 -1.234375q0.46875 -0.59375 1.078125 -1.015625q0.609375 -0.421875 1.359375 -0.625q0.75 -0.21875 1.5625 -0.21875q2.1875 0 3.328125 1.015625q1.140625 1.0 1.140625 2.9375l0 5.859375l-2.40625 0l0 -0.96875l-0.15625 0q-0.265625 0.328125 -0.65625 0.625q-0.390625 0.28125 -0.921875 0.453125q-0.515625 0.1875 -1.15625 0.1875zm0.578125 -1.90625q0.734375 0 1.25 -0.3125q0.515625 -0.328125 0.78125 -0.84375q0.28125 -0.53125 0.28125 -1.109375q-0.421875 -0.203125 -0.9375 -0.328125q-0.515625 -0.125 -1.0625 -0.125q-1.078125 0 -1.5 0.421875q-0.40625 0.40625 -0.40625 1.0q0 0.5625 0.40625 0.9375q0.40625 0.359375 1.1875 0.359375zm6.9661865 1.609375l0 -9.515625l2.296875 0l0 1.265625l0.15625 0q0.234375 -0.4375 0.640625 -0.78125q0.40625 -0.359375 0.9375 -0.5625q0.546875 -0.203125 1.15625 -0.203125q0.375 0 0.671875 0.0625q0.296875 0.046875 0.53125 0.140625l0 2.453125q-0.390625 -0.15625 -0.78125 -0.25q-0.375 -0.109375 -0.8125 -0.109375q-0.71875 0 -1.25 0.375q-0.53125 0.359375 -0.8125 0.984375q-0.28125 0.625 -0.28125 1.40625l0 4.734375l-2.453125 0zm7.480957 -9.515625l6.4375 0l0 2.09375l-6.4375 0l0 -2.09375zm1.671875 6.46875l0 -9.15625l2.4375 0l0 8.71875q0 0.65625 0.28125 1.0q0.28125 0.34375 0.9375 0.34375q0.375 0 0.625 -0.109375q0.25 -0.125 0.5625 -0.3125l0 2.390625q-0.390625 0.15625 -0.8125 0.234375q-0.421875 0.09375 -0.890625 0.09375q-1.46875 0 -2.3125 -0.84375q-0.828125 -0.859375 -0.828125 -2.359375zm13.089111 3.046875l-3.546875 -13.359375l2.796875 0l1.828125 7.5l0.234375 1.40625l0.140625 0l0.296875 -1.40625l2.359375 -7.5l2.484375 0l2.296875 7.5l0.296875 1.359375l0.140625 0l0.21875 -1.359375l1.8125 -7.5l2.796875 0l-3.4375 13.359375l-2.71875 0l-2.265625 -8.0625l-0.296875 -1.4375l-0.15625 0l-0.296875 1.4375l-2.390625 8.0625l-2.59375 0zm19.053284 0.296875q-1.4375 0 -2.578125 -0.640625q-1.125 -0.65625 -1.765625 -1.796875q-0.640625 -1.140625 -0.640625 -2.59375q0 -1.359375 0.625 -2.515625q0.640625 -1.15625 1.734375 -1.859375q1.109375 -0.703125 2.53125 -0.703125q1.53125 0 2.5625 0.65625q1.046875 0.65625 1.59375 1.75q0.546875 1.078125 0.546875 2.40625q0 0.296875 -0.03125 0.515625q-0.015625 0.21875 -0.03125 0.3125l-8.171875 0l0 -1.734375l5.875 0q-0.015625 -0.328125 -0.1875 -0.65625q-0.15625 -0.34375 -0.46875 -0.625q-0.296875 -0.28125 -0.71875 -0.453125q-0.40625 -0.171875 -0.953125 -0.171875q-0.703125 0 -1.296875 0.375q-0.59375 0.359375 -0.9375 1.03125q-0.328125 0.65625 -0.328125 1.578125q0 0.953125 0.359375 1.609375q0.359375 0.65625 0.953125 1.015625q0.609375 0.34375 1.359375 0.34375q0.875 0 1.46875 -0.375q0.609375 -0.390625 0.9375 -0.96875l1.984375 0.96875q-0.671875 1.171875 -1.765625 1.859375q-1.078125 0.671875 -2.65625 0.671875zm11.794983 0q-0.703125 0 -1.265625 -0.203125q-0.546875 -0.203125 -0.953125 -0.53125q-0.40625 -0.328125 -0.640625 -0.703125l-0.15625 0l0 1.140625l-2.296875 0l0 -13.359375l2.453125 0l0 3.65625l-0.15625 1.34375l0.15625 0q0.234375 -0.375 0.640625 -0.703125q0.40625 -0.34375 0.953125 -0.546875q0.5625 -0.203125 1.265625 -0.203125q1.296875 0 2.328125 0.640625q1.046875 0.640625 1.640625 1.78125q0.609375 1.140625 0.609375 2.640625q0 1.484375 -0.609375 2.625q-0.59375 1.140625 -1.640625 1.78125q-1.03125 0.640625 -2.328125 0.640625zm-0.4375 -2.25q0.6875 0 1.265625 -0.34375q0.59375 -0.359375 0.953125 -0.984375q0.375 -0.640625 0.375 -1.46875q0 -0.859375 -0.375 -1.46875q-0.359375 -0.625 -0.953125 -0.96875q-0.578125 -0.34375 -1.265625 -0.34375q-0.671875 0 -1.265625 0.34375q-0.578125 0.34375 -0.953125 0.96875q-0.359375 0.625 -0.359375 1.46875q0 0.828125 0.359375 1.453125q0.375 0.625 0.953125 0.984375q0.59375 0.359375 1.265625 0.359375z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m640.0289 402.17584l181.4173 0" fill-rule="evenodd"/><path stroke="#02589b" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m640.0289 402.17584l181.4173 0" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m386.97812 348.6122l93.102356 0l0 35.24408l-93.102356 0z" fill-rule="evenodd"/><path fill="#000000" d="m403.2889 375.5322l5.078125 -13.359375l1.78125 0l5.078125 13.359375l-1.734375 0l-3.671875 -9.984375l-0.53125 -1.4375l-0.0625 0l-0.53125 1.4375l-3.671875 9.984375l-1.734375 0zm5.78125 -3.671875l0 -1.5l3.078125 0l0.546875 1.5l-3.625 0zm-3.625 0l0.546875 -1.5l3.078125 0l0 1.5l-3.625 0zm11.562195 3.671875l0 -13.359375l4.5 0q1.125 0 2.0625 0.515625q0.953125 0.5 1.515625 1.390625q0.578125 0.875 0.578125 2.046875q0 0.71875 -0.265625 1.421875q-0.265625 0.6875 -0.8125 1.265625q-0.546875 0.578125 -1.40625 0.921875q-0.84375 0.34375 -2.015625 0.34375l-3.328125 0l0 -1.46875l3.578125 0q0.703125 0 1.296875 -0.3125q0.59375 -0.328125 0.96875 -0.875q0.375 -0.5625 0.375 -1.296875q0 -0.59375 -0.3125 -1.15625q-0.3125 -0.5625 -0.875 -0.921875q-0.546875 -0.359375 -1.328125 -0.359375l-2.953125 0l0 11.84375l-1.578125 0zm3.21875 -6.125l1.734375 -0.09375l4.21875 6.140625l0 0.078125l-1.859375 0l-4.09375 -6.125zm7.7138367 6.125l0 -13.359375l2.28125 0l4.265625 10.953125l0.0625 0l4.265625 -10.953125l2.28125 0l0 13.359375l-1.5625 0l0 -8.484375l0.078125 -2.546875l-0.078125 0l-4.359375 11.03125l-1.3125 0l-4.359375 -11.03125l-0.078125 0l0.078125 2.546875l0 8.484375l-1.5625 0zm19.859436 0.296875q-0.984375 0 -1.796875 -0.375q-0.796875 -0.375 -1.375 -0.96875q-0.578125 -0.59375 -0.890625 -1.359375q-0.296875 -0.765625 -0.296875 -1.5625q0 -1.125 0.484375 -2.109375q0.5 -1.0 1.140625 -1.96875q0.546875 -0.828125 1.109375 -1.671875q0.5625 -0.84375 1.109375 -1.671875q0.5625 -0.828125 1.109375 -1.671875l1.28125 0.875q-0.40625 0.5625 -0.8125 1.125q-0.390625 0.5625 -0.796875 1.140625q-0.40625 0.5625 -0.8125 1.125q-0.40625 0.546875 -0.796875 1.109375l0.046875 0.03125q0.3125 -0.203125 0.703125 -0.3125q0.40625 -0.125 0.9375 -0.125q0.71875 0 1.421875 0.296875q0.71875 0.296875 1.296875 0.859375q0.59375 0.5625 0.9375 1.3125q0.34375 0.75 0.34375 1.65625q0 1.109375 -0.59375 2.09375q-0.59375 0.984375 -1.578125 1.578125q-0.96875 0.59375 -2.171875 0.59375zm0 -1.515625q0.765625 0 1.390625 -0.359375q0.625 -0.359375 1.0 -0.984375q0.375 -0.625 0.375 -1.390625q0 -0.765625 -0.390625 -1.375q-0.375 -0.625 -1.0 -0.984375q-0.625 -0.359375 -1.375 -0.359375q-0.75 0 -1.390625 0.359375q-0.625 0.359375 -1.015625 0.984375q-0.375 0.609375 -0.375 1.375q0 0.765625 0.375 1.390625q0.375 0.625 1.0 0.984375q0.640625 0.359375 1.40625 0.359375zm6.0321655 -1.53125l0 -1.1875l5.96875 -8.828125l1.71875 0l0 12.765625l-1.578125 0l0 -10.453125l-0.0625 0l-4.171875 6.21875l7.453125 0l0 1.484375l-9.328125 0z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m361.80847 304.67868l38.980804 0l0 39.664795l-38.980804 0z" fill-rule="evenodd"/><g transform="matrix(0.20302499999999998 0.0 0.0 0.20658749999999998 361.80847165354334 304.67866797900257)"><clipPath id="g6d68e641dc_0_1.6"><path d="m2.2737368E-13 0l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.6)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g><path fill="#000000" fill-opacity="0.0" d="m388.8105 304.67868l38.980804 0l0 39.664795l-38.980804 0z" fill-rule="evenodd"/><g transform="matrix(0.20302499999999998 0.0 0.0 0.20658749999999998 388.8104756502362 304.67866797900257)"><clipPath id="g6d68e641dc_0_1.7"><path d="m0 0l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.7)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAGQklEQVR4Xu3Yy4ofZQKG8c82Kp5g8LAwxrtQ9ALEuYCZiZIb8bA2sWUGQdERZykKA0FBRsb7CNmqiYeFRPdJNk5t4oTf12lt6t/6vk09zyaELr73SXeqq/5jbGxsbGxsbGxsbGxsHB9747nx2vh0XB4/jZvj5z/Ym8uKy+OT8ep4dll24nlq7I/vp3+EFL8db4wnnXxyeGx8EPAT/2veGO+PR51+Eji3/Fc3NtUfx4vO7+ae8a8pMt1/jlNmtPLA+O+U1+Dn435TGrlnfDGltfifk/C/oO/mc7vvmdPGuSmpzbMmNfF40ZPPnbw2HjGrhw+mnEbfNauFpwpeu36L18dp0zrYn1JaPW9aA3vBn/kc1W/GXebl89yU0ewz5uXz2hTR7Cvm5fPpFNHsRfPyuTxFNHvJvHz6X8Fu95p5+ZyMd4Bb3jAvHxParcOAduswoN06DGi3DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOA9qtw4B26zCg3ToMaLcOA9qtw4B26zCg3ToMaLcOA3brl+P8eH48Me5dPL386cL4evqa3VqHAbvzq/HXsedxy9+cHVemr92ddRiwKz8cD3jULzw4Ppq+flfWYcBu3PeYiX9M1+zGOgzYhR96yIF8PF23C+swYL1fHXLzuZ2HxtXp2vXWYcB6/+YRd+Sl6dr11mHAWr884MnnTuwdw/NQHQas9bwHHMr+dP1a6zBgrc97wKG8MF2/1joMWOsTHnAoZ6br11qHAWu91wMO5b7p+rXWcXNKWOcf+w244QH5/DRFrPO0BxzKrm9B1zwgn8tTxDqP9kv4z9P167zkAfl8MkWs84IHHMqb0/XrvOgB+bw6Razz6yO8iN298w8jXvaIfJ6dItZ61iPuyLnp2rU+7RH57I3vpox1XhkPesiBPDy+na5d59Vxl4c08MYUstaPPOJA/j1dt9bXPaKDM8vTsylr/buHTLw1XbPW60d8Cw/i/SlmvR+PhzzmFx4+hp/+n8c7HtPDo+PHKWe9V8dLBzwR3b386v1m+tr1/jD+5FFNvDgF7cYrY3+8sNzk7ls8s7x2vbnzB89b/sWkNo7jNvT7WXz7ucWp8fmU1eJny43tBHB/6bfgs2X5CeHUeG/KS/edk/HT/3/OjmtTZKo/9P/qPYhHxrvLS42xaV4fb3c/eB7O6XHhWJ7Wd+PV8XrvW+9vZ288M14ZF8el5aa0+w8rjuqNZcWlZc3L4+nOj9w2NjY2NjY2NjY2Nlr5H18/v/Zvp0asAAAAAElFTkSuQmCC"/></g><path fill="#000000" fill-opacity="0.0" d="m425.2919 282.3777l72.0 0l0 72.0l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.375 425.2918858267716 282.3776811023622)"><clipPath id="g6d68e641dc_0_1.8"><path d="m0 0l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.8)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAESUlEQVR4Xu2dzWqdVRRANwjSltaZE3EgpK3D4hv4EFLaB/EBFBy0dG7hlj6D7+AgmFnEF6gTTRN/m7TNrVqvA5G9jrbfuffbH8hZa80Oh/2FtcnNTTK4ESIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMiZX4nas4iBOYh0vB3cdx5sSq7i1qbII1+NhPG2+DH0ZZ/EgrjLXvFyMe/GiebD+4zruxgVmm4tr8U3zQG09jD2mm4MP4nHzKP13j+IG8+3KNfN3eTTvd8ElX3y6PZzzZ8G9Zry+3jvMuC3Xfeezleu5XoYeNqN1mium3Ia3/LVra0/jMnP2c7sZq9O9yZz9rJqhOt37zNnPQTNUp7vPnP2cNEN1ukfM2Y9/cN7Fc+bshyPp6LAH3RkOpKPDHnRnOJCODnvQneFAOjrskf2D1/vhSDo67JF1AeWwR9YFlMMe2d95vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2N17vhyPp6LBH1gWUwx5ZF1AOe2Rf8Ho/HElHhz2yLqAc9si6gHLYI7vm9X44ko4Oe2RdQDnskXUB5bBH1gWUwx5Z/ylfDntkXUA57JF1AeWwR/Y5r/fDkXR02CPrAsphj6wLKIc9ss94vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2Ka/3w5F0dNgj6wLKYY+sCyiHPbJnvN4PR9LRYY+sCyiHPbIuoBz2yJ7yej8cSUeHPbIuoBz2yLqActgj6wLKYY/sE17vhyPp6LBH1gWUwx5ZF1AOe2R/5fV+OJKODntkXUA57JF1AeWwR/YXXu+HI+nosEfWBZTDHlkXUA57ZF1AOeyR/ZnX++FIOjrskXUB5bBH1gWUwx7Zn3i9H46ko8MeWRdQDntkXUA57JH9kdf74Ug6OuyRdQHlsEfWBZTDHlkXUA57ZH/g9X44ko4Oe2RdQDnskXUB5bBH9oTX++FIOjrskXUB5bBH1gWUwx7ZY17vhyPp6LBH1gWUwx5ZF1AOe2RdQDnskX3M6/1wJB0d9si6gHLYI+sCymGP7AwfZciRdHTYI+sCymGPrAsohz2y3/N6PxxJR4c9si6gHPbIuoBy2CM7wwL8QOddfMSc/Rw3Q3W6h8zZz0EzVKf7BXP2s2qG6nQ/Yc5+bjVDdbofMmc/V+KsGavT/C7eYM5teNAM1ml+xpTbcdW3olv5JN5mym252wzX1/sxM27Pxfi6Ga+v9st5Xv//Zi+Omkfof/so3mHCXbnhCib7bbzPfHOwt/nFmo/S1q/iXaabiwtxx3dEr/R5fBpvMtu87MUqTpsH619vOz+P95irhstxM+7H/uanwnnzZYzm+abC/qbGR3GJmabBgbqszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LKKiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMj/nj8BJ/L3xz/yZd4AAAAASUVORK5CYII="/></g><path fill="#000000" fill-opacity="0.0" d="m255.1293 282.3773l72.0 0l0 71.997375l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.3749863517060367 255.12930131233597 282.3772992125984)"><clipPath id="g6d68e641dc_0_1.9"><path d="m0 -1.1368684E-13l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.9)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/></g><path fill="#000000" fill-opacity="0.0" d="m255.12988 348.61285l72.0 0l0 35.24411l-72.0 0z" fill-rule="evenodd"/><path fill="#000000" d="m265.69034 375.53287l0 -13.359375l4.5 0q1.125 0 2.0625 0.515625q0.953125 0.5 1.515625 1.390625q0.578125 0.875 0.578125 2.046875q0 0.71875 -0.265625 1.421875q-0.265625 0.6875 -0.8125 1.265625q-0.546875 0.578125 -1.40625 0.921875q-0.84375 0.34375 -2.015625 0.34375l-3.328125 0l0 -1.46875l3.578125 0q0.703125 0 1.296875 -0.3125q0.59375 -0.328125 0.96875 -0.875q0.375 -0.5625 0.375 -1.296875q0 -0.59375 -0.3125 -1.15625q-0.3125 -0.5625 -0.875 -0.921875q-0.546875 -0.359375 -1.328125 -0.359375l-2.953125 0l0 11.84375l-1.578125 0zm3.21875 -6.125l1.734375 -0.09375l4.21875 6.140625l0 0.078125l-1.859375 0l-4.09375 -6.125zm7.5419617 6.125l0 -9.515625l1.578125 0l0 9.515625l-1.578125 0zm0.78125 -11.265625q-0.46875 0 -0.8125 -0.328125q-0.328125 -0.34375 -0.328125 -0.8125q0 -0.484375 0.328125 -0.8125q0.34375 -0.328125 0.8125 -0.328125q0.484375 0 0.8125 0.328125q0.328125 0.328125 0.328125 0.8125q0 0.46875 -0.328125 0.8125q-0.328125 0.328125 -0.8125 0.328125zm6.6069336 11.5625q-1.0625 0 -1.875 -0.34375q-0.8125 -0.34375 -1.34375 -0.921875q-0.53125 -0.59375 -0.796875 -1.28125l1.421875 -0.640625q0.375 0.859375 1.078125 1.328125q0.703125 0.46875 1.625 0.46875q0.875 0 1.453125 -0.359375q0.59375 -0.359375 0.59375 -1.046875q0 -0.421875 -0.25 -0.703125q-0.234375 -0.296875 -0.703125 -0.5q-0.453125 -0.21875 -1.125 -0.375l-1.15625 -0.3125q-0.671875 -0.1875 -1.28125 -0.515625q-0.59375 -0.34375 -0.953125 -0.875q-0.359375 -0.53125 -0.359375 -1.296875q0 -0.84375 0.5 -1.453125q0.5 -0.625 1.3125 -0.953125q0.828125 -0.328125 1.765625 -0.328125q0.8125 0 1.53125 0.234375q0.71875 0.234375 1.265625 0.6875q0.546875 0.453125 0.8125 1.125l-1.375 0.640625q-0.359375 -0.703125 -0.953125 -0.984375q-0.59375 -0.28125 -1.328125 -0.28125q-0.78125 0 -1.359375 0.34375q-0.578125 0.34375 -0.578125 0.9375q0 0.59375 0.46875 0.90625q0.484375 0.296875 1.171875 0.46875l1.390625 0.359375q1.390625 0.359375 2.09375 1.0625q0.71875 0.6875 0.71875 1.703125q0 0.890625 -0.515625 1.546875q-0.5 0.65625 -1.359375 1.015625q-0.84375 0.34375 -1.890625 0.34375zm9.9021 0q-1.40625 0 -2.5 -0.65625q-1.078125 -0.671875 -1.703125 -1.8125q-0.609375 -1.15625 -0.609375 -2.578125q0 -1.46875 0.609375 -2.59375q0.625 -1.140625 1.703125 -1.796875q1.09375 -0.671875 2.5 -0.671875q1.609375 0 2.640625 0.734375q1.03125 0.734375 1.46875 1.890625l-1.4375 0.609375q-0.359375 -0.890625 -1.0625 -1.34375q-0.6875 -0.453125 -1.6875 -0.453125q-0.828125 0 -1.546875 0.453125q-0.71875 0.4375 -1.171875 1.25q-0.453125 0.8125 -0.453125 1.921875q0 1.078125 0.453125 1.90625q0.453125 0.8125 1.171875 1.265625q0.71875 0.4375 1.546875 0.4375q1.015625 0 1.734375 -0.46875q0.734375 -0.46875 1.09375 -1.3125l1.40625 0.59375q-0.46875 1.09375 -1.515625 1.859375q-1.03125 0.765625 -2.640625 0.765625zm5.858185 -5.421875l0 -1.3125l5.921875 0l0 1.3125l-5.921875 0zm11.697815 5.125l-4.734375 -13.359375l1.75 0l3.296875 9.6875l0.453125 1.328125l0.078125 0l0.46875 -1.328125l3.4375 -9.6875l1.765625 0l-4.890625 13.359375l-1.625 0z" fill-rule="nonzero"/><path fill="#2bb7f6" d="m281.88452 253.70514l8.637787 0l0 -46.72441l17.275604 0l0 46.72441l8.637787 0l-17.275604 17.275604z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m638.6502 282.3773l72.0 0l0 72.0l-72.0 0z" fill-rule="evenodd"/><g transform="matrix(0.375 0.0 0.0 0.375 638.6502262467192 282.3772992125984)"><clipPath id="g6d68e641dc_0_1.10"><path d="m2.2737368E-13 -1.1368684E-13l192.0 0l0 192.0l-192.0 0z" clip-rule="evenodd"/></clipPath><image clip-path="url(#g6d68e641dc_0_1.10)" fill="#000" width="192.0" height="192.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAEWElEQVR4Xu3dTW4dVRRF4dsKQSQjQEIKdg+JDIMRJAqToYlwJPpGzjwYgqV0gmkxAYis8I8D2PyE6tBZF5+qevvypHLWt/r7leoksYOQ05okSZIkSZIkSZIkSZIkSZIkSXo93W0ftpP2tH3brtqr17yr9mJ6Eyft0fRW9uKwPWm/do9hr9rL6c0c8nWNdbsd+Wu+7Ko9nt7S/+Re+6L7QOs7awd8dSO8177pPsr+u/N2n68v9U77uvsYu77zsb8Lbk1f5/kRVnc28mvBR928zXfE17irt9tv3bjNdzXqj6FPu2lb1glf5S5uTX/f5bAt66Ld4etc74Nu1pb3kK9zvU+6UVveMV/nep93o7a8U77O9b7qRm1553yd6/kfIJIu+TrX83ugrNh33aStKeYBsmIeICvmAbJi33eTtqaYB8iKeYCsmAfIinmArNgP3aStKeYBsmIeICvmAbJiHiAr9mM3aWuKeYCsmAfIinmArJgHyIr91E3ammIeICvmAbJiHiArNneArRn9/NxjsZ+7ycEfsGejn597LOYBatxjMQ9Q4x6LeYAa91jsl25y8Afs2ejn5x6LeYAa91jMA9S4x2IeoMY9FvMANe6x2EU3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WOxlNzn4A/Zs9PNzj8U8QI17LOYBatxjMQ9Q4x6LeYAa91hs7scUb83o5+cei3mAGvdYzAPUuMdiHqDGPRbzADXusdjcD23dmtHPzz0W8wA17rGYB6hxj8U8QI17LPZ7Nzn4A/Zs9PNzj8U8QI17LOYBatxjsbkDbL0U91jMA9S4x2KX3eTNKsU9FvMANe6xmAeocY/FPECNeyzmAWrcY7Gb/o93prjHYnMH2JrRz889FvMANe6xmAeocY/FPECNeyz2Rzc5+AP2bPTzc4/FPECNeyzmAWrcYzEPUOMei3mAGvdY7M9ucvAH7Nno5+cei3mAGvdYzAPUuMdiHqDGPRb7q5sc/AF7Nvr5ucdiHqDGPRbzADXusZgHqHGPxTxAjXss9nc3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WGzuf861qku+zvVedKO2vHO+zvWedqO2vFO+zvVOulFb3jFf53qPulFb3gO+zvXuzv7sXLuui/YWX+cunnTDtqzP+Cp3c+i3ojt12d7lq9zV427c5vuYr3F3b7Yvu3mre9be4GtMHEx/peBH2PU9b/f4ClP3PcHinrf3+fpGOGhn3UdZ37Pxv/r/dbsd+R1R2eX0pXfon/29g3Yy+2+LvZ5dTN/3D/vGs3anPWzH7XT6qnDTf5zTfJfTWzid3saDMX/rlSRJkiRJkiRJkiRJkiRJkiRJ2/MPBUHxvBiv7XcAAAAASUVORK5CYII="/></g><path fill="#000000" fill-opacity="0.0" d="m638.6505 348.61154l79.370056 0l0 35.24411l-79.370056 0z" fill-rule="evenodd"/><path fill="#000000" d="m656.40643 375.53156l-3.625 -13.359375l1.765625 0l2.421875 9.8125l0.21875 0.921875l0.078125 0l0.28125 -0.921875l2.984375 -9.8125l1.640625 0l2.859375 9.8125l0.265625 0.921875l0.078125 0l0.234375 -0.921875l2.40625 -9.8125l1.75 0l-3.609375 13.359375l-1.640625 0l-2.828125 -9.65625l-0.296875 -1.046875l-0.078125 0l-0.3125 1.046875l-2.953125 9.65625l-1.640625 0zm17.146057 0.296875q-1.0625 0 -1.875 -0.40625q-0.796875 -0.40625 -1.25 -1.125q-0.453125 -0.71875 -0.453125 -1.640625q0 -1.046875 0.53125 -1.765625q0.546875 -0.71875 1.453125 -1.078125q0.921875 -0.359375 2.015625 -0.359375q0.640625 0 1.171875 0.109375q0.546875 0.09375 0.9375 0.234375q0.40625 0.140625 0.625 0.265625l0 -0.578125q0 -1.078125 -0.765625 -1.703125q-0.765625 -0.640625 -1.875 -0.640625q-0.78125 0 -1.46875 0.34375q-0.671875 0.34375 -1.0625 0.953125l-1.203125 -0.890625q0.375 -0.5625 0.9375 -0.96875q0.5625 -0.40625 1.28125 -0.625q0.71875 -0.234375 1.515625 -0.234375q1.9375 0 3.03125 1.03125q1.109375 1.015625 1.109375 2.75l0 6.03125l-1.5 0l0 -1.359375l-0.078125 0q-0.25 0.40625 -0.703125 0.796875q-0.4375 0.375 -1.046875 0.609375q-0.609375 0.25 -1.328125 0.25zm0.140625 -1.390625q0.828125 0 1.5 -0.40625q0.6875 -0.421875 1.09375 -1.109375q0.421875 -0.6875 0.421875 -1.515625q-0.4375 -0.296875 -1.078125 -0.484375q-0.640625 -0.1875 -1.40625 -0.1875q-1.359375 0 -2.0 0.5625q-0.640625 0.5625 -0.640625 1.375q0 0.78125 0.59375 1.28125q0.609375 0.484375 1.515625 0.484375zm9.953796 1.390625q-1.0625 0 -1.875 -0.34375q-0.8125 -0.34375 -1.34375 -0.921875q-0.53125 -0.59375 -0.796875 -1.28125l1.421875 -0.640625q0.375 0.859375 1.078125 1.328125q0.703125 0.46875 1.625 0.46875q0.875 0 1.453125 -0.359375q0.59375 -0.359375 0.59375 -1.046875q0 -0.421875 -0.25 -0.703125q-0.234375 -0.296875 -0.703125 -0.5q-0.453125 -0.21875 -1.125 -0.375l-1.15625 -0.3125q-0.671875 -0.1875 -1.28125 -0.515625q-0.59375 -0.34375 -0.953125 -0.875q-0.359375 -0.53125 -0.359375 -1.296875q0 -0.84375 0.5 -1.453125q0.5 -0.625 1.3125 -0.953125q0.828125 -0.328125 1.765625 -0.328125q0.8125 0 1.53125 0.234375q0.71875 0.234375 1.265625 0.6875q0.546875 0.453125 0.8125 1.125l-1.375 0.640625q-0.359375 -0.703125 -0.953125 -0.984375q-0.59375 -0.28125 -1.328125 -0.28125q-0.78125 0 -1.359375 0.34375q-0.578125 0.34375 -0.578125 0.9375q0 0.59375 0.46875 0.90625q0.484375 0.296875 1.171875 0.46875l1.390625 0.359375q1.390625 0.359375 2.09375 1.0625q0.71875 0.6875 0.71875 1.703125q0 0.890625 -0.515625 1.546875q-0.5 0.65625 -1.359375 1.015625q-0.84375 0.34375 -1.890625 0.34375zm5.402893 -0.296875l0 -9.515625l1.515625 0l0 1.40625l0.078125 0q0.25 -0.46875 0.703125 -0.84375q0.46875 -0.390625 1.046875 -0.625q0.59375 -0.234375 1.21875 -0.234375q1.0625 0 1.828125 0.515625q0.765625 0.515625 1.09375 1.328125q0.484375 -0.796875 1.296875 -1.3125q0.828125 -0.53125 1.96875 -0.53125q1.703125 0 2.5 1.03125q0.79693604 1.015625 0.79693604 2.6875l0 6.09375l-1.562561 0l0 -5.859375q0 -1.375 -0.5625 -1.9375q-0.5625 -0.578125 -1.578125 -0.578125q-0.734375 0 -1.3125 0.421875q-0.5625 0.421875 -0.890625 1.109375q-0.3125 0.671875 -0.3125 1.46875l0 5.375l-1.59375 0l0 -5.84375q0 -1.375 -0.5625 -1.953125q-0.5625 -0.578125 -1.5625 -0.578125q-0.734375 0 -1.296875 0.4375q-0.5625 0.421875 -0.890625 1.109375q-0.328125 0.6875 -0.328125 1.5l0 5.328125l-1.59375 0z" fill-rule="nonzero"/></g></svg>
\ No newline at end of file
+<svg viewBox="100 70 760 420" fill="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="background:#fff">
+ <g clip-path="url(#a)">
+ <path fill="#02589b" d="M652.598 259.606h8.638v-51.974h17.276v51.974h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path fill="#2bb7f6" d="M666.291 259.606h8.638v-51.974h17.276v51.974h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path fill="#02589b" d="M268.192 253.705h8.637v-46.724h17.276v46.724h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path d="M738.543 282.377h72v72h-72z"/>
+ <g transform="translate(738.543 282.377)scale(.375)">
+ <clipPath id="b">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#b)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAEWElEQVR4Xu3dTW4dVRRF4dsKQSQjQEIKdg+JDIMRJAqToYlwJPpGzjwYgqV0gmkxAYis8I8D2PyE6tBZF5+qevvypHLWt/r7leoksYOQ05okSZIkSZIkSZIkSZIkSZIkSXo93W0ftpP2tH3brtqr17yr9mJ6Eyft0fRW9uKwPWm/do9hr9rL6c0c8nWNdbsd+Wu+7Ko9nt7S/+Re+6L7QOs7awd8dSO8177pPsr+u/N2n68v9U77uvsYu77zsb8Lbk1f5/kRVnc28mvBR928zXfE17irt9tv3bjNdzXqj6FPu2lb1glf5S5uTX/f5bAt66Ld4etc74Nu1pb3kK9zvU+6UVveMV/nep93o7a8U77O9b7qRm1553yd6/kfIJIu+TrX83ugrNh33aStKeYBsmIeICvmAbJi33eTtqaYB8iKeYCsmAfIinmArNgP3aStKeYBsmIeICvmAbJiHiAr9mM3aWuKeYCsmAfIinmArJgHyIr91E3ammIeICvmAbJiHiArNneArRn9/NxjsZ+7ycEfsGejn597LOYBatxjMQ9Q4x6LeYAa91jsl25y8Afs2ejn5x6LeYAa91jMA9S4x2IeoMY9FvMANe6x2EU3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WOxlNzn4A/Zs9PNzj8U8QI17LOYBatxjMQ9Q4x6LeYAa91hs7scUb83o5+cei3mAGvdYzAPUuMdiHqDGPRbzADXusdjcD23dmtHPzz0W8wA17rGYB6hxj8U8QI17LPZ7Nzn4A/Zs9PNzj8U8QI17LOYBatxjsbkDbL0U91jMA9S4x2KX3eTNKsU9FvMANe6xmAeocY/FPECNeyzmAWrcY7Gb/o93prjHYnMH2JrRz889FvMANe6xmAeocY/FPECNeyz2Rzc5+AP2bPTzc4/FPECNeyzmAWrcYzEPUOMei3mAGvdY7M9ucvAH7Nno5+cei3mAGvdYzAPUuMdiHqDGPRb7q5sc/AF7Nvr5ucdiHqDGPRbzADXusZgHqHGPxTxAjXss9nc3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WGzuf861qku+zvVedKO2vHO+zvWedqO2vFO+zvVOulFb3jFf53qPulFb3gO+zvXuzv7sXLuui/YWX+cunnTDtqzP+Cp3c+i3ojt12d7lq9zV427c5vuYr3F3b7Yvu3mre9be4GtMHEx/peBH2PU9b/f4ClP3PcHinrf3+fpGOGhn3UdZ37Pxv/r/dbsd+R1R2eX0pXfon/29g3Yy+2+LvZ5dTN/3D/vGs3anPWzH7XT6qnDTf5zTfJfTWzid3saDMX/rlSRJkiRJkiRJkiRJkiRJkiRJ2/MPBUHxvBiv7XcAAAAASUVORK5CYII="/>
+ </g>
+ <path d="M148.45 282.377h72v71.998h-72z"/>
+ <g transform="matrix(.375 0 0 .37499 148.45 282.377)">
+ <clipPath id="c">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#c)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
+ </g>
+ <path d="M531.971 282.377h72v72h-72z"/>
+ <g transform="translate(531.971 282.377)scale(.375)">
+ <clipPath id="d">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#d)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAESUlEQVR4Xu2dzWqdVRRANwjSltaZE3EgpK3D4hv4EFLaB/EBFBy0dG7hlj6D7+AgmFnEF6gTTRN/m7TNrVqvA5G9jrbfuffbH8hZa80Oh/2FtcnNTTK4ESIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMiZX4nas4iBOYh0vB3cdx5sSq7i1qbII1+NhPG2+DH0ZZ/EgrjLXvFyMe/GiebD+4zruxgVmm4tr8U3zQG09jD2mm4MP4nHzKP13j+IG8+3KNfN3eTTvd8ElX3y6PZzzZ8G9Zry+3jvMuC3Xfeezleu5XoYeNqN1mium3Ia3/LVra0/jMnP2c7sZq9O9yZz9rJqhOt37zNnPQTNUp7vPnP2cNEN1ukfM2Y9/cN7Fc+bshyPp6LAH3RkOpKPDHnRnOJCODnvQneFAOjrskf2D1/vhSDo67JF1AeWwR9YFlMMe2d95vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2N17vhyPp6LBH1gWUwx5ZF1AOe2Rf8Ho/HElHhz2yLqAc9si6gHLYI7vm9X44ko4Oe2RdQDnskXUB5bBH1gWUwx5Z/ylfDntkXUA57JF1AeWwR/Y5r/fDkXR02CPrAsphj6wLKIc9ss94vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2Ka/3w5F0dNgj6wLKYY+sCyiHPbJnvN4PR9LRYY+sCyiHPbIuoBz2yJ7yej8cSUeHPbIuoBz2yLqActgj6wLKYY/sE17vhyPp6LBH1gWUwx5ZF1AOe2R/5fV+OJKODntkXUA57JF1AeWwR/YXXu+HI+nosEfWBZTDHlkXUA57ZF1AOeyR/ZnX++FIOjrskXUB5bBH1gWUwx7Zn3i9H46ko8MeWRdQDntkXUA57JH9kdf74Ug6OuyRdQHlsEfWBZTDHlkXUA57ZH/g9X44ko4Oe2RdQDnskXUB5bBH9oTX++FIOjrskXUB5bBH1gWUwx7ZY17vhyPp6LBH1gWUwx5ZF1AOe2RdQDnskX3M6/1wJB0d9si6gHLYI+sCymGP7AwfZciRdHTYI+sCymGPrAsohz2y3/N6PxxJR4c9si6gHPbIuoBy2CM7wwL8QOddfMSc/Rw3Q3W6h8zZz0EzVKf7BXP2s2qG6nQ/Yc5+bjVDdbofMmc/V+KsGavT/C7eYM5teNAM1ml+xpTbcdW3olv5JN5mym252wzX1/sxM27Pxfi6Ga+v9st5Xv//Zi+Omkfof/so3mHCXbnhCib7bbzPfHOwt/nFmo/S1q/iXaabiwtxx3dEr/R5fBpvMtu87MUqTpsH619vOz+P95irhstxM+7H/uanwnnzZYzm+abC/qbGR3GJmabBgbqszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LKKiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMj/nj8BJ/L3xz/yZd4AAAAASUVORK5CYII="/>
+ </g>
+ <path d="M148.451 348.612h72v35.244h-72z"/>
+ <path fill="#000" d="m155.041 375.532 5.078-13.36h1.782l5.078 13.36h-1.735l-3.672-9.984-.53-1.438h-.063l-.532 1.438-3.671 9.984zm5.781-3.672v-1.5h3.079l.546 1.5zm-3.625 0 .547-1.5h3.078v1.5zm11.563 3.672v-13.36h4.5q1.125 0 2.062.516.953.5 1.516 1.391.578.875.578 2.047 0 .719-.266 1.422-.265.687-.812 1.265-.547.579-1.406.922-.844.344-2.016.344h-3.328v-1.469h3.578q.703 0 1.297-.312.594-.328.969-.875.375-.563.375-1.297 0-.594-.313-1.156-.312-.563-.875-.922-.547-.36-1.328-.36h-2.953v11.844zm3.218-6.125 1.735-.094 4.219 6.141v.078h-1.86zm7.714 6.125v-13.36h2.281l4.266 10.954h.063l4.265-10.953h2.281v13.36h-1.562v-8.485l.078-2.547h-.078l-4.36 11.031h-1.312l-4.36-11.031h-.077l.078 2.547v8.484zm19.532.297q-.75 0-1.594-.312-.844-.313-1.531-1.016-.688-.703-1.016-1.86l1.437-.593q.313 1.078 1.016 1.672.719.593 1.688.593.718 0 1.328-.296.61-.313.968-.844.36-.547.36-1.235 0-.671-.375-1.203-.36-.53-.985-.843-.609-.313-1.359-.313h-1.094v-1.469h.985q.672 0 1.218-.265.547-.266.86-.75.328-.485.328-1.14 0-.907-.688-1.438-.671-.532-1.64-.532-.719 0-1.188.282-.453.265-.734.671-.266.391-.39.782l-1.47-.61q.188-.562.657-1.172t1.234-1.03q.781-.438 1.89-.438 1.126 0 2.016.453t1.407 1.25q.515.781.515 1.781 0 .719-.265 1.266-.25.53-.657.906-.39.375-.843.594v.078q.61.234 1.093.687.5.438.797 1.047.297.594.297 1.375 0 1.14-.578 2.031t-1.547 1.391-2.14.5m5.95-.297v-1.578q.046-.062.437-.453l.969-.969q.578-.594 1.218-1.234.641-.656 1.188-1.219.547-.578.86-.922.577-.64.937-1.094.36-.453.515-.89.172-.453.172-1.031 0-.532-.281-1.016-.281-.5-.812-.813-.532-.328-1.329-.328-.75 0-1.265.328-.5.313-.781.75-.282.438-.375.782l-1.438-.578q.11-.391.39-.86.298-.484.766-.922.485-.437 1.157-.718.687-.297 1.578-.297 1.218 0 2.109.515.906.516 1.39 1.344.5.828.5 1.797 0 .844-.327 1.61-.313.75-.782 1.359-.453.61-.937 1.078l-.688.687q-.422.422-.906.922l-.953.953q-.469.47-.813.828-.343.344-.468.454h6.03v1.515z"/>
+ <path d="M531.971 348.612h72v35.244h-72z"/>
+ <path fill="#000" d="m538.175 375.532 3.797-5.469h.172l2.703-4.046h1.86l-3.72 5.25h-.124l-2.844 4.265zm.063-9.515h1.797l2.953 4.234h.062l3.719 5.281h-1.844l-2.844-4.219h-.125zm13.93 9.812q-1.235 0-2.22-.5-.984-.5-1.547-1.36-.546-.874-.546-1.937 0-.765.28-1.375.282-.61.766-1.062.485-.47 1.079-.735v-.078q-.72-.437-1.22-1.156-.484-.734-.484-1.578 0-1.016.485-1.813.5-.812 1.375-1.28.89-.485 2.031-.485 1.125 0 1.984.484.875.469 1.375 1.281.5.797.5 1.813 0 .562-.234 1.078-.219.516-.61.937-.374.422-.843.72v.077q.875.422 1.5 1.235.625.797.625 1.937 0 1.063-.563 1.938-.562.86-1.546 1.36-.97.5-2.188.5m0-1.516q.733 0 1.343-.296.61-.297.969-.829.359-.546.359-1.25 0-.718-.36-1.234-.359-.531-.968-.828-.61-.297-1.344-.297-.75 0-1.375.297-.61.297-.984.828-.36.516-.36 1.234 0 .704.36 1.25.375.532.984.829.625.296 1.375.296m0-6.203q.64 0 1.14-.265.515-.266.812-.72.297-.468.297-1.108 0-.97-.672-1.5-.656-.532-1.578-.532-.953 0-1.625.532-.656.53-.656 1.5 0 .64.297 1.109.297.453.812.719.531.265 1.172.265m10.326 7.72q-.985 0-1.797-.376-.797-.375-1.375-.969-.578-.593-.89-1.36-.298-.765-.298-1.562 0-1.125.485-2.109.5-1 1.14-1.969.547-.828 1.11-1.672.562-.843 1.109-1.671.562-.829 1.11-1.672l1.28.875-.812 1.125q-.39.562-.797 1.14l-.812 1.125q-.407.547-.797 1.11l.047.03q.312-.202.703-.312.406-.125.937-.125.72 0 1.422.297.719.297 1.297.86.594.562.938 1.312t.343 1.656q0 1.11-.593 2.094-.594.985-1.579 1.578-.968.594-2.171.594m0-1.517q.765 0 1.39-.359.625-.36 1-.984.375-.625.375-1.39 0-.767-.39-1.376-.375-.625-1-.984-.625-.36-1.375-.36t-1.391.36q-.625.36-1.016.984-.375.61-.375 1.375 0 .766.375 1.39.375.626 1 .985.64.36 1.407.36m5.188 5.25v-1.312h8.875v1.312zm14.083-3.734q-.984 0-1.796-.375-.797-.375-1.375-.969-.579-.593-.891-1.36-.297-.765-.297-1.562 0-1.125.484-2.109.5-1 1.141-1.969.547-.828 1.11-1.672.562-.843 1.109-1.671.562-.829 1.11-1.672l1.28.875-.812 1.125q-.39.562-.797 1.14l-.812 1.125q-.407.547-.797 1.11l.047.03q.312-.202.703-.312.406-.125.937-.125.719 0 1.422.297.719.297 1.297.86.594.562.937 1.312t.344 1.656q0 1.11-.594 2.094-.593.985-1.578 1.578-.968.594-2.172.594m0-1.516q.766 0 1.391-.359.625-.36 1-.984.375-.625.375-1.39 0-.767-.39-1.376-.376-.625-1-.984-.626-.36-1.376-.36t-1.39.36q-.625.36-1.016.984-.375.61-.375 1.375 0 .766.375 1.39.375.626 1 .985.64.36 1.406.36m6.033-1.53v-1.188l5.968-8.828h1.72v12.765h-1.579V365.08h-.062l-4.172 6.219h7.453v1.484z"/>
+ <path d="M723.22 348.612h102.646v35.244H723.22z"/>
+ <path fill="#000" d="M734.965 375.83q-1.453 0-2.562-.798-1.094-.812-1.563-2.297l1.5-.625q.36 1.25 1.063 1.735.703.468 1.562.468 1.125 0 1.766-.765.656-.781.656-2.016v-9.36h1.594v9.235q0 1.422-.516 2.406-.515.985-1.421 1.5-.907.516-2.079.516m9.498 0q-1.063 0-1.875-.407-.797-.406-1.25-1.125-.454-.719-.454-1.64 0-1.048.532-1.766.547-.72 1.453-1.079.922-.359 2.015-.359.641 0 1.172.11.547.093.938.234.406.14.625.265v-.578q0-1.078-.766-1.703-.765-.64-1.875-.64-.781 0-1.469.343-.671.344-1.062.953l-1.203-.89q.375-.563.937-.969t1.282-.625q.718-.234 1.515-.234 1.938 0 3.031 1.03 1.11 1.017 1.11 2.75v6.032h-1.5v-1.36h-.078q-.25.407-.703.798-.438.375-1.047.61-.61.25-1.328.25m.14-1.392q.828 0 1.5-.406.688-.422 1.094-1.11.422-.687.422-1.515-.438-.297-1.078-.484-.64-.188-1.407-.188-1.359 0-2 .563-.64.562-.64 1.375 0 .781.594 1.281.609.484 1.515.484m9.33 1.094-3.844-9.515h1.703l2.953 7.656h.031l2.985-7.656h1.656l-3.875 9.515zm9.652.297q-1.062 0-1.875-.406-.797-.406-1.25-1.125t-.453-1.64q0-1.048.531-1.766.547-.72 1.453-1.079.922-.359 2.016-.359.64 0 1.172.11.547.093.937.234.407.14.625.265v-.578q0-1.078-.765-1.703-.766-.64-1.875-.64-.782 0-1.469.343-.672.344-1.063.953l-1.203-.89q.375-.563.938-.969t1.281-.625q.719-.234 1.516-.234 1.937 0 3.031 1.03 1.11 1.017 1.11 2.75v6.032h-1.5v-1.36h-.079q-.25.407-.703.798-.437.375-1.047.61-.61.25-1.328.25m.14-1.39q.829 0 1.5-.407.688-.422 1.094-1.11.422-.687.422-1.515-.437-.297-1.078-.484-.64-.188-1.406-.188-1.36 0-2 .563t-.64 1.375q0 .781.593 1.281.61.484 1.516.484m10.767 1.39q-.97 0-1.922-.406-.953-.406-1.688-1.203-.719-.813-1.047-2.016l1.516-.61q.312 1.157 1.14 1.938.844.781 2.047.781.735 0 1.36-.265.625-.266 1-.781.39-.532.39-1.282 0-.672-.328-1.14-.312-.47-.968-.828-.657-.36-1.61-.704l-.844-.296q-.546-.204-1.125-.485-.562-.297-1.046-.719-.47-.421-.75-1-.282-.593-.282-1.39 0-.969.516-1.766.531-.812 1.437-1.297.922-.484 2.11-.484 1.25 0 2.094.453.859.453 1.343 1.078.5.625.672 1.156l-1.469.641q-.109-.406-.437-.812-.313-.422-.844-.704-.531-.296-1.328-.296-.656 0-1.234.265-.563.25-.907.719-.343.453-.343 1.047 0 .844.672 1.328.671.484 1.812.875l.875.297q.594.203 1.219.5t1.156.765q.547.47.875 1.157.344.672.344 1.625 0 1.03-.406 1.765-.391.735-1.047 1.203-.657.47-1.438.672-.765.22-1.515.22m10.75 0q-1.406 0-2.5-.656-1.078-.672-1.703-1.813-.61-1.156-.61-2.578 0-1.469.61-2.594.625-1.14 1.703-1.796 1.094-.672 2.5-.672 1.61 0 2.64.734 1.032.734 1.47 1.89l-1.438.61q-.36-.89-1.063-1.344-.687-.453-1.687-.453-.828 0-1.547.453-.719.438-1.172 1.25t-.453 1.922q0 1.078.453 1.906.453.813 1.172 1.266.719.438 1.547.438 1.015 0 1.734-.47.735-.468 1.094-1.312l1.406.594q-.469 1.094-1.515 1.86-1.032.765-2.641.765m5.78-.297v-9.515h1.516v1.53h.078q.188-.546.625-.937.438-.406 1-.64.578-.235 1.125-.235.438 0 .672.047.25.047.453.14v1.72q-.297-.157-.64-.22-.344-.077-.704-.077-.687 0-1.265.39t-.922 1.047-.344 1.438v5.312zm7.153 0v-9.515h1.578v9.515zm.781-11.265q-.469 0-.812-.329-.329-.343-.329-.812 0-.484.329-.813.343-.328.812-.328.484 0 .813.328.328.329.328.813 0 .469-.328.812-.329.329-.813.329m3.279 15.296v-13.546h1.515v1.421h.079q.25-.453.718-.843.485-.39 1.125-.625.641-.25 1.391-.25 1.312 0 2.328.656 1.031.656 1.625 1.797.61 1.125.61 2.61 0 1.468-.61 2.609-.594 1.14-1.625 1.796-1.016.641-2.328.641-1.125 0-1.984-.516-.86-.53-1.25-1.187h-.079l.079 1.312v4.125zm4.672-5.171q.812 0 1.531-.438.719-.437 1.156-1.25.438-.828.438-1.922 0-1.125-.438-1.937-.437-.813-1.156-1.25t-1.531-.438q-.828 0-1.547.438-.719.437-1.172 1.25-.438.812-.438 1.937 0 1.11.438 1.922.453.813 1.172 1.25t1.547.438m5.53-8.375h5.577v1.437h-5.578zm1.671 7.015v-9.703h1.578v9.313q0 .75.313 1.156.312.406 1.015.406.313 0 .579-.094.265-.093.468-.218v1.546q-.25.11-.547.172-.28.078-.765.078-1.188 0-1.922-.703-.719-.703-.719-1.953"/>
+ <path fill="#02589b" d="M133.705 99.6h346.078v86.71H133.705z" fill-rule="evenodd"/>
+ <path fill="#fff" d="M216.22 130.875v-13.36h4.266q2.11 0 3.625.86 1.531.843 2.36 2.36.827 1.5.827 3.468 0 1.953-.828 3.469-.828 1.5-2.359 2.359-1.516.844-3.625.844zm2.047-1.938h2.172q1.5 0 2.578-.562 1.094-.578 1.64-1.64.563-1.063.563-2.532 0-1.485-.562-2.547-.547-1.063-1.64-1.625-1.079-.578-2.579-.578h-2.172zm15.106 2.235q-1.39 0-2.5-.641-1.094-.656-1.719-1.797-.625-1.14-.625-2.594 0-1.359.594-2.515t1.672-1.86 2.468-.703q1.485 0 2.516.64 1.031.626 1.563 1.735.546 1.094.546 2.469 0 .219-.015.39 0 .157-.016.25h-8.187v-1.515h6.234q-.031-.344-.203-.75-.156-.406-.484-.734-.313-.344-.797-.547-.485-.219-1.14-.219-.813 0-1.454.422-.625.422-.984 1.172-.36.734-.36 1.718 0 1.094.406 1.829.422.718 1.094 1.093.672.36 1.453.36.953 0 1.594-.438.64-.437 1.016-1.078l1.656.797q-.61 1.125-1.672 1.828-1.062.688-2.656.688m9.087-.297-3.937-9.516h2.25l2.656 6.922h.094l2.734-6.922h2.203l-3.984 9.516zm11.36.297q-1.39 0-2.5-.641-1.094-.656-1.719-1.797-.625-1.14-.625-2.594 0-1.359.594-2.515t1.672-1.86 2.468-.703q1.485 0 2.516.64 1.031.626 1.563 1.735.546 1.094.546 2.469 0 .219-.015.39 0 .157-.016.25h-8.187v-1.515h6.234q-.031-.344-.203-.75-.156-.406-.484-.734-.313-.344-.797-.547-.485-.219-1.14-.219-.813 0-1.454.422-.625.422-.984 1.172-.36.734-.36 1.718 0 1.094.406 1.829.422.718 1.094 1.093.672.36 1.453.36.953 0 1.594-.438.64-.437 1.016-1.078l1.656.797q-.61 1.125-1.672 1.828-1.062.688-2.656.688m6.4-.297v-13.36h2.015v13.36zm8.777.297q-1.484 0-2.609-.672-1.11-.672-1.75-1.813-.625-1.156-.625-2.562 0-1.422.625-2.563.64-1.156 1.75-1.828 1.125-.672 2.61-.672 1.452 0 2.562.688 1.125.672 1.75 1.812.64 1.14.64 2.563 0 1.406-.64 2.562-.625 1.14-1.75 1.813-1.11.672-2.563.672m0-1.844q.782 0 1.453-.375.672-.39 1.094-1.11.422-.718.422-1.718 0-1.016-.422-1.735-.422-.718-1.094-1.093-.671-.391-1.453-.391-.78 0-1.468.39-.688.376-1.11 1.094-.406.72-.406 1.735 0 1 .406 1.718.422.72 1.11 1.11.703.375 1.468.375m6.694 5.578v-13.547h1.89v1.281h.11q.266-.406.703-.765.438-.36 1.031-.578.594-.235 1.329-.235 1.296 0 2.328.656 1.03.657 1.625 1.797.609 1.125.609 2.61 0 1.468-.61 2.61-.593 1.14-1.624 1.796-1.032.64-2.328.64-1.094 0-1.891-.484t-1.172-1.078h-.11l.11 1.328v3.969zm4.75-5.578q.75 0 1.406-.39.672-.391 1.063-1.11.406-.735.406-1.703 0-1-.406-1.719-.39-.719-1.063-1.11-.656-.39-1.406-.39-.734 0-1.39.39-.657.391-1.063 1.11t-.406 1.719q0 .984.406 1.703t1.062 1.11 1.391.39m6.627 1.547v-9.516h1.907v1.313h.109q.281-.47.719-.829.453-.359 1.015-.562.578-.219 1.203-.219 1.063 0 1.797.5.75.5 1.078 1.266.454-.735 1.25-1.25.813-.516 1.97-.516 1.687 0 2.5 1.016.827 1.015.827 2.703v6.094h-2v-5.766q0-1.156-.5-1.672-.484-.531-1.375-.531-.687 0-1.218.39-.516.376-.813 1.032-.281.656-.281 1.453v5.094h-1.985v-5.766q0-1.14-.515-1.672-.5-.531-1.406-.531-.657 0-1.172.39-.516.391-.813 1.047-.281.657-.281 1.454v5.078zm20.985.297q-1.39 0-2.5-.641-1.093-.656-1.718-1.797-.625-1.14-.625-2.594 0-1.359.593-2.515.594-1.157 1.672-1.86t2.469-.703q1.484 0 2.516.64 1.03.626 1.562 1.735.547 1.094.547 2.469 0 .219-.016.39 0 .157-.015.25h-8.188v-1.515h6.235q-.032-.344-.203-.75-.157-.406-.485-.734-.312-.344-.797-.547-.484-.219-1.14-.219-.813 0-1.453.422-.625.422-.985 1.172-.36.734-.36 1.718 0 1.094.407 1.829.422.718 1.094 1.093.672.36 1.453.36.953 0 1.594-.438.64-.437 1.015-1.078l1.657.797q-.61 1.125-1.672 1.828-1.063.688-2.657.688m6.384-.297v-9.516h1.906v1.313h.11q.406-.704 1.218-1.157.813-.453 1.782-.453 1.765 0 2.64 1.031.875 1.032.875 2.782v6h-2v-5.75q0-1.157-.578-1.688t-1.516-.531q-.718 0-1.265.406-.531.406-.844 1.063-.312.64-.312 1.39v5.11zm9.698-9.516h6.015v1.75h-6.015zm1.672 6.75v-9.437h2.015v9.015q0 .703.281 1.078.297.375.985.375.328 0 .594-.093.265-.11.515-.266v1.969q-.312.125-.672.203-.343.078-.828.078-1.328 0-2.11-.781-.78-.782-.78-2.14m9.97-6.75h6.015v1.75h-6.016zm1.671 6.75v-9.437h2.016v9.015q0 .703.281 1.078.297.375.984.375.328 0 .594-.093.266-.11.516-.266v1.969q-.313.125-.672.203-.344.078-.828.078-1.328 0-2.11-.781-.78-.782-.78-2.14m10.39 3.063q-1.484 0-2.61-.672-1.109-.672-1.75-1.813-.624-1.156-.624-2.562 0-1.422.625-2.563.64-1.156 1.75-1.828 1.125-.672 2.61-.672 1.452 0 2.562.688 1.125.672 1.75 1.812.64 1.14.64 2.563 0 1.406-.64 2.562-.625 1.14-1.75 1.813-1.11.672-2.563.672m0-1.844q.781 0 1.453-.375.672-.39 1.094-1.11.422-.718.422-1.718 0-1.016-.422-1.735-.422-.718-1.094-1.093-.672-.391-1.453-.391t-1.469.39q-.687.376-1.109 1.094-.406.72-.406 1.735 0 1 .406 1.718.422.72 1.11 1.11.702.375 1.468.375m11.287 1.844q-1.484 0-2.61-.672-1.109-.672-1.75-1.813-.624-1.156-.624-2.562 0-1.422.625-2.563.64-1.156 1.75-1.828 1.125-.672 2.61-.672 1.452 0 2.562.688 1.125.672 1.75 1.812.64 1.14.64 2.563 0 1.406-.64 2.562-.625 1.14-1.75 1.813-1.11.672-2.563.672m0-1.844q.781 0 1.453-.375.672-.39 1.094-1.11.422-.718.422-1.718 0-1.016-.422-1.735-.422-.718-1.094-1.093-.672-.391-1.453-.391t-1.469.39q-.687.376-1.109 1.094-.406.72-.406 1.735 0 1 .406 1.718.422.72 1.11 1.11.703.375 1.468.375m6.725 1.547v-13.36h2.016v13.36zm8.7.297q-1.437 0-2.547-.641-1.109-.656-1.734-1.797-.625-1.156-.625-2.61 0-1.468.625-2.593.625-1.14 1.734-1.797 1.11-.672 2.547-.672 1.578 0 2.672.719 1.094.703 1.563 1.906l-1.828.75q-.329-.765-.954-1.14-.625-.391-1.484-.391-.797 0-1.453.406-.64.406-1.031 1.11-.391.703-.391 1.703 0 .968.39 1.703.391.719 1.032 1.11.656.39 1.453.39.906 0 1.531-.406.64-.422 1-1.157l1.797.782q-.531 1.14-1.625 1.89-1.094.735-2.672.735m6.023-.297v-13.36h2.015v3.657l-.109 1.5h.11q.39-.704 1.203-1.157.812-.453 1.796-.453 1.204 0 1.985.485.797.484 1.187 1.343.391.844.391 1.985v6h-1.984v-5.75q0-.766-.297-1.25-.282-.485-.75-.719-.469-.25-1.047-.25-.735 0-1.297.422-.547.406-.875 1.062-.313.657-.313 1.407v5.078zm13.767.297q-1.015 0-1.812-.407t-1.25-1.125-.453-1.656q0-1.031.531-1.734t1.422-1.078 1.984-.375q.594 0 1.094.093.516.078.89.188.391.11.626.234v-.5q0-.937-.672-1.484-.672-.563-1.735-.563-.734 0-1.39.328-.64.313-1.047.875l-1.375-1.062q.406-.578 1-.984t1.328-.625q.734-.235 1.531-.235 2.078 0 3.188 1.016 1.125 1.015 1.125 2.844v5.953h-1.953v-1.172h-.11q-.25.375-.672.719-.421.328-1 .53-.562.22-1.25.22m.36-1.641q.781 0 1.39-.375.61-.375.938-.969.344-.61.344-1.328-.422-.234-1.016-.39-.578-.172-1.234-.172-1.219 0-1.75.5-.516.484-.516 1.203 0 .672.5 1.11.5.421 1.344.421m6.999 1.344v-9.516h2.015v9.516zm1-10.907q-.563 0-.97-.406-.39-.406-.39-.969 0-.578.39-.953.407-.39.97-.39.578 0 .968.39.391.375.391.953 0 .563-.39.97-.391.405-.97.405m3.507 10.907v-9.516h1.907v1.313h.11q.405-.704 1.218-1.157t1.781-.453q1.766 0 2.64 1.031.876 1.032.876 2.782v6h-2v-5.75q0-1.157-.578-1.688-.579-.531-1.516-.531-.719 0-1.266.406-.53.406-.843 1.063-.313.64-.313 1.39v5.11z"/>
+ <path fill="#eee" d="M215.986 150.315v-11.453h6.625v1.296h-5.266v10.157zm.719-4.953v-1.282h5.39v1.282zm9.785 5.203q-.906 0-1.594-.344-.687-.36-1.078-.969-.39-.625-.39-1.406 0-.89.453-1.5.468-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .094.469.078.813.203t.515.234v-.5q0-.922-.656-1.469-.64-.546-1.594-.546-.672 0-1.265.296-.579.297-.907.829l-1.03-.766q.327-.484.796-.828.484-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.172h-1.297v-1.172h-.062q-.203.36-.594.687-.375.328-.906.532-.516.203-1.14.203m.14-1.188q.704 0 1.282-.344.578-.359.922-.953.36-.593.36-1.297-.36-.265-.923-.421-.547-.157-1.203-.157-1.156 0-1.703.485-.547.468-.547 1.172 0 .671.5 1.093.516.422 1.313.422m8.526 1.188q-.922 0-1.625-.297-.687-.297-1.14-.797-.454-.5-.672-1.094l1.203-.547q.328.735.937 1.141.61.406 1.39.406.75 0 1.25-.297.517-.312.517-.906 0-.375-.22-.625-.202-.25-.609-.422-.39-.172-.968-.312l-1-.266q-.563-.156-1.078-.437-.516-.297-.829-.75-.312-.454-.312-1.11 0-.734.422-1.265.437-.532 1.14-.813.704-.281 1.516-.281.703 0 1.313.203.625.203 1.078.594.468.39.703.968l-1.172.547q-.313-.609-.828-.843-.5-.25-1.125-.25-.672 0-1.172.296-.5.297-.5.813t.406.766 1 .421l1.188.297q1.203.313 1.812.907.61.593.61 1.468 0 .766-.438 1.328-.437.547-1.172.86-.734.297-1.625.297m4.082-8.407h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .641.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.329q-.203.093-.453.14-.25.063-.672.063-1.015 0-1.64-.594-.625-.61-.625-1.672m8.817 2.14v-8.156h1.36v8.157zm.672-9.656q-.406 0-.703-.28-.281-.298-.281-.704 0-.422.281-.687.297-.282.703-.282.407 0 .688.282.281.265.281.687 0 .406-.281.703-.281.281-.688.281m2.82 9.657v-8.157h1.28v1.204h.079q.312-.594 1.031-1.032.734-.437 1.61-.437 1.5 0 2.25.875.765.875.765 2.312v5.235h-1.36v-5.032q0-1.171-.577-1.656-.563-.5-1.454-.5-.671 0-1.187.375t-.797.969-.281 1.25v4.594zm12.663.25q-1.203 0-2.14-.563t-1.47-1.547q-.515-.984-.515-2.218 0-1.25.516-2.22.53-.984 1.468-1.546.938-.578 2.14-.578 1.376 0 2.267.64.89.625 1.25 1.625l-1.235.516q-.297-.766-.906-1.156-.594-.39-1.438-.39-.718 0-1.343.39-.61.375-1 1.078-.375.687-.375 1.64 0 .922.375 1.626.39.703 1 1.093.625.391 1.343.391.86 0 1.485-.406t.937-1.14l1.203.515q-.39.937-1.296 1.593-.891.657-2.266.657m4.968-.25v-8.157h1.282v1.313h.078q.156-.469.531-.813t.86-.546.968-.204q.375 0 .578.047t.39.125v1.47q-.265-.126-.562-.188-.296-.079-.593-.079-.594 0-1.094.344-.5.328-.797.89-.281.563-.281 1.235v4.563zm9.145.25q-1.187 0-2.109-.547-.922-.563-1.437-1.531-.516-.985-.516-2.235 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.548.875.531 1.344 1.484.484.938.484 2.156 0 .11-.015.22 0 .108-.016.187h-7.031v-1.11h5.61q-.016-.344-.157-.734-.125-.39-.422-.735-.297-.343-.75-.562t-1.125-.219q-.797 0-1.39.406-.579.407-.891 1.125-.313.704-.313 1.594 0 1.031.391 1.735.406.687 1.031 1.03.64.329 1.328.329.891 0 1.47-.422.593-.437.952-1.062l1.14.562q-.468.938-1.374 1.547-.89.594-2.235.594m5.383-.25v-8.157h1.282v1.204h.078q.219-.407.61-.735.39-.328.89-.531.515-.203 1.031-.203.922 0 1.578.453.656.437.938 1.14.422-.687 1.125-1.14t1.672-.453q1.468 0 2.156.89.687.875.687 2.297v5.235h-1.343v-5.032q0-1.171-.485-1.656-.484-.5-1.36-.5-.624 0-1.124.36-.485.359-.766.953-.265.578-.265 1.265v4.61h-1.36v-5.016q0-1.172-.484-1.672-.485-.5-1.344-.5-.625 0-1.125.375-.484.36-.766.953-.265.594-.265 1.282v4.578zm17.626.25q-1.188 0-2.11-.547-.922-.563-1.437-1.531-.516-.985-.516-2.235 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.548.875.531 1.344 1.484.484.938.484 2.156 0 .11-.015.22 0 .108-.016.187h-7.031v-1.11h5.61q-.016-.344-.157-.734-.125-.39-.422-.735-.297-.343-.75-.562t-1.125-.219q-.797 0-1.39.406-.579.407-.891 1.125-.313.704-.313 1.594 0 1.031.391 1.735.406.687 1.031 1.03.64.329 1.328.329.891 0 1.47-.422.593-.437.952-1.062l1.14.562q-.468.938-1.374 1.547-.89.594-2.234.594m5.383-.25v-8.157h1.28v1.204h.079q.312-.594 1.031-1.032.735-.437 1.61-.437 1.5 0 2.25.875.765.875.765 2.312v5.235h-1.36v-5.032q0-1.171-.577-1.656-.563-.5-1.453-.5-.672 0-1.188.375t-.797.969-.281 1.25v4.594zm8.013-8.157h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .641.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.329q-.204.093-.454.14-.25.063-.671.063-1.016 0-1.641-.594-.625-.61-.625-1.672m7.414 2.39q-.906 0-1.593-.343-.688-.36-1.079-.969-.39-.625-.39-1.406 0-.89.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .094.469.078.813.203t.515.234v-.5q0-.922-.656-1.469-.64-.546-1.594-.546-.671 0-1.265.296-.578.297-.906.829l-1.032-.766q.328-.484.797-.828.485-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.172h-1.297v-1.172h-.062q-.203.36-.594.687-.375.328-.906.532-.516.203-1.14.203m.14-1.187q.704 0 1.282-.344.578-.359.922-.953.36-.593.36-1.297-.36-.265-.922-.421-.547-.157-1.204-.157-1.156 0-1.703.485-.547.468-.547 1.172 0 .671.5 1.093.516.422 1.313.422m5.763.938v-11.453h1.359v11.453zm10.775.25q-1.203 0-2.14-.563t-1.47-1.547q-.515-.984-.515-2.218 0-1.25.516-2.22.53-.984 1.468-1.546.938-.578 2.141-.578 1.375 0 2.266.64.89.625 1.25 1.625l-1.235.516q-.297-.766-.906-1.156-.594-.39-1.437-.39-.72 0-1.344.39-.61.375-1 1.078-.375.687-.375 1.64 0 .922.375 1.626.39.703 1 1.093.625.391 1.344.391.859 0 1.484-.406t.937-1.14l1.204.515q-.391.937-1.297 1.593-.89.657-2.266.657m8.719 0q-1.235 0-2.188-.563-.937-.578-1.469-1.562-.53-.985-.53-2.203 0-1.22.53-2.204.532-.984 1.47-1.562.952-.578 2.187-.578t2.171.594q.954.578 1.485 1.562t.531 2.188q0 1.218-.531 2.203t-1.485 1.562q-.937.563-2.171.563m0-1.219q.734 0 1.375-.375.656-.375 1.046-1.063.407-.703.407-1.671 0-.985-.407-1.672-.39-.703-1.046-1.063-.641-.375-1.375-.375-.735 0-1.391.375-.656.36-1.063 1.063-.39.687-.39 1.672 0 .968.39 1.671.407.688 1.063 1.063t1.39.375m5.626.969v-8.157h1.28v1.204h.079q.219-.407.61-.735.39-.328.89-.531.516-.203 1.031-.203.922 0 1.578.453.657.437.938 1.14.422-.687 1.125-1.14t1.672-.453q1.468 0 2.156.89.687.875.687 2.297v5.235h-1.343v-5.032q0-1.171-.485-1.656-.484-.5-1.359-.5-.625 0-1.125.36-.484.359-.766.953-.265.578-.265 1.265v4.61h-1.36V145.3q0-1.172-.484-1.672t-1.344-.5q-.625 0-1.125.375-.484.36-.765.953-.266.594-.266 1.282v4.578zm14 3.453v-11.61h1.28v1.22h.079q.219-.391.625-.72.406-.343.953-.546.547-.22 1.203-.22 1.11 0 1.985.563.89.563 1.406 1.547.516.969.516 2.235 0 1.265-.516 2.25-.516.968-1.406 1.53-.875.548-1.985.548-.984 0-1.718-.438-.735-.453-1.063-1.015h-.078l.078 1.125v3.53zm4-4.422q.703 0 1.312-.375.61-.39.985-1.094.39-.703.39-1.64 0-.97-.39-1.657-.375-.703-.985-1.078t-1.312-.375q-.72 0-1.328.375-.61.375-1 1.078-.391.688-.391 1.657 0 .953.39 1.656.391.687 1 1.078.61.375 1.329.375m5.677.969v-8.157h1.359v8.157zm.672-9.657q-.407 0-.704-.28-.28-.298-.28-.704 0-.422.28-.687.297-.282.704-.282t.687.282q.281.265.281.687 0 .406-.281.703-.281.281-.687.281m2.819 9.657v-11.453h1.359v11.453zm5.89.25q-.907 0-1.594-.344-.688-.36-1.078-.969-.391-.625-.391-1.406 0-.89.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .094.47.078.813.203.344.125.516.234v-.5q0-.922-.657-1.469-.64-.546-1.593-.546-.672 0-1.266.296-.578.297-.906.829l-1.032-.766q.329-.484.797-.828.485-.36 1.094-.547.625-.203 1.313-.203 1.671 0 2.609.89.937.875.937 2.36v5.172h-1.296v-1.172h-.063q-.203.36-.594.687-.375.328-.906.532-.516.203-1.14.203m.14-1.188q.703 0 1.281-.344.578-.359.922-.953.36-.593.36-1.297-.36-.265-.922-.421-.547-.157-1.203-.157-1.157 0-1.704.485-.546.468-.546 1.172 0 .671.5 1.093.515.422 1.312.422m5.04-7.219h4.78v1.235h-4.78zm1.421 6.016v-8.328h1.36v7.984q0 .641.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.329q-.203.093-.453.14-.25.063-.672.063-1.016 0-1.64-.594-.626-.61-.626-1.672m5.186 2.14v-8.156h1.36v8.157zm.672-9.656q-.407 0-.704-.28-.28-.298-.28-.704 0-.422.28-.687.297-.282.704-.282t.687.282q.281.265.281.687 0 .406-.28.703-.282.281-.688.281m6.489 9.907q-1.235 0-2.188-.563-.937-.578-1.469-1.562-.53-.985-.53-2.203 0-1.22.53-2.204.532-.984 1.47-1.562.952-.578 2.187-.578t2.172.594q.953.578 1.484 1.562t.531 2.188q0 1.218-.531 2.203t-1.484 1.562q-.938.563-2.172.563m0-1.219q.734 0 1.375-.375.656-.375 1.047-1.063.406-.703.406-1.671 0-.985-.406-1.672-.391-.703-1.047-1.063-.64-.375-1.375-.375t-1.39.375q-.657.36-1.063 1.063-.391.687-.391 1.672 0 .968.39 1.671.407.688 1.063 1.063t1.39.375m5.626.969v-8.157h1.281v1.204H415q.313-.594 1.031-1.032.735-.437 1.61-.437 1.5 0 2.25.875.765.875.765 2.312v5.235h-1.359v-5.032q0-1.171-.578-1.656-.563-.5-1.453-.5-.672 0-1.188.375t-.797.969q-.28.594-.28 1.25v4.594zM219.19 169.565q-.845 0-1.657-.344-.813-.36-1.438-1.047t-.906-1.703l1.297-.531q.266.984.984 1.656.72.672 1.75.672.641 0 1.172-.219.531-.234.86-.687t.328-1.094q0-.563-.282-.969-.28-.406-.843-.719-.547-.312-1.36-.593l-.734-.25q-.469-.188-.969-.422-.484-.25-.89-.61-.407-.359-.657-.859-.234-.516-.234-1.203 0-.828.453-1.516.453-.687 1.234-1.11.782-.421 1.813-.421 1.062 0 1.781.406.735.39 1.156.922.438.531.579.984l-1.266.547q-.094-.343-.375-.703-.266-.36-.719-.61t-1.14-.25q-.563 0-1.063.235-.484.219-.781.61-.297.39-.297.906 0 .719.578 1.14.578.407 1.563.75l.75.25q.515.172 1.046.438.532.25 1 .656.47.39.75.985.282.578.282 1.39 0 .89-.344 1.531-.344.625-.906 1.032-.547.39-1.219.562-.656.188-1.297.188m4.56-8.407h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .641.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.329q-.203.093-.453.14-.25.063-.672.063-1.015 0-1.64-.594-.625-.61-.625-1.672m7.414 2.39q-.906 0-1.594-.343-.687-.36-1.078-.969-.39-.625-.39-1.406 0-.89.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .094.469.078.813.203t.515.234v-.5q0-.922-.656-1.469-.64-.546-1.594-.546-.672 0-1.265.296-.578.297-.907.829l-1.03-.766q.327-.484.796-.828.484-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.172h-1.297v-1.172h-.062q-.203.36-.594.687-.375.328-.906.532-.516.203-1.14.203m.14-1.187q.704 0 1.282-.344.578-.359.922-.953.36-.593.36-1.297-.36-.265-.923-.421-.546-.157-1.203-.157-1.156 0-1.703.485-.547.468-.547 1.172 0 .671.5 1.093.516.422 1.313.422m5.04-7.219h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .641.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.329q-.203.093-.453.14-.25.063-.672.063-1.015 0-1.64-.594-.625-.61-.625-1.672m8.253 2.39q-1.187 0-2.109-.546-.922-.563-1.437-1.531-.516-.985-.516-2.235 0-1.172.484-2.156.485-1 1.375-1.594.89-.61 2.094-.61 1.219 0 2.078.548.875.531 1.344 1.484.484.938.484 2.156 0 .11-.015.22 0 .108-.016.187h-7.031v-1.11h5.61q-.016-.344-.157-.734-.125-.39-.422-.735-.297-.343-.75-.562t-1.125-.219q-.797 0-1.39.406-.579.407-.891 1.125-.313.704-.313 1.594 0 1.031.39 1.735.407.687 1.032 1.03.64.329 1.328.329.89 0 1.469-.422.594-.437.953-1.062l1.14.562q-.468.938-1.374 1.547-.89.594-2.235.594m4.66-7.171v-1.235h4.954v1.235zm1.5 6.922v-9.047q0-.797.345-1.36.359-.562.953-.859.61-.312 1.312-.312.469 0 .735.062.265.047.468.125v1.328q-.218-.078-.484-.156-.266-.094-.672-.094-.5 0-.906.36-.39.359-.39 1.062v8.89zm7.92.25q-1.5 0-2.265-.875t-.766-2.407v-5.125h1.36v4.922q0 1.22.562 1.75.563.516 1.39.516.72 0 1.25-.375.532-.39.813-.969.297-.594.297-1.234v-4.61h1.36v8.157h-1.297v-1.188h-.063q-.203.39-.625.719-.406.328-.922.516-.515.203-1.093.203m6.023-.25v-11.453h1.36v11.453zm7.088 0v-11.453h1.36v3.375l-.078 1.125h.078q.312-.61 1.031-1.032.734-.437 1.625-.437 1.031 0 1.703.422t1 1.14q.344.703.344 1.625v5.235h-1.36v-5.032q0-.78-.28-1.25-.282-.468-.735-.687t-1-.219q-.672 0-1.203.39-.531.376-.828.985-.297.61-.297 1.266v4.547zm12.774.25q-1.234 0-2.187-.563-.938-.578-1.469-1.562t-.531-2.203q0-1.22.531-2.204t1.469-1.562q.953-.578 2.187-.578 1.235 0 2.172.594.953.578 1.485 1.562.531.984.531 2.188 0 1.218-.531 2.203-.532.984-1.485 1.562-.937.563-2.172.563m0-1.219q.735 0 1.375-.375.657-.375 1.047-1.063.407-.703.407-1.671 0-.985-.407-1.672-.39-.703-1.047-1.063-.64-.375-1.375-.375-.734 0-1.39.375-.656.36-1.063 1.063-.39.687-.39 1.672 0 .968.39 1.671.407.688 1.063 1.063t1.39.375m4.984-7.188h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .641.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.329q-.203.093-.453.14-.25.063-.672.063-1.015 0-1.64-.594-.625-.61-.625-1.672m8.692 2.14v-8.156h1.282v1.313h.078q.156-.469.531-.813t.86-.546.968-.204q.375 0 .578.047t.391.125v1.47q-.266-.126-.563-.188-.296-.079-.593-.079-.594 0-1.094.344-.5.328-.797.89-.281.563-.281 1.235v4.563zm9.146.25q-1.188 0-2.11-.546-.922-.563-1.437-1.531-.516-.985-.516-2.235 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.548.875.531 1.344 1.484.484.938.484 2.156 0 .11-.015.22 0 .108-.016.187h-7.031v-1.11h5.61q-.016-.344-.157-.734-.125-.39-.422-.735-.297-.343-.75-.562t-1.125-.219q-.797 0-1.39.406-.579.407-.891 1.125-.313.704-.313 1.594 0 1.031.391 1.735.406.687 1.031 1.03.64.329 1.328.329.891 0 1.47-.422.593-.437.952-1.062l1.14.562q-.468.938-1.374 1.547-.89.594-2.234.594m5.383-.25v-11.452h1.359v11.453zm7.046.25q-1.235 0-2.188-.562-.937-.578-1.469-1.562-.531-.985-.531-2.203 0-1.22.531-2.204.532-.984 1.469-1.562.953-.578 2.188-.578 1.234 0 2.171.594.954.578 1.485 1.562t.531 2.188q0 1.218-.531 2.203t-1.485 1.562q-.937.563-2.171.563m0-1.218q.734 0 1.375-.375.656-.375 1.046-1.063.407-.703.407-1.671 0-.985-.407-1.672-.39-.703-1.046-1.063-.641-.375-1.375-.375-.735 0-1.391.375-.656.36-1.063 1.063-.39.687-.39 1.672 0 .968.39 1.671.407.688 1.063 1.063t1.39.375m8.38 1.219q-.907 0-1.594-.344-.688-.36-1.079-.969-.39-.625-.39-1.406 0-.89.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .094.47.078.813.203.344.125.515.234v-.5q0-.922-.656-1.469-.64-.546-1.594-.546-.671 0-1.265.296-.578.297-.906.829l-1.032-.766q.328-.484.797-.828.485-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.172h-1.297v-1.172h-.062q-.203.36-.594.687-.375.328-.906.532-.516.203-1.14.203m.14-1.188q.703 0 1.281-.344.578-.359.922-.953.36-.593.36-1.297-.36-.265-.922-.421-.547-.157-1.204-.157-1.156 0-1.703.485-.547.468-.547 1.172 0 .671.5 1.093.516.422 1.313.422m9.15 1.188q-1.109 0-2-.547-.89-.563-1.406-1.531-.5-.985-.5-2.25t.5-2.235q.516-.984 1.406-1.547.891-.562 2-.562.657 0 1.188.219.547.203.953.546.422.329.64.72h.063l-.062-1.141v-3.375h1.359v11.453h-1.297v-1.203h-.062q-.22.375-.641.718-.406.328-.953.532-.531.203-1.188.203m.141-1.219q.703 0 1.312-.375.625-.39 1-1.078.391-.703.391-1.656 0-.97-.39-1.657-.376-.703-1-1.078-.61-.375-1.313-.375t-1.328.375q-.61.375-1 1.078-.375.688-.375 1.657 0 .937.375 1.64.39.703 1 1.094.625.375 1.328.375"/>
+ <path fill="#2bb7f6" d="M479.785 99.601h346.079v86.583h-346.08z" fill-rule="evenodd"/>
+ <path fill="#000" d="M562.316 130.812v-13.359h4.703q1.281 0 2.313.531 1.03.532 1.625 1.485.609.953.609 2.203t-.61 2.219q-.593.953-1.624 1.484t-2.313.531h-3.312v-2.39h3.39q.64 0 1.094-.25.453-.266.672-.688t.219-.906-.22-.89q-.218-.423-.671-.673-.453-.265-1.094-.265h-2.265v10.968zm11.037 0v-9.515h2.296v1.265h.157q.234-.437.64-.78.407-.36.938-.563.547-.203 1.156-.203.375 0 .672.062.297.047.531.14v2.454q-.39-.156-.781-.25-.375-.11-.813-.11-.718 0-1.25.375-.53.36-.812.985-.281.625-.281 1.406v4.734zm11.968.297q-1.5 0-2.656-.656-1.14-.672-1.781-1.812-.64-1.157-.64-2.579 0-1.437.64-2.578.64-1.156 1.781-1.812 1.156-.672 2.656-.672 1.485 0 2.625.672t1.782 1.812q.64 1.14.64 2.578 0 1.422-.64 2.579-.641 1.14-1.782 1.812-1.14.656-2.625.656m0-2.281q.703 0 1.282-.312.593-.329.953-.954.375-.625.375-1.5 0-.89-.375-1.5-.36-.609-.953-.937-.579-.344-1.266-.344-.703 0-1.313.344-.609.328-.984.937-.36.61-.36 1.5 0 .875.36 1.5.375.625.984.954.61.312 1.297.312m11.005 2.281q-1.312 0-2.36-.64-1.03-.641-1.64-1.782-.61-1.14-.61-2.625 0-1.5.61-2.64t1.64-1.781q1.048-.641 2.36-.641.688 0 1.25.203t.969.547q.406.328.64.703h.141l-.14-1.344v-3.656h2.421v13.36h-2.28v-1.141h-.141q-.235.375-.641.703t-.969.531q-.562.203-1.25.203m.406-2.25q.688 0 1.282-.36.593-.358.953-.983t.36-1.454q0-.843-.36-1.468t-.953-.97-1.282-.343q-.671 0-1.265.344-.578.344-.953.969-.36.609-.36 1.468 0 .829.36 1.47.375.624.953.984.594.343 1.265.343m10.71 2.25q-1.75 0-2.625-1.078t-.875-2.953v-5.781h2.438v5.484q0 .969.468 1.531.485.547 1.235.547.718 0 1.218-.36.516-.374.782-.983.265-.625.265-1.375v-4.844h2.453v9.515h-2.296v-1.187h-.157q-.281.437-.734.781-.438.328-.984.516-.547.187-1.188.187m12.129 0q-1.454 0-2.594-.64-1.125-.641-1.766-1.782-.64-1.156-.64-2.625 0-1.484.64-2.609.64-1.14 1.766-1.797 1.14-.656 2.594-.656 1.578 0 2.718.672 1.141.672 1.641 1.937l-2.234.938q-.297-.656-.844-.953-.531-.313-1.281-.313-.735 0-1.313.344t-.922.969q-.328.609-.328 1.468 0 .844.328 1.47.344.624.922.984.578.343 1.313.343.828 0 1.359-.36.547-.374.875-1.015l2.187.985q-.562 1.187-1.703 1.922-1.14.718-2.718.718m5.44-9.812h6.438v2.094h-6.438zm1.672 6.469v-9.157h2.437v8.719q0 .656.282 1t.937.344q.375 0 .625-.11.25-.125.563-.312v2.39q-.39.157-.813.235-.422.094-.89.094-1.47 0-2.313-.844-.828-.86-.828-2.36m7.048 3.046v-9.515h2.437v9.515zm1.234-10.562q-.656 0-1.125-.469t-.469-1.11q0-.655.47-1.109.468-.468 1.124-.468t1.11.468q.453.454.453 1.11 0 .64-.453 1.11-.454.468-1.11.468m8.21 10.86q-1.5 0-2.657-.657-1.14-.672-1.781-1.812-.64-1.157-.64-2.579 0-1.437.64-2.578.64-1.156 1.781-1.812 1.156-.672 2.656-.672 1.485 0 2.625.672t1.782 1.812q.64 1.14.64 2.578 0 1.422-.64 2.579-.641 1.14-1.782 1.812-1.14.656-2.625.656m0-2.282q.702 0 1.28-.312.594-.329.954-.954.375-.625.375-1.5 0-.89-.375-1.5-.36-.609-.953-.937-.579-.344-1.266-.344-.703 0-1.313.344-.609.328-.984.937-.36.61-.36 1.5 0 .875.36 1.5.375.625.984.954.61.312 1.297.312m6.724 1.984v-9.515h2.297v1.187h.156q.422-.687 1.203-1.078.797-.406 1.703-.406 1.75 0 2.625 1.062.89 1.063.89 2.844v5.906h-2.452v-5.609q0-.937-.485-1.422-.469-.5-1.281-.5-.672 0-1.172.36-.5.359-.766.968-.265.61-.265 1.36v4.843zm14.868-9.515h6.438v2.094h-6.438zm1.672 6.469v-9.157h2.438v8.719q0 .656.281 1t.938.344q.375 0 .625-.11.25-.125.562-.312v2.39q-.39.157-.812.235-.422.094-.891.094-1.469 0-2.313-.844-.828-.86-.828-2.36m11.025 3.343q-1.5 0-2.656-.656-1.14-.672-1.781-1.812-.641-1.157-.641-2.579 0-1.437.64-2.578.641-1.156 1.782-1.812 1.156-.672 2.656-.672 1.485 0 2.625.672t1.781 1.812.641 2.578q0 1.422-.64 2.579-.641 1.14-1.782 1.812-1.14.656-2.625.656m0-2.281q.703 0 1.281-.312.594-.329.954-.954.375-.625.375-1.5 0-.89-.375-1.5-.36-.609-.954-.937-.578-.344-1.265-.344-.703 0-1.313.344-.61.328-.984.937-.36.61-.36 1.5 0 .875.36 1.5.375.625.984.954.61.312 1.297.312m11.474 2.281q-1.5 0-2.657-.656-1.14-.672-1.78-1.812-.641-1.157-.641-2.579 0-1.437.64-2.578.64-1.156 1.781-1.812 1.157-.672 2.657-.672 1.484 0 2.625.672 1.14.672 1.781 1.812.64 1.14.64 2.578 0 1.422-.64 2.579-.64 1.14-1.781 1.812-1.14.656-2.625.656m0-2.281q.703 0 1.281-.312.594-.329.953-.954.375-.625.375-1.5 0-.89-.375-1.5-.36-.609-.953-.937-.578-.344-1.266-.344-.703 0-1.312.344-.61.328-.985.937-.359.61-.359 1.5 0 .875.36 1.5.374.625.984.954.61.312 1.297.312m6.849 1.984V117.45h2.437v13.36zm9.229.297q-1.453 0-2.594-.64-1.125-.641-1.766-1.782-.64-1.156-.64-2.625 0-1.484.64-2.609.641-1.14 1.766-1.797 1.14-.656 2.594-.656 1.578 0 2.719.672t1.64 1.937l-2.234.938q-.297-.656-.844-.953-.531-.313-1.281-.313-.735 0-1.313.344t-.922.969q-.328.609-.328 1.468 0 .844.328 1.47.344.624.922.984.578.343 1.313.343.828 0 1.36-.36.546-.374.874-1.015l2.188.985q-.563 1.187-1.703 1.922-1.141.718-2.72.718m6.205-.297V117.45h2.454v3.375l-.157 1.656h.157q.406-.64 1.171-1.062.782-.422 1.72-.422 1.171 0 1.968.484.812.469 1.203 1.344.406.875.406 2.078v5.906h-2.437V125.2q0-.64-.235-1.062t-.64-.641q-.39-.219-.938-.219-.656 0-1.156.36-.5.359-.781.984-.281.61-.281 1.36v4.827zm14.06.297q-1.016 0-1.797-.39-.765-.407-1.219-1.125-.437-.735-.437-1.688 0-1 .5-1.703.516-.703 1.39-1.094.876-.39 1.938-.39.578 0 1.047.062.469.063.844.156.375.094.625.204v-.407q0-.765-.578-1.25-.579-.5-1.594-.5-.672 0-1.297.313-.625.297-1.031.797l-1.563-1.235q.469-.593 1.078-1.015t1.36-.625q.75-.22 1.562-.22 2.188 0 3.328 1.017 1.14 1 1.14 2.937v5.86h-2.405v-.97h-.157q-.265.329-.656.626-.39.28-.922.453-.515.187-1.156.187m.578-1.906q.735 0 1.25-.312.516-.329.781-.844.282-.531.282-1.11-.422-.203-.938-.328-.515-.125-1.062-.125-1.078 0-1.5.422-.407.406-.407 1 0 .563.407.938.406.359 1.187.359m7.123 1.61v-9.516h2.437v9.515zm1.234-10.563q-.656 0-1.125-.469t-.469-1.11q0-.655.469-1.109.469-.468 1.125-.468t1.11.468q.453.454.453 1.11 0 .64-.454 1.11-.453.468-1.109.468m3.74 10.562v-9.515h2.297v1.187h.156q.422-.687 1.203-1.078.797-.406 1.703-.406 1.75 0 2.625 1.062.89 1.063.89 2.844v5.906h-2.452V125.2q0-.937-.485-1.422-.468-.5-1.28-.5-.673 0-1.173.36-.5.359-.765.968-.266.61-.266 1.36v4.843z"/>
+ <path fill="#222" d="M562.066 150.252V138.8h6.625v1.297h-5.266v10.156zm.719-4.953v-1.281h5.39v1.281zm9.785 5.203q-.906 0-1.594-.343-.687-.36-1.078-.97-.39-.624-.39-1.405 0-.891.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .093.469.079.813.204t.515.234v-.5q0-.922-.656-1.469-.64-.547-1.594-.547-.672 0-1.265.297-.578.297-.907.828l-1.03-.765q.327-.485.796-.828.484-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.171h-1.297v-1.171h-.062q-.203.359-.594.687-.375.328-.906.531-.516.203-1.14.203m.14-1.187q.704 0 1.282-.344.578-.36.922-.953.36-.594.36-1.297-.36-.265-.923-.422-.546-.156-1.203-.156-1.156 0-1.703.484-.547.47-.547 1.172 0 .672.5 1.094.516.422 1.313.422m8.526 1.187q-.922 0-1.625-.296-.687-.297-1.14-.797-.454-.5-.672-1.094l1.203-.547q.328.734.937 1.14.61.407 1.391.407.75 0 1.25-.297.516-.312.516-.906 0-.375-.22-.625-.202-.25-.609-.422-.39-.172-.968-.313l-1-.265q-.563-.156-1.078-.438-.516-.297-.829-.75t-.312-1.11q0-.733.422-1.265.437-.531 1.14-.812.704-.281 1.516-.281.703 0 1.313.203.625.203 1.078.593.468.391.703.97l-1.172.546q-.313-.61-.828-.844-.5-.25-1.125-.25-.672 0-1.172.297t-.5.813.406.765 1 .422l1.188.297q1.203.313 1.812.906.61.594.61 1.469 0 .766-.438 1.328-.437.547-1.172.86-.734.296-1.625.296m4.082-8.406h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.328q-.203.094-.453.14-.25.063-.672.063-1.015 0-1.64-.593-.625-.61-.625-1.672m8.253 2.39q-1.187 0-2.109-.546-.922-.563-1.437-1.532-.516-.984-.516-2.234 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.547.875.532 1.344 1.485.484.937.484 2.156 0 .11-.015.219 0 .11-.016.187h-7.031v-1.11h5.61q-.016-.343-.157-.733-.125-.391-.422-.735t-.75-.562-1.125-.22q-.797 0-1.39.407-.579.406-.891 1.125-.313.703-.313 1.594 0 1.031.391 1.734.406.688 1.031 1.032.64.328 1.328.328.891 0 1.47-.422.593-.438.952-1.063l1.14.563q-.468.937-1.374 1.547-.89.593-2.235.593m8.307 0q-.922 0-1.625-.296-.687-.297-1.14-.797-.454-.5-.672-1.094l1.203-.547q.328.734.937 1.14.61.407 1.391.407.75 0 1.25-.297.516-.312.516-.906 0-.375-.22-.625-.202-.25-.609-.422-.39-.172-.968-.313l-1-.265q-.563-.156-1.078-.438-.516-.297-.829-.75t-.312-1.11q0-.733.422-1.265.437-.531 1.14-.812.704-.281 1.516-.281.703 0 1.313.203.625.203 1.078.593.468.391.703.97l-1.172.546q-.313-.61-.828-.844-.5-.25-1.125-.25-.672 0-1.172.297t-.5.813.406.765 1 .422l1.188.297q1.203.313 1.812.906.61.594.61 1.469 0 .766-.438 1.328-.437.547-1.172.86-.734.296-1.625.296m4.082-8.406h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.328q-.203.094-.453.14-.25.063-.672.063-1.015 0-1.64-.593-.625-.61-.625-1.672m8.692 2.14v-8.156h1.282v1.203h.078q.312-.593 1.031-1.031.734-.437 1.61-.437 1.5 0 2.25.875.765.875.765 2.312v5.234h-1.36v-5.03q0-1.173-.577-1.657-.563-.5-1.454-.5-.671 0-1.187.375t-.797.969-.281 1.25v4.593zm11.49.25q-.906 0-1.593-.343-.688-.36-1.079-.97-.39-.624-.39-1.405 0-.891.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .093.469.079.813.204t.515.234v-.5q0-.922-.656-1.469-.64-.547-1.594-.547-.671 0-1.265.297-.578.297-.906.828l-1.032-.765q.328-.485.797-.828.485-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.171h-1.297v-1.171h-.062q-.203.359-.594.687-.375.328-.906.531-.516.203-1.14.203m.14-1.187q.704 0 1.282-.344.578-.36.922-.953.36-.594.36-1.297-.36-.265-.922-.422-.547-.156-1.204-.156-1.156 0-1.703.484-.547.47-.547 1.172 0 .672.5 1.094.516.422 1.313.422m5.04-7.219h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.328q-.204.094-.454.14-.25.063-.671.063-1.016 0-1.641-.593-.625-.61-.625-1.672m5.185 2.14v-8.156h1.36v8.156zm.672-9.656q-.406 0-.703-.281-.281-.297-.281-.703 0-.422.281-.688.297-.281.703-.281.407 0 .688.281.281.266.281.688 0 .406-.281.703-.281.281-.688.281m5.21 9.656-3.297-8.156h1.453l2.532 6.563h.03l2.563-6.563h1.422l-3.328 8.156zm9.219.25q-1.188 0-2.11-.546-.922-.563-1.437-1.532-.516-.984-.516-2.234 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.547.875.532 1.344 1.485.484.937.484 2.156 0 .11-.015.219 0 .11-.016.187h-7.031v-1.11h5.61q-.016-.343-.157-.733-.125-.391-.422-.735t-.75-.562-1.125-.22q-.797 0-1.39.407-.579.406-.891 1.125-.313.703-.313 1.594 0 1.031.391 1.734.406.688 1.031 1.032.64.328 1.328.328.891 0 1.47-.422.593-.438.952-1.063l1.14.563q-.468.937-1.374 1.547-.89.593-2.234.593m12.845 0q-1.235 0-2.188-.562-.937-.578-1.469-1.563-.53-.984-.53-2.203t.53-2.203 1.47-1.562q.952-.578 2.187-.578t2.171.593q.954.578 1.485 1.563.531.984.531 2.187 0 1.219-.531 2.203-.531.985-1.485 1.563-.937.562-2.171.562m0-1.218q.734 0 1.375-.375.656-.375 1.046-1.063.407-.703.407-1.672 0-.984-.407-1.672-.39-.703-1.046-1.062-.641-.375-1.375-.375-.735 0-1.391.375-.656.36-1.063 1.062-.39.688-.39 1.672 0 .969.39 1.672.407.688 1.063 1.063t1.39.375m8.659 1.218q-1.5 0-2.266-.875t-.766-2.406v-5.125h1.36v4.922q0 1.219.562 1.75.563.516 1.39.516.72 0 1.25-.375.532-.391.813-.97.297-.593.297-1.233v-4.61h1.36v8.156h-1.297v-1.187h-.063q-.203.39-.625.719-.406.328-.922.515-.515.203-1.093.203m5.54-8.406h4.781v1.235h-4.78zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.328q-.204.094-.454.14-.25.063-.671.063-1.016 0-1.641-.593-.625-.61-.625-1.672m5.06 5.594v-11.61h1.282v1.219h.078q.219-.39.625-.719.406-.344.953-.547.547-.218 1.203-.218 1.11 0 1.985.562.89.563 1.406 1.547.516.969.516 2.234t-.516 2.25q-.516.969-1.406 1.532-.875.546-1.985.546-.984 0-1.718-.437-.735-.453-1.063-1.016h-.078l.078 1.125v3.532zm4-4.422q.704 0 1.313-.375.61-.391.985-1.094.39-.703.39-1.64 0-.97-.39-1.657-.375-.703-.985-1.078t-1.312-.375q-.72 0-1.328.375-.61.375-1 1.078-.391.688-.391 1.656 0 .953.39 1.657.391.687 1 1.078.61.375 1.329.375m8.506 1.218q-1.5 0-2.266-.875-.765-.875-.765-2.406v-5.125h1.359v4.922q0 1.219.562 1.75.563.516 1.391.516.719 0 1.25-.375.531-.391.813-.97.296-.593.296-1.233v-4.61h1.36v8.156h-1.297v-1.187h-.063q-.203.39-.625.719-.406.328-.921.515-.516.203-1.094.203m5.54-8.406h4.781v1.235h-4.78zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.328q-.203.094-.453.14-.25.063-.672.063-1.016 0-1.641-.593-.625-.61-.625-1.672m-143.602 21.39q-.845 0-1.657-.343-.813-.36-1.438-1.047-.625-.688-.906-1.703l1.297-.532q.266.985.984 1.657.72.672 1.75.672.641 0 1.172-.22.532-.234.86-.687t.328-1.093q0-.563-.281-.97-.282-.405-.844-.718-.547-.312-1.36-.594l-.734-.25q-.469-.187-.969-.422-.484-.25-.89-.609-.407-.36-.657-.86-.234-.515-.234-1.202 0-.829.453-1.516t1.235-1.11q.78-.421 1.812-.421 1.063 0 1.781.406.735.39 1.157.922.437.531.578.984l-1.266.547q-.094-.344-.375-.703-.266-.36-.719-.61t-1.14-.25q-.563 0-1.063.235-.484.219-.781.61-.297.39-.297.906 0 .718.578 1.14.578.406 1.563.75l.75.25q.515.172 1.047.438.53.25 1 .656.468.39.75.984.28.578.28 1.39 0 .892-.343 1.532-.344.625-.906 1.031-.547.391-1.219.563-.656.187-1.297.187m5.522-.25v-8.156h1.282v1.203h.078q.219-.406.61-.734.39-.328.89-.531.515-.203 1.031-.203.922 0 1.578.453.656.437.938 1.14.422-.687 1.125-1.14t1.672-.453q1.468 0 2.156.89.687.875.687 2.297v5.234h-1.343v-5.03q0-1.173-.485-1.657-.484-.5-1.36-.5-.624 0-1.124.36-.485.359-.766.952-.265.579-.265 1.266v4.61h-1.36v-5.016q0-1.172-.484-1.672-.485-.5-1.344-.5-.625 0-1.125.375-.484.36-.766.953-.265.594-.265 1.281v4.578zm16.514.25q-.906 0-1.594-.343-.687-.36-1.078-.97-.39-.624-.39-1.405 0-.891.453-1.5.469-.625 1.25-.938.797-.312 1.734-.312.547 0 1 .093.469.079.813.204t.515.234v-.5q0-.922-.656-1.469-.64-.547-1.594-.547-.672 0-1.265.297-.578.297-.907.828l-1.03-.765q.327-.485.796-.828.484-.36 1.094-.547.625-.203 1.312-.203 1.672 0 2.61.89.937.875.937 2.36v5.171h-1.297v-1.171h-.062q-.203.359-.594.687-.375.328-.906.531-.516.203-1.14.203m.14-1.187q.704 0 1.282-.344.578-.36.922-.953.36-.594.36-1.297-.36-.265-.923-.422-.546-.156-1.203-.156-1.156 0-1.703.484-.547.47-.547 1.172 0 .672.5 1.094.516.422 1.313.422m5.763.937V157.8h1.359v11.453zm3.375 0V157.8h1.36v11.453zm6.921.25q-1.187 0-2.109-.546-.922-.563-1.437-1.532-.516-.984-.516-2.234 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.547.875.532 1.344 1.485.484.937.484 2.156 0 .11-.015.219 0 .11-.016.187h-7.031v-1.11h5.61q-.016-.343-.157-.733-.125-.391-.422-.735t-.75-.562-1.125-.22q-.797 0-1.39.407-.579.406-.891 1.125-.313.703-.313 1.594 0 1.031.391 1.734.406.688 1.031 1.032.64.328 1.328.328.891 0 1.47-.422.593-.438.952-1.063l1.14.563q-.468.937-1.374 1.547-.89.593-2.235.593m8.307 0q-.922 0-1.625-.296-.687-.297-1.14-.797t-.672-1.094l1.203-.547q.328.734.937 1.14.61.407 1.391.407.75 0 1.25-.297.516-.312.516-.906 0-.375-.22-.625-.202-.25-.608-.422-.391-.172-.97-.313l-1-.265q-.562-.156-1.077-.438-.516-.297-.828-.75-.313-.453-.313-1.11 0-.733.422-1.265.437-.531 1.14-.812.704-.281 1.516-.281.703 0 1.313.203.625.203 1.078.593.469.391.703.97l-1.172.546q-.312-.61-.828-.844-.5-.25-1.125-.25-.672 0-1.172.297t-.5.813.406.765 1 .422l1.188.297q1.203.313 1.812.906.61.594.61 1.469 0 .766-.438 1.328-.437.547-1.172.86-.734.296-1.625.296m4.082-8.406h4.781v1.235h-4.781zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .265.344.875.344.265 0 .484-.078.235-.078.406-.188v1.328q-.203.094-.453.14-.25.063-.672.063-1.015 0-1.64-.593-.625-.61-.625-1.672m8.693 2.14v-8.156h1.28v1.313h.079q.156-.47.531-.813.375-.344.86-.547.484-.203.968-.203.375 0 .578.047.204.047.391.125v1.469q-.266-.125-.562-.188-.297-.078-.594-.078-.594 0-1.094.344-.5.328-.797.89-.281.563-.281 1.235v4.562zm8.953.25q-1.5 0-2.266-.875t-.766-2.406v-5.125h1.36v4.922q0 1.219.562 1.75.563.516 1.39.516.72 0 1.25-.375.532-.391.813-.97.297-.593.297-1.233v-4.61h1.36v8.156h-1.297v-1.187h-.063q-.203.39-.625.719-.406.328-.922.515-.515.203-1.093.203m6.023-.25v-8.156h1.28v1.203h.079q.312-.593 1.031-1.031.735-.437 1.61-.437 1.5 0 2.25.875.765.875.765 2.312v5.234h-1.36v-5.03q0-1.173-.577-1.657-.563-.5-1.453-.5-.672 0-1.188.375t-.797.969-.281 1.25v4.593zm8.013-8.156h4.781v1.235H649zm1.422 6.016v-8.328h1.36v7.984q0 .64.265 1 .266.344.875.344.266 0 .484-.078.235-.078.407-.188v1.328q-.204.094-.454.14-.25.063-.671.063-1.016 0-1.641-.593-.625-.61-.625-1.672m5.186 2.14v-8.156h1.359v8.156zm.671-9.656q-.406 0-.703-.281-.28-.297-.28-.703 0-.422.28-.688.297-.281.703-.281.407 0 .688.281.281.266.281.688 0 .406-.281.703-.281.281-.688.281m2.82 9.656v-8.156h1.28v1.203h.079q.219-.406.61-.734.39-.328.89-.531.516-.203 1.031-.203.922 0 1.578.453.657.437.938 1.14.422-.687 1.125-1.14t1.672-.453q1.468 0 2.156.89.687.875.687 2.297v5.234H669.8v-5.03q0-1.173-.485-1.657-.484-.5-1.359-.5-.625 0-1.125.36-.484.359-.766.952-.265.579-.265 1.266v4.61h-1.36v-5.016q0-1.172-.484-1.672t-1.344-.5q-.625 0-1.125.375-.484.36-.765.953-.266.594-.266 1.281v4.578zm17.625.25q-1.188 0-2.11-.546-.922-.563-1.437-1.532-.516-.984-.516-2.234 0-1.172.484-2.156.485-1 1.375-1.594.891-.61 2.094-.61 1.219 0 2.078.547.875.532 1.344 1.485.484.937.484 2.156 0 .11-.015.219 0 .11-.016.187h-7.031v-1.11h5.61q-.016-.343-.157-.733-.125-.391-.422-.735t-.75-.562-1.125-.22q-.797 0-1.39.407-.579.406-.891 1.125-.313.703-.313 1.594 0 1.031.391 1.734.406.688 1.031 1.032.641.328 1.328.328.891 0 1.47-.422.593-.438.952-1.063l1.141.563q-.469.937-1.375 1.547-.89.593-2.234.593"/>
+ <path fill="#02589b" d="M407.54 256.578h8.637v-54.724h17.276v54.724h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path fill="#2bb7f6" d="M421.232 256.578h8.638v-54.724h17.276v54.724h8.637l-17.275 17.276z" fill-rule="evenodd"/>
+ <path fill="#02589b" d="M543.867 258.52h8.638v-54.724h17.276v54.724h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path fill="#2bb7f6" d="M557.56 258.52h8.638v-54.724h17.276v54.724h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path fill="#02589b" d="M750.421 258.536h8.638v-51.974h17.275v51.974h8.638l-17.275 17.275z" fill-rule="evenodd"/>
+ <path fill="#2bb7f6" d="M764.114 258.536h8.638v-51.974h17.275v51.974h8.638L781.39 275.81z" fill-rule="evenodd"/>
+ <path d="M150.63 118.834h48.243v48.244H150.63z"/>
+ <g transform="translate(150.63 118.834)scale(.25127)">
+ <clipPath id="e">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#e)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
+ </g>
+ <path d="M493.407 118.833h48.244v48.245h-48.244z"/>
+ <g transform="matrix(.25127 0 0 .25128 493.407 118.833)">
+ <clipPath id="f">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#f)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
+ </g>
+ <path fill="#02589b" d="M301.486 186.308h10.52v19.685h-10.52z" fill-rule="evenodd"/>
+ <path stroke="#02589b" stroke-linejoin="round" stroke-linecap="butt" d="M301.486 186.308h10.52v19.685h-10.52z"/>
+ <path fill="#02589b" d="M160.328 258.52h8.638v-54.724h17.275v54.724h8.638l-17.275 17.276z" fill-rule="evenodd"/>
+ <path fill="#2bb7f6" d="M174.021 258.52h8.638v-54.724h17.275v54.724h8.638l-17.275 17.276z" fill-rule="evenodd"/>
+ <path fill="#02589b" d="M169.606 201.852h610.016v8.535H169.606z" fill-rule="evenodd"/>
+ <path stroke="#02589b" stroke-linejoin="round" stroke-linecap="butt" d="M169.606 201.852h610.016v8.535H169.606z"/>
+ <path fill="#2bb7f6" d="M647.564 186.308h10.52v22.016h-10.52z" fill-rule="evenodd"/>
+ <path stroke="#2bb7f6" stroke-linejoin="round" stroke-linecap="butt" d="M647.564 186.308h10.52v22.016h-10.52z"/>
+ <path fill="#2bb7f6" d="M183.339 207.096h611.527v8.535H183.34z" fill-rule="evenodd"/>
+ <path stroke="#2bb7f6" stroke-linejoin="round" stroke-linecap="butt" d="M183.339 207.096h611.527v8.535H183.34z"/>
+ <path d="M148.451 402.17h485.355v35.245H148.45z"/>
+ <path fill="#000" d="M149.983 429.09v-13.358h4.515q2.125 0 3.657.859 1.546.844 2.375 2.344.828 1.5.828 3.484 0 1.969-.828 3.484-.829 1.516-2.375 2.36-1.532.828-3.657.828zm2.515-2.39h1.891q1.469 0 2.453-.53 1-.532 1.484-1.5.5-.97.5-2.25 0-1.313-.5-2.267-.484-.968-1.484-1.5-.984-.53-2.453-.53h-1.89zm13.831 2.688q-1.015 0-1.797-.39-.765-.407-1.218-1.126-.438-.734-.438-1.687 0-1 .5-1.703.516-.704 1.39-1.094.876-.39 1.938-.39.578 0 1.047.062t.844.156.625.203v-.406q0-.766-.578-1.25-.578-.5-1.594-.5-.672 0-1.297.312-.625.297-1.031.797l-1.563-1.234q.469-.594 1.078-1.016t1.36-.625q.75-.219 1.562-.219 2.188 0 3.328 1.016 1.141 1 1.141 2.938v5.859h-2.406v-.969h-.156q-.266.328-.657.625-.39.281-.922.453-.515.188-1.156.188m.578-1.906q.735 0 1.25-.313.516-.328.782-.844.28-.53.28-1.11-.421-.202-.937-.327-.515-.125-1.062-.125-1.078 0-1.5.422-.406.406-.406 1 0 .562.406.937.406.36 1.187.36m6.966 1.609v-9.516h2.297v1.266h.157q.234-.438.64-.781.406-.36.938-.563.547-.203 1.156-.203.375 0 .672.063.297.046.531.14v2.453q-.39-.156-.781-.25-.375-.11-.813-.11-.718 0-1.25.376-.531.36-.812.984-.281.625-.281 1.407v4.734zm7.481-9.516h6.438v2.094h-6.438zm1.672 6.47v-9.157h2.438v8.719q0 .656.281 1t.938.343q.375 0 .625-.11.25-.124.562-.312v2.391q-.39.156-.812.234-.422.094-.891.094-1.469 0-2.313-.844-.828-.859-.828-2.359m11.508 3.046v-13.36h2.922l5.375 8.954h.156l-.156-2.578v-6.375h2.5v13.359h-2.64l-5.673-9.453h-.156l.156 2.562v6.89zm16.16.297q-1.016 0-1.797-.39-.766-.407-1.219-1.126-.437-.734-.437-1.687 0-1 .5-1.703.515-.704 1.39-1.094t1.938-.39q.578 0 1.047.062t.843.156.625.203v-.406q0-.766-.578-1.25-.578-.5-1.594-.5-.671 0-1.296.312-.625.297-1.032.797l-1.562-1.234q.469-.594 1.078-1.016t1.36-.625q.75-.219 1.562-.219 2.187 0 3.328 1.016 1.14 1 1.14 2.938v5.859h-2.406v-.969h-.156q-.266.328-.656.625-.39.281-.922.453-.516.188-1.156.188m.578-1.906q.734 0 1.25-.313.515-.328.781-.844.281-.53.281-1.11-.422-.202-.937-.327t-1.063-.125q-1.078 0-1.5.422-.406.406-.406 1 0 .562.406.937.407.36 1.188.36m6.107-7.907h6.438v2.094h-6.438zm1.672 6.47v-9.157h2.438v8.719q0 .656.281 1t.938.343q.375 0 .625-.11.25-.124.562-.312v2.391q-.39.156-.812.234-.422.094-.891.094-1.469 0-2.313-.844-.828-.859-.828-2.359m7.048 3.046v-9.516h2.438v9.516zm1.235-10.563q-.657 0-1.125-.468-.47-.47-.47-1.11 0-.656.47-1.11.468-.468 1.125-.468.656 0 1.109.469.453.453.453 1.11 0 .64-.453 1.109t-1.11.468m6.708 10.563-4.031-9.516h2.781l2.406 6.188h.157l2.437-6.188h2.75l-4.078 9.516zm12.003.297q-1.437 0-2.578-.64-1.125-.657-1.765-1.798-.64-1.14-.64-2.593 0-1.36.624-2.516.64-1.156 1.734-1.86 1.11-.703 2.532-.703 1.53 0 2.562.657 1.047.656 1.594 1.75.547 1.078.547 2.406 0 .297-.031.516-.016.218-.032.312h-8.172v-1.734h5.875q-.015-.328-.187-.657-.156-.343-.469-.625-.297-.28-.719-.453-.406-.172-.953-.172-.703 0-1.297.375-.593.36-.937 1.032-.328.656-.328 1.578 0 .953.36 1.61.359.655.952 1.015.61.344 1.36.344.875 0 1.468-.375.61-.391.938-.97l1.984.97q-.672 1.171-1.765 1.859-1.078.672-2.657.672"/>
+ <path d="M148.451 402.176h464.032"/>
+ <path stroke="#02589b" stroke-width="2" stroke-linejoin="round" stroke-linecap="butt" d="M148.451 402.176h464.032"/>
+ <path d="M640.029 402.17H817.32v35.245H640.03z"/>
+ <path fill="#000" d="M641.56 429.09v-13.359h4.516q2.125 0 3.656.86 1.547.843 2.375 2.343t.828 3.485q0 1.968-.828 3.484t-2.375 2.36q-1.531.828-3.656.828zm2.516-2.39h1.89q1.47 0 2.453-.531 1-.532 1.485-1.5.5-.969.5-2.25 0-1.313-.5-2.266-.485-.969-1.485-1.5-.984-.531-2.453-.531h-1.89zm13.83 2.687q-1.015 0-1.796-.39-.766-.406-1.22-1.125-.437-.735-.437-1.688 0-1 .5-1.703.516-.703 1.391-1.094.875-.39 1.938-.39.578 0 1.046.062.47.063.844.157.375.093.625.203v-.407q0-.765-.578-1.25-.578-.5-1.594-.5-.672 0-1.297.313-.625.297-1.03.797l-1.563-1.235q.468-.593 1.078-1.015t1.36-.625q.75-.219 1.562-.219 2.187 0 3.328 1.016 1.14 1 1.14 2.937v5.86h-2.406v-.97h-.156q-.266.329-.656.626-.391.281-.922.453-.516.187-1.156.187m.579-1.906q.734 0 1.25-.312.515-.328.78-.844.282-.531.282-1.11-.422-.203-.937-.328t-1.063-.125q-1.078 0-1.5.422-.406.407-.406 1 0 .563.406.938.406.36 1.188.36m6.966 1.61v-9.516h2.297v1.266h.156q.234-.438.64-.782.407-.359.938-.562.547-.203 1.156-.203.375 0 .672.062.297.047.531.14v2.454q-.39-.156-.78-.25-.376-.11-.813-.11-.719 0-1.25.376-.532.359-.813.984t-.281 1.406v4.735zm7.48-9.516h6.438v2.094h-6.437zm1.673 6.469v-9.157h2.437v8.72q0 .655.281 1 .282.343.938.343.375 0 .625-.11.25-.124.562-.312v2.39q-.39.157-.812.235-.422.094-.89.094-1.47 0-2.313-.844-.828-.86-.828-2.36m13.089 3.047-3.547-13.36h2.797l1.828 7.5.234 1.406h.14l.298-1.406 2.36-7.5h2.484l2.296 7.5.297 1.36h.14l.22-1.36 1.812-7.5h2.797l-3.437 13.36h-2.72l-2.265-8.063-.297-1.437h-.156l-.297 1.437-2.39 8.063zm19.053.296q-1.437 0-2.578-.64-1.125-.656-1.766-1.797-.64-1.14-.64-2.594 0-1.36.625-2.515.64-1.157 1.734-1.86 1.11-.703 2.531-.703 1.532 0 2.563.656 1.047.657 1.594 1.75.546 1.078.546 2.407 0 .296-.03.515-.016.219-.032.313h-8.172v-1.735h5.875q-.016-.328-.187-.656-.157-.344-.47-.625-.296-.281-.718-.453-.406-.172-.953-.172-.703 0-1.297.375-.594.36-.937 1.031-.329.657-.329 1.578 0 .954.36 1.61t.953 1.015q.61.344 1.36.344.874 0 1.468-.375.61-.39.938-.969l1.984.97q-.672 1.171-1.766 1.859-1.078.671-2.656.671m11.795 0q-.703 0-1.266-.203-.546-.203-.953-.53-.406-.329-.64-.704h-.157v1.14h-2.296v-13.359h2.453v3.656l-.157 1.344h.157q.234-.375.64-.703.407-.344.953-.547.563-.203 1.266-.203 1.297 0 2.328.64 1.047.641 1.64 1.782.61 1.14.61 2.64 0 1.485-.61 2.626-.593 1.14-1.64 1.78-1.031.641-2.328.641m-.437-2.25q.687 0 1.265-.343.594-.36.953-.985.375-.64.375-1.468 0-.86-.375-1.47-.36-.624-.953-.968-.578-.344-1.265-.344-.672 0-1.266.344-.578.344-.953.969-.36.625-.36 1.469 0 .828.36 1.453.375.625.953.984.594.36 1.266.36"/>
+ <path d="m635.774 401.762 190.079.41"/>
+ <path stroke="#02589b" stroke-width="2" stroke-linejoin="round" stroke-linecap="butt" d="m635.774 401.762 190.079.41"/>
+ <path d="M382.999 348.612h93.102v35.244H383z"/>
+ <path fill="#000" d="m399.31 375.532 5.078-13.36h1.781l5.078 13.36h-1.734l-3.672-9.984-.531-1.438h-.063l-.531 1.438-3.672 9.984zm5.781-3.672v-1.5h3.078l.547 1.5zm-3.625 0 .547-1.5h3.078v1.5zm11.562 3.672v-13.36h4.5q1.125 0 2.063.516.953.5 1.515 1.391.578.875.578 2.047 0 .719-.265 1.422-.266.687-.813 1.265-.547.579-1.406.922-.844.344-2.016.344h-3.328v-1.469h3.578q.704 0 1.297-.312.594-.328.97-.875.374-.563.374-1.297 0-.594-.312-1.156-.313-.563-.875-.922-.547-.36-1.329-.36h-2.953v11.844zm3.219-6.125 1.734-.094 4.22 6.141v.078h-1.86zm7.714 6.125v-13.36h2.281l4.266 10.954h.062l4.266-10.953h2.281v13.36h-1.562v-8.485l.078-2.547h-.078l-4.36 11.031h-1.312l-4.36-11.031h-.078l.078 2.547v8.484zm19.86.297q-.985 0-1.798-.375-.797-.375-1.375-.969-.578-.593-.89-1.36-.297-.765-.297-1.562 0-1.125.484-2.109.5-1 1.14-1.969.548-.828 1.11-1.672.563-.843 1.11-1.671.562-.829 1.109-1.672l1.281.875-.812 1.125q-.39.562-.797 1.14l-.813 1.125q-.406.547-.797 1.11l.047.03q.313-.202.703-.312.407-.125.938-.125.719 0 1.422.297.719.297 1.297.86.593.562.937 1.312t.344 1.656q0 1.11-.594 2.094-.594.985-1.578 1.578-.969.594-2.172.594m0-1.516q.765 0 1.39-.359.625-.36 1-.984.375-.625.375-1.39 0-.767-.39-1.376-.376-.625-1-.984-.626-.36-1.376-.36t-1.39.36q-.625.36-1.016.984-.375.61-.375 1.375 0 .766.375 1.39.375.626 1 .985.64.36 1.406.36m6.031-1.53v-1.188l5.97-8.828h1.718v12.765h-1.578V365.08h-.063l-4.172 6.219h7.454v1.484z"/>
+ <path d="M361.808 304.679h38.981v39.664h-38.98z"/>
+ <g transform="matrix(.20302 0 0 .20659 361.808 304.679)">
+ <clipPath id="g">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#g)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
+ </g>
+ <path d="M388.81 304.679h38.981v39.664h-38.98z"/>
+ <g transform="matrix(.20302 0 0 .20659 388.81 304.679)">
+ <clipPath id="h">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#h)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAGQklEQVR4Xu3Yy4ofZQKG8c82Kp5g8LAwxrtQ9ALEuYCZiZIb8bA2sWUGQdERZykKA0FBRsb7CNmqiYeFRPdJNk5t4oTf12lt6t/6vk09zyaELr73SXeqq/5jbGxsbGxsbGxsbGxsHB9747nx2vh0XB4/jZvj5z/Ym8uKy+OT8ep4dll24nlq7I/vp3+EFL8db4wnnXxyeGx8EPAT/2veGO+PR51+Eji3/Fc3NtUfx4vO7+ae8a8pMt1/jlNmtPLA+O+U1+Dn435TGrlnfDGltfifk/C/oO/mc7vvmdPGuSmpzbMmNfF40ZPPnbw2HjGrhw+mnEbfNauFpwpeu36L18dp0zrYn1JaPW9aA3vBn/kc1W/GXebl89yU0ewz5uXz2hTR7Cvm5fPpFNHsRfPyuTxFNHvJvHz6X8Fu95p5+ZyMd4Bb3jAvHxParcOAduswoN06DGi3DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOAzQN92kdBmga7tM6DNA03Kd1GKBpuE/rMEDTcJ/WYYCm4T6twwBNw31ahwGahvu0DgM0DfdpHQZoGu7TOgzQNNyndRigabhP6zBA03Cf1mGApuE+rcMATcN9WocBmob7tA4DNA33aR0GaBru0zoM0DTcp3UYoGm4T+swQNNwn9ZhgKbhPq3DAE3DfVqHAZqG+7QOA9qtw4B26zCg3ToMaLcOA9qtw4B26zCg3ToMaLcOA3brl+P8eH48Me5dPL386cL4evqa3VqHAbvzq/HXsedxy9+cHVemr92ddRiwKz8cD3jULzw4Ppq+flfWYcBu3PeYiX9M1+zGOgzYhR96yIF8PF23C+swYL1fHXLzuZ2HxtXp2vXWYcB6/+YRd+Sl6dr11mHAWr884MnnTuwdw/NQHQas9bwHHMr+dP1a6zBgrc97wKG8MF2/1joMWOsTHnAoZ6br11qHAWu91wMO5b7p+rXWcXNKWOcf+w244QH5/DRFrPO0BxzKrm9B1zwgn8tTxDqP9kv4z9P167zkAfl8MkWs84IHHMqb0/XrvOgB+bw6Razz6yO8iN298w8jXvaIfJ6dItZ61iPuyLnp2rU+7RH57I3vpox1XhkPesiBPDy+na5d59Vxl4c08MYUstaPPOJA/j1dt9bXPaKDM8vTsylr/buHTLw1XbPW60d8Cw/i/SlmvR+PhzzmFx4+hp/+n8c7HtPDo+PHKWe9V8dLBzwR3b386v1m+tr1/jD+5FFNvDgF7cYrY3+8sNzk7ls8s7x2vbnzB89b/sWkNo7jNvT7WXz7ucWp8fmU1eJny43tBHB/6bfgs2X5CeHUeG/KS/edk/HT/3/OjmtTZKo/9P/qPYhHxrvLS42xaV4fb3c/eB7O6XHhWJ7Wd+PV8XrvW+9vZ288M14ZF8el5aa0+w8rjuqNZcWlZc3L4+nOj9w2NjY2NjY2NjY2Nlr5H18/v/Zvp0asAAAAAElFTkSuQmCC"/>
+ </g>
+ <path d="M425.292 282.378h72v72h-72z"/>
+ <g transform="translate(425.292 282.378)scale(.375)">
+ <clipPath id="i">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#i)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAESUlEQVR4Xu2dzWqdVRRANwjSltaZE3EgpK3D4hv4EFLaB/EBFBy0dG7hlj6D7+AgmFnEF6gTTRN/m7TNrVqvA5G9jrbfuffbH8hZa80Oh/2FtcnNTTK4ESIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMiZX4nas4iBOYh0vB3cdx5sSq7i1qbII1+NhPG2+DH0ZZ/EgrjLXvFyMe/GiebD+4zruxgVmm4tr8U3zQG09jD2mm4MP4nHzKP13j+IG8+3KNfN3eTTvd8ElX3y6PZzzZ8G9Zry+3jvMuC3Xfeezleu5XoYeNqN1mium3Ia3/LVra0/jMnP2c7sZq9O9yZz9rJqhOt37zNnPQTNUp7vPnP2cNEN1ukfM2Y9/cN7Fc+bshyPp6LAH3RkOpKPDHnRnOJCODnvQneFAOjrskf2D1/vhSDo67JF1AeWwR9YFlMMe2d95vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2N17vhyPp6LBH1gWUwx5ZF1AOe2Rf8Ho/HElHhz2yLqAc9si6gHLYI7vm9X44ko4Oe2RdQDnskXUB5bBH1gWUwx5Z/ylfDntkXUA57JF1AeWwR/Y5r/fDkXR02CPrAsphj6wLKIc9ss94vR+OpKPDHlkXUA57ZF1AOeyRdQHlsEf2Ka/3w5F0dNgj6wLKYY+sCyiHPbJnvN4PR9LRYY+sCyiHPbIuoBz2yJ7yej8cSUeHPbIuoBz2yLqActgj6wLKYY/sE17vhyPp6LBH1gWUwx5ZF1AOe2R/5fV+OJKODntkXUA57JF1AeWwR/YXXu+HI+nosEfWBZTDHlkXUA57ZF1AOeyR/ZnX++FIOjrskXUB5bBH1gWUwx7Zn3i9H46ko8MeWRdQDntkXUA57JH9kdf74Ug6OuyRdQHlsEfWBZTDHlkXUA57ZH/g9X44ko4Oe2RdQDnskXUB5bBH9oTX++FIOjrskXUB5bBH1gWUwx7ZY17vhyPp6LBH1gWUwx5ZF1AOe2RdQDnskX3M6/1wJB0d9si6gHLYI+sCymGP7AwfZciRdHTYI+sCymGPrAsohz2y3/N6PxxJR4c9si6gHPbIuoBy2CM7wwL8QOddfMSc/Rw3Q3W6h8zZz0EzVKf7BXP2s2qG6nQ/Yc5+bjVDdbofMmc/V+KsGavT/C7eYM5teNAM1ml+xpTbcdW3olv5JN5mym252wzX1/sxM27Pxfi6Ga+v9st5Xv//Zi+Omkfof/so3mHCXbnhCib7bbzPfHOwt/nFmo/S1q/iXaabiwtxx3dEr/R5fBpvMtu87MUqTpsH619vOz+P95irhstxM+7H/uanwnnzZYzm+abC/qbGR3GJmabBgbqszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LI2B7qszYEua3Ogy9oc6LKKiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMj/nj8BJ/L3xz/yZd4AAAAASUVORK5CYII="/>
+ </g>
+ <path d="M255.13 282.377h72v71.998h-72z"/>
+ <g transform="matrix(.375 0 0 .37499 255.13 282.377)">
+ <clipPath id="j">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#j)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAGhUlEQVR4Xu3XW6odVRCA4fVkxOgUNAafJM5G0fFICI7AeBlQ4IDiICQa8hgFT17ikaAHvsaURe3qjb3r+x9Xsaq7cztZa4wxxhhjjDHGGGOMMcYYY4wxxhhjjDH+8t76Yn2/rtbz9XK9Ongvb97yan23Pl/v+hnO46ObT//75jEvod/Wt+u+n2Nfb6+vLuD3/Ju6Xo/WHT/LXu6vnzYPdIn9uO75afbwyfpl8yiX2tP1wM/T7f76dfMYl9zTff8UvD1/+Wz6Yc9/C77arJ9erYd+pi4fXfhPPv/W9frQT9Xj+83q6XXf+Kk6vHeh/+36L71Yd/1cp/fFZu1022d+rtObv4De1A5/CV1tlk63PfFznd7zzdLptmd+rtObH0Hf1LWf6/RcaUfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caBHnq8nzbBHns5V5oUWcrybPs0Wcz1bmhRZxvpo8zxZxPluZF1rE+WryPFvE+WxlXmgR56vJ82wR57OVeaFFnK8mz7NFnM9W5oUWcb6aPM8WcT5bmRdaxPlq8jxbxPlsZV5oEeeryfNsEeezlXmhRZyvJs+zRZzPVuaFFnG+mjzPFnE+W5kXWsT5avI8W8T5bGVeaBHnq8nzbBHns5V5oUWcrybPs0Wcz1bmhRZxvpo8zxZxPluZF1rE+WryPFvE+WxlXmgR56vJ82wR562dCy3ifDV5ni3ivLVzoUWcrybPs0Wct3YutIjz1eR5tojz1s6FFnG+mjzPFnHe2rnQIs5Xk+fZIs5bOxdaxPlq8jxbxHlr50KLOF9NnmeLOG/tXGgR56vtzf3WzoUWcb7a3txv7VxoEeer7c391s6FFnG+2t7cb+1caBHnq+3N/dbOhRZxvtre3G/tXGgR56vtzf3WzoUWcb7a3txv7VxoEeeryfNsEeezlXmhRZyvJs+zRZzPVuaFFnG+mjzPFnE+W5kXWsT5avI8W8T5bGVeaBHnq8nzbBHns5V5oUWcrybPs0Wcz1bmhRZxvpo8zxZxPluZF1rE+WryPFvE+WxlXmjn5vNkizifrcwL7dx8nmwR57OVeaGdm8+TLeJ8tjIvtHPzebJFnM9W5oV2bj5Ptojz2cq80M7N58kWcT5bmRfaufk82SLOZyvzQjs3nydbxPlsZV5oEeeryfNsEeetnQst4nw1eZ4t4ry1c6FFnK8mz7NFnLd2LrSI89XkebaI89bOhRZxvpo8zxZx3tq50CLOV5Pn2SLOWzsXWsT5avI8W8R5a+dCizhfTZ5nizhv7VxoEeeryfNsEeetnQst4nw1eZ4t4ry1c6FFnK8mz7NFnLd2LrSI89XkebaI89bOhRZxvpo8zxZx3tq50CLOV5Pn2SLOWzsXWsT5avI8W8R5a+dCizhfTZ5nizhv7VxoEeeryfNsEeezlXmhRZyvJs+zRZzPVuaFFnG+mjzPFnE+W5kXWsT5avI8W8T5bGVeaBHnq8nzbBHns5V5oUWcrybPs0Wcz1bmhRZxvpo8zxZxPluZF1rE+WryPFvE+WxlXmgR56vJ82wR57OVeaFFnK8mz7NFnM9W5oUWcb6aPM8WcT5bmRdaxPlq8jxbxPlsZV5oEeeryfNsEeezlXmhRZyvJs+zRZzPVuaFFnG+mjzPFnE+W5kXWsT5avI8W8T5bGVeaEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1caEfn+1o7F9rR+b7WzoV2dL6vtXOhHZ3va+1eblZOt137uU7v+WbpdNszP9fpXW2WTrc98XOd3nebpdNtj/1cp/f5Zul026d+rtN7d/22WTu97sV6x8/V4dvN4ul1X/upety/+WHL1dOr9cf6wE/V5dFm+fRqfeln6nNn/bhZf+ldrbf8TJ3uraebR7jkfl7v+4m6PZhfgn/6eX3s59nDvfXD5lEusav9f/f/7c56eOE/Ef1x80/vrn/3b324vrn5D4gPdgm9uPm5f7cfPN/s7vrs5pfhyXp2AX8erm/e8sl6vD7d53+9Y4wxxhhjjDHGGGOMMcYYY4wxxhhjjP+/PwFFmy8hR66dpgAAAABJRU5ErkJggg=="/>
+ </g>
+ <path d="M255.13 348.612h72v35.244h-72z"/>
+ <path fill="#000" d="M265.69 375.532v-13.36h4.5q1.125 0 2.063.516.953.5 1.515 1.391.578.875.578 2.047 0 .719-.265 1.422-.266.687-.813 1.265-.547.579-1.406.922-.844.344-2.016.344h-3.328v-1.469h3.578q.703 0 1.297-.312.594-.328.969-.875.375-.563.375-1.297 0-.594-.313-1.156-.312-.563-.875-.922-.546-.36-1.328-.36h-2.953v11.844zm3.219-6.125 1.734-.094 4.219 6.141v.078h-1.86zm7.542 6.125v-9.515h1.578v9.515zm.781-11.265q-.469 0-.813-.329-.328-.343-.328-.812 0-.484.328-.813.344-.328.813-.328.484 0 .812.328.329.329.329.813 0 .469-.329.812-.328.329-.812.329m6.607 11.562q-1.063 0-1.875-.344t-1.344-.922q-.531-.593-.797-1.28l1.422-.641q.375.859 1.078 1.328.703.468 1.625.468.875 0 1.453-.359.594-.36.594-1.047 0-.422-.25-.703-.234-.297-.703-.5-.453-.219-1.125-.375l-1.156-.312q-.672-.188-1.281-.516-.594-.344-.954-.875-.359-.531-.359-1.297 0-.844.5-1.453.5-.625 1.313-.953.828-.328 1.765-.328.813 0 1.531.234.72.234 1.266.688.547.453.813 1.125l-1.375.64q-.36-.703-.954-.984-.593-.281-1.328-.281-.781 0-1.36.343-.577.344-.577.938t.469.906q.484.297 1.171.469l1.391.36q1.39.359 2.094 1.062.719.687.719 1.703 0 .89-.516 1.547-.5.656-1.36 1.015-.843.344-1.89.344m9.902 0q-1.406 0-2.5-.656-1.078-.672-1.703-1.813-.61-1.156-.61-2.578 0-1.469.61-2.594.625-1.14 1.703-1.796 1.094-.672 2.5-.672 1.61 0 2.64.734 1.032.734 1.47 1.89l-1.438.61q-.36-.89-1.063-1.344-.687-.453-1.687-.453-.828 0-1.547.453-.719.438-1.172 1.25t-.453 1.922q0 1.078.453 1.906.453.813 1.172 1.266.719.438 1.547.438 1.016 0 1.734-.47.735-.468 1.094-1.312l1.406.594q-.468 1.094-1.515 1.86-1.032.765-2.64.765m5.858-5.422v-1.312h5.922v1.312zm11.698 5.125-4.734-13.36h1.75l3.297 9.688.453 1.328h.078l.469-1.328 3.437-9.687h1.766l-4.89 13.36z"/>
+ <path fill="#2bb7f6" d="M281.885 253.705h8.637v-46.724h17.276v46.724h8.638l-17.276 17.276z" fill-rule="evenodd"/>
+ <path d="M638.65 282.377h72v72h-72z"/>
+ <g transform="translate(638.65 282.377)scale(.375)">
+ <clipPath id="k">
+ <path d="M0 0h192v192H0z" clip-rule="evenodd"/>
+ </clipPath>
+ <image clip-path="url(#k)" fill="#000" width="192" height="192" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAQAAAD41aSMAAAEWElEQVR4Xu3dTW4dVRRF4dsKQSQjQEIKdg+JDIMRJAqToYlwJPpGzjwYgqV0gmkxAYis8I8D2PyE6tBZF5+qevvypHLWt/r7leoksYOQ05okSZIkSZIkSZIkSZIkSZIkSXo93W0ftpP2tH3brtqr17yr9mJ6Eyft0fRW9uKwPWm/do9hr9rL6c0c8nWNdbsd+Wu+7Ko9nt7S/+Re+6L7QOs7awd8dSO8177pPsr+u/N2n68v9U77uvsYu77zsb8Lbk1f5/kRVnc28mvBR928zXfE17irt9tv3bjNdzXqj6FPu2lb1glf5S5uTX/f5bAt66Ld4etc74Nu1pb3kK9zvU+6UVveMV/nep93o7a8U77O9b7qRm1553yd6/kfIJIu+TrX83ugrNh33aStKeYBsmIeICvmAbJi33eTtqaYB8iKeYCsmAfIinmArNgP3aStKeYBsmIeICvmAbJiHiAr9mM3aWuKeYCsmAfIinmArJgHyIr91E3ammIeICvmAbJiHiArNneArRn9/NxjsZ+7ycEfsGejn597LOYBatxjMQ9Q4x6LeYAa91jsl25y8Afs2ejn5x6LeYAa91jMA9S4x2IeoMY9FvMANe6x2EU3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WOxlNzn4A/Zs9PNzj8U8QI17LOYBatxjMQ9Q4x6LeYAa91hs7scUb83o5+cei3mAGvdYzAPUuMdiHqDGPRbzADXusdjcD23dmtHPzz0W8wA17rGYB6hxj8U8QI17LPZ7Nzn4A/Zs9PNzj8U8QI17LOYBatxjsbkDbL0U91jMA9S4x2KX3eTNKsU9FvMANe6xmAeocY/FPECNeyzmAWrcY7Gb/o93prjHYnMH2JrRz889FvMANe6xmAeocY/FPECNeyz2Rzc5+AP2bPTzc4/FPECNeyzmAWrcYzEPUOMei3mAGvdY7M9ucvAH7Nno5+cei3mAGvdYzAPUuMdiHqDGPRb7q5sc/AF7Nvr5ucdiHqDGPRbzADXusZgHqHGPxTxAjXss9nc3OfgD9mz083OPxTxAjXss5gFq3GMxD1DjHot5gBr3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WIyDbGtGPz/3WGzuf861qku+zvVedKO2vHO+zvWedqO2vFO+zvVOulFb3jFf53qPulFb3gO+zvXuzv7sXLuui/YWX+cunnTDtqzP+Cp3c+i3ojt12d7lq9zV427c5vuYr3F3b7Yvu3mre9be4GtMHEx/peBH2PU9b/f4ClP3PcHinrf3+fpGOGhn3UdZ37Pxv/r/dbsd+R1R2eX0pXfon/29g3Yy+2+LvZ5dTN/3D/vGs3anPWzH7XT6qnDTf5zTfJfTWzid3saDMX/rlSRJkiRJkiRJkiRJkiRJkiRJ2/MPBUHxvBiv7XcAAAAASUVORK5CYII="/>
+ </g>
+ <path d="M638.65 348.612h79.37v35.244h-79.37z"/>
+ <path fill="#000" d="m656.406 375.532-3.625-13.36h1.766l2.422 9.813.219.922h.078l.281-.922 2.984-9.812h1.641l2.86 9.812.265.922h.078l.235-.922 2.406-9.812h1.75l-3.61 13.36h-1.64l-2.828-9.657-.297-1.047h-.078l-.313 1.047-2.953 9.656zm17.146.297q-1.062 0-1.875-.406-.796-.406-1.25-1.125t-.453-1.64q0-1.048.532-1.766.546-.72 1.453-1.079.922-.359 2.015-.359.641 0 1.172.11.547.093.938.234.406.14.625.265v-.578q0-1.078-.766-1.703-.766-.64-1.875-.64-.781 0-1.469.343-.672.344-1.062.953l-1.203-.89q.375-.563.937-.969t1.281-.625q.72-.234 1.516-.234 1.938 0 3.031 1.03 1.11 1.017 1.11 2.75v6.032h-1.5v-1.36h-.078q-.25.407-.704.798-.437.375-1.046.61-.61.25-1.329.25m.141-1.39q.828 0 1.5-.407.688-.422 1.094-1.11.422-.687.422-1.515-.438-.297-1.078-.484-.641-.188-1.407-.188-1.359 0-2 .563-.64.562-.64 1.375 0 .781.593 1.281.61.484 1.516.484m9.954 1.39q-1.063 0-1.875-.344t-1.344-.922q-.531-.593-.797-1.28l1.422-.641q.375.859 1.078 1.328.703.468 1.625.468.875 0 1.453-.359.594-.36.594-1.047 0-.422-.25-.703-.234-.297-.703-.5-.453-.219-1.125-.375l-1.156-.312q-.672-.188-1.281-.516-.594-.344-.954-.875-.359-.531-.359-1.297 0-.844.5-1.453.5-.625 1.313-.953.828-.328 1.765-.328.813 0 1.531.234.72.234 1.266.688.547.453.813 1.125l-1.375.64q-.36-.703-.954-.984-.593-.281-1.328-.281-.781 0-1.36.343-.577.344-.577.938t.469.906q.484.297 1.171.469l1.391.36q1.39.359 2.094 1.062.719.687.719 1.703 0 .89-.516 1.547-.5.656-1.36 1.015-.843.344-1.89.344m5.403-.297v-9.515h1.515v1.406h.079q.25-.469.703-.844.468-.39 1.047-.625.593-.234 1.218-.234 1.063 0 1.828.515.766.516 1.094 1.328.485-.796 1.297-1.312.828-.531 1.969-.531 1.703 0 2.5 1.03.797 1.017.797 2.688v6.094h-1.563v-5.86q0-1.374-.562-1.937-.563-.578-1.578-.578-.735 0-1.313.422-.562.422-.89 1.11-.313.671-.313 1.468v5.375h-1.594v-5.844q0-1.375-.562-1.953t-1.563-.578q-.734 0-1.297.438-.562.422-.89 1.11-.328.687-.328 1.5v5.327z"/>
+ </g>
+</svg>
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index ac5d77f..987483f 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -257,6 +257,7 @@
bool enableBlazeWatcher = false,
DartFixPromptManager? dartFixPromptManager,
this.providedByteStore,
+ PluginManager? pluginManager,
}) : resourceProvider = OverlayResourceProvider(baseResourceProvider),
pubApi = PubApi(instrumentationService, httpClient,
Platform.environment['PUB_HOSTED_URL']),
@@ -285,12 +286,13 @@
PluginWatcher? pluginWatcher;
if (supportsPlugins) {
- pluginManager = PluginManager(
+ this.pluginManager = pluginManager ??= PluginManager(
resourceProvider,
_getByteStorePath(),
sdkManager.defaultSdkDirectory,
notificationManager,
instrumentationService);
+
pluginWatcher = PluginWatcher(resourceProvider, pluginManager);
}
diff --git a/pkg/analysis_server/lib/src/legacy_analysis_server.dart b/pkg/analysis_server/lib/src/legacy_analysis_server.dart
index 7aa31af..8a14aa5 100644
--- a/pkg/analysis_server/lib/src/legacy_analysis_server.dart
+++ b/pkg/analysis_server/lib/src/legacy_analysis_server.dart
@@ -395,6 +395,7 @@
bool enableBlazeWatcher = false,
DartFixPromptManager? dartFixPromptManager,
super.providedByteStore,
+ super.pluginManager,
}) : lspClientConfiguration =
lsp.LspClientConfiguration(baseResourceProvider.pathContext),
super(
diff --git a/pkg/analysis_server/lib/src/utilities/mocks.dart b/pkg/analysis_server/lib/src/utilities/mocks.dart
index b149c72..a04d1cc 100644
--- a/pkg/analysis_server/lib/src/utilities/mocks.dart
+++ b/pkg/analysis_server/lib/src/utilities/mocks.dart
@@ -150,6 +150,7 @@
Map<PluginInfo, Future<plugin.Response>>? broadcastResults;
Map<PluginInfo, Future<plugin.Response>>? Function(plugin.RequestParams)?
handleRequest;
+ Map<analyzer.ContextRoot, List<String>> contextRootPlugins = {};
@override
List<PluginInfo> plugins = [];
@@ -188,7 +189,7 @@
@override
Future<void> addPluginToContextRoot(
analyzer.ContextRoot contextRoot, String path) async {
- fail('Unexpected invocation of addPluginToContextRoot');
+ contextRootPlugins.putIfAbsent(contextRoot, () => []).add(path);
}
@override
@@ -219,7 +220,7 @@
@override
void removedContextRoot(analyzer.ContextRoot contextRoot) {
- fail('Unexpected invocation of removedContextRoot');
+ contextRootPlugins.remove(contextRoot);
}
@override
diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart
index 8d5953f..3277bca 100644
--- a/pkg/analysis_server/test/analysis_server_base.dart
+++ b/pkg/analysis_server/test/analysis_server_base.dart
@@ -31,6 +31,7 @@
// TODO(scheglov): this is duplicate
class AnalysisOptionsFileConfig {
final List<String> experiments;
+ final List<String> plugins;
final List<String> lints;
final bool strictCasts;
final bool strictInference;
@@ -38,6 +39,7 @@
AnalysisOptionsFileConfig({
this.experiments = const [],
+ this.plugins = const [],
this.lints = const [],
this.strictCasts = false,
this.strictInference = false,
@@ -58,6 +60,12 @@
buffer.writeln(' strict-casts: $strictCasts');
buffer.writeln(' strict-inference: $strictInference');
buffer.writeln(' strict-raw-types: $strictRawTypes');
+ if (plugins.isNotEmpty) {
+ buffer.writeln(' plugins:');
+ for (var plugin in plugins) {
+ buffer.writeln(' - $plugin');
+ }
+ }
buffer.writeln('linter:');
buffer.writeln(' rules:');
@@ -194,9 +202,9 @@
InstrumentationService.NULL_SERVICE,
dartFixPromptManager: dartFixPromptManager,
providedByteStore: _byteStore,
+ pluginManager: pluginManager,
);
- server.pluginManager = pluginManager;
server.completionState.budgetDuration = const Duration(seconds: 30);
}
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index ea23755..6d79ee24 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -8,6 +8,7 @@
import 'package:analysis_server/protocol/protocol_constants.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/plugin/plugin_locator.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
import 'package:analyzer/src/util/file_paths.dart' as file_paths;
@@ -27,6 +28,7 @@
defineReflectiveSuite(() {
defineReflectiveTests(AnalysisDomainBlazeTest);
defineReflectiveTests(AnalysisDomainPubTest);
+ defineReflectiveTests(SetAnalysisRootsTest);
defineReflectiveTests(SetSubscriptionsTest);
defineReflectiveTests(UpdateTextExpectations);
});
@@ -2096,6 +2098,192 @@
}
@reflectiveTest
+class SetAnalysisRootsTest extends PubPackageAnalysisServerTest {
+ /// Test that the correct context roots are passed to plugins when they are
+ /// enabled only for projects nested within the workspace (which do not have
+ /// their own package configs but use the one from the root).
+ ///
+ /// In this example, we have three nested projects that use a mix of plugins:
+ ///
+ /// - root/ (no plugins enabled)
+ /// - package1/ (plugin1, (plugin2 - disabled due to limit))
+ /// - package2/ (plugin2, (plugin1 - disabled due to limit))
+ /// - package3/ (plugin1)
+ @FailingTest(
+ issue: 'https://github.com/dart-lang/sdk/issues/56475',
+ reason: 'Test passes in 3.5 if the `singleOptionContexts` flag is set back '
+ 'to=true but as `false` (as shipped), we: '
+ ' a) enable plugins from previous sibling due to ContextBuilder reuse'
+ ' b) read child analysis_options so the root gets plugins'
+ ' c) do not create context roots for nested projects so do not provide those roots to plugins',
+ )
+ Future<void>
+ test_sentToPlugins_inNestedPackages_withoutPackageConfigs() async {
+ if (!AnalysisServer.supportsPlugins) return;
+
+ var plugin1 = (name: 'plugin1', path: _createPlugin('plugin1'));
+ var plugin2 = (name: 'plugin2', path: _createPlugin('plugin2'));
+
+ // Only the first plugin for each will be enabled due to the 1-plugin-limit.
+ _createTestPackage(
+ 'package1',
+ withPackageConfig: false,
+ plugins: [plugin1, plugin2],
+ );
+ _createTestPackage(
+ 'package2',
+ withPackageConfig: false,
+ plugins: [plugin2, plugin1],
+ );
+ _createTestPackage(
+ 'package3',
+ withPackageConfig: false,
+ plugins: [plugin1],
+ );
+
+ // Write the single package config at the root that can resolve both
+ // plugins.
+ newPackageConfigJsonFileFromBuilder(
+ workspaceRootPath,
+ PackageConfigFileBuilder()
+ ..add(name: 'plugin1', rootPath: plugin1.path)
+ ..add(name: 'plugin2', rootPath: plugin2.path),
+ );
+
+ // Set the analysis roots to the folder ('/home') that contains both
+ // packages but not the plugins (which are in '/plugins').
+ await setRoots(
+ included: [workspaceRootPath],
+ excluded: [],
+ );
+ await waitForTasksFinished();
+
+ // Verify the assignment of plugins to roots.
+ var pluginMapping = pluginManager.contextRootPlugins.map(
+ (root, plugins) => MapEntry(
+ pathContext.basename(root.root.path),
+ plugins.map((pluginPath) => pathContext
+ .basename(pathContext.dirname(pathContext.dirname(pluginPath)))),
+ ),
+ );
+ expect(
+ pluginMapping,
+ {
+ 'package1': ['plugin1'],
+ 'package2': ['plugin2'],
+ 'package3': ['plugin1'],
+ },
+ );
+ }
+
+ /// Test that the correct context roots are passed to plugins when they are
+ /// enabled only for projects nested within the workspace (which have their
+ /// own package configs).
+ ///
+ /// In this example, we have three nested projects that use a mix of plugins:
+ ///
+ /// - root/ (no plugins enabled)
+ /// - package1/ (plugin1, (plugin2 - disabled due to limit))
+ /// - package2/ (plugin2, (plugin1 - disabled due to limit))
+ /// - package3/ (plugin1)
+ @FailingTest(
+ issue: 'https://github.com/dart-lang/sdk/issues/56475',
+ reason: 'Test passes in 3.5 if the `singleOptionContexts` flag is set back '
+ 'to=true but as `false` (as shipped), we: '
+ ' a) enable plugins from previous sibling due to ContextBuilder reuse'
+ ' b) read child analysis_options so the root gets plugins'
+ ' c) include duplicate plugins as a result of (b)',
+ )
+ Future<void> test_sentToPlugins_inNestedPackages_withPackageConfigs() async {
+ if (!AnalysisServer.supportsPlugins) return;
+
+ var plugin1 = (name: 'plugin1', path: _createPlugin('plugin1'));
+ var plugin2 = (name: 'plugin2', path: _createPlugin('plugin2'));
+
+ // Only the first plugin for each will be enabled due to the 1-plugin-limit.
+ _createTestPackage('package1', plugins: [plugin1, plugin2]);
+ _createTestPackage('package2', plugins: [plugin2, plugin1]);
+ _createTestPackage('package3', plugins: [plugin1]);
+
+ // Ensure the root directory can resolve both plugin packages even though
+ // we don't enabled them for the root. This will catch if we incorrectly try
+ // to enable them because we read a child analysis_options.
+ newPackageConfigJsonFileFromBuilder(
+ workspaceRootPath,
+ PackageConfigFileBuilder()
+ ..add(name: 'plugin1', rootPath: plugin1.path)
+ ..add(name: 'plugin2', rootPath: plugin2.path),
+ );
+
+ // Set the analysis roots to the folder ('/home') that contains both
+ // packages but not the plugins (which are in '/plugins').
+ await setRoots(
+ included: [workspaceRootPath],
+ excluded: [],
+ );
+ await waitForTasksFinished();
+
+ // Verify the assignment of plugins to roots.
+ var pluginMapping = pluginManager.contextRootPlugins.map(
+ (root, plugins) => MapEntry(
+ pathContext.basename(root.root.path),
+ plugins.map((pluginPath) => pathContext
+ .basename(pathContext.dirname(pathContext.dirname(pluginPath)))),
+ ),
+ );
+ expect(
+ pluginMapping,
+ {
+ 'package1': ['plugin1'],
+ 'package2': ['plugin2'],
+ 'package3': ['plugin1'],
+ },
+ );
+ }
+
+ /// Creates a plugin package named [name] and returns the path to the root
+ /// of the package.
+ String _createPlugin(String name) {
+ var pluginDirectory = convertPath(join('/plugins', name));
+ newPubspecYamlFile(pluginDirectory, 'name: $name');
+ newFile(convertPath(join(pluginDirectory, 'lib', '$name.dart')), '');
+ newFolder(join(pluginDirectory, PluginLocator.toolsFolderName,
+ PluginLocator.defaultPluginFolderName, '$name.dart'));
+ return pluginDirectory;
+ }
+
+ /// Creates a package in the test workspace named [name] that uses [plugins].
+ String _createTestPackage(
+ String name, {
+ bool withPackageConfig = true,
+ List<({String name, String path})> plugins = const [],
+ }) {
+ var packagePath = join(workspaceRootPath, name);
+
+ newPubspecYamlFile(packagePath, 'name: $name');
+
+ newAnalysisOptionsYamlFile(
+ packagePath,
+ AnalysisOptionsFileConfig(
+ experiments: experiments,
+ plugins: plugins.map((plugin) => plugin.name).toList(),
+ ).toContent(),
+ );
+
+ if (withPackageConfig) {
+ var packageConfig = PackageConfigFileBuilder()
+ ..add(name: name, rootPath: packagePath);
+ for (var plugin in plugins) {
+ packageConfig.add(name: plugin.name, rootPath: plugin.path);
+ }
+ newPackageConfigJsonFileFromBuilder(packagePath, packageConfig);
+ }
+
+ return packagePath;
+ }
+}
+
+@reflectiveTest
class SetSubscriptionsTest extends PubPackageAnalysisServerTest {
Map<File, List<HighlightRegion>> filesHighlights = {};
diff --git a/pkg/analysis_server/test/lsp/definition_test.dart b/pkg/analysis_server/test/lsp/definition_test.dart
index 2266abd..acf853f 100644
--- a/pkg/analysis_server/test/lsp/definition_test.dart
+++ b/pkg/analysis_server/test/lsp/definition_test.dart
@@ -239,6 +239,33 @@
await testContents(contents);
}
+ Future<void> test_constructor_redirectingSuper_wildcards() async {
+ var contents = '''
+class A {
+ final int x, y;
+ A(this.[!x!], [this.y = 0]);
+}
+
+class C extends A {
+ final int c;
+ C(this.c, super.^_);
+}
+''';
+
+ await testContents(contents);
+ }
+
+ Future<void> test_constructor_thisReference_wildcards() async {
+ var contents = '''
+class A {
+ final int [!_!];
+ A(this.^_);
+}
+''';
+
+ await testContents(contents);
+ }
+
Future<void> test_constructorNamed() async {
var contents = '''
f() {
@@ -307,6 +334,17 @@
);
}
+ Future<void> test_field_underscore() async {
+ var contents = '''
+class A {
+ int [!_!] = 1;
+ int f() => _^;
+}
+''';
+
+ await testContents(contents);
+ }
+
Future<void> test_fieldFormalParam() async {
var contents = '''
class A {
@@ -663,6 +701,17 @@
expect(getTextForRange(macroContent, location.targetSelectionRange), 'foo');
}
+ Future<void> test_method_underscore() async {
+ var contents = '''
+class A {
+ int [!_!]() => 1;
+ int f() => _^();
+}
+''';
+
+ await testContents(contents);
+ }
+
Future<void> test_nonDartFile() async {
newFile(pubspecFilePath, simplePubspecContent);
await initialize();
@@ -747,6 +796,15 @@
await testContents(contents);
}
+ Future<void> test_topLevelVariable_underscore() async {
+ var contents = '''
+int [!_!] = 0;
+int f = ^_;
+''';
+
+ await testContents(contents);
+ }
+
Future<void> test_type() async {
var contents = '''
f() {
diff --git a/pkg/analysis_server/test/src/services/correction/fix/remove_break_test.dart b/pkg/analysis_server/test/src/services/correction/fix/remove_break_test.dart
index 50ff1a0..d9d4fc6 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/remove_break_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/remove_break_test.dart
@@ -32,6 +32,8 @@
1; break;
case 2:
2; break;
+ default:
+ 3; break;
}
}
''');
@@ -42,6 +44,8 @@
1;
case 2:
2;
+ default:
+ 3;
}
}
''');
@@ -57,6 +61,9 @@
case 2:
2;
break;
+ default:
+ 3;
+ break;
}
}
''');
@@ -67,6 +74,8 @@
1;
case 2:
2;
+ default:
+ 3;
}
}
''');
@@ -107,6 +116,29 @@
''');
}
+ Future<void> test_single_sameLine_default() async {
+ await resolveTestCode('''
+void f() {
+ switch (0) {
+ case 1:
+ 1;
+ default:
+ 2; break;
+ }
+}
+''');
+ await assertHasFix('''
+void f() {
+ switch (0) {
+ case 1:
+ 1;
+ default:
+ 2;
+ }
+}
+''');
+ }
+
Future<void> test_single_separateLine() async {
await resolveTestCode('''
void f() {
@@ -130,4 +162,28 @@
}
''');
}
+
+ Future<void> test_single_separateLine_default() async {
+ await resolveTestCode('''
+void f() {
+ switch (0) {
+ case 1:
+ 1;
+ default:
+ 2;
+ break;
+ }
+}
+''');
+ await assertHasFix('''
+void f() {
+ switch (0) {
+ case 1:
+ 1;
+ default:
+ 2;
+ }
+}
+''');
+ }
}
diff --git a/pkg/linter/lib/src/rules/omit_obvious_local_variable_types.dart b/pkg/linter/lib/src/rules/omit_obvious_local_variable_types.dart
index b28533d..39e31fd 100644
--- a/pkg/linter/lib/src/rules/omit_obvious_local_variable_types.dart
+++ b/pkg/linter/lib/src/rules/omit_obvious_local_variable_types.dart
@@ -136,9 +136,7 @@
void _visitVariableDeclarationList(VariableDeclarationList node) {
var staticType = node.type?.type;
- if (staticType == null ||
- staticType is DynamicType ||
- staticType.isDartCoreNull) {
+ if (staticType == null || staticType.isDartCoreNull) {
return;
}
for (var child in node.variables) {
diff --git a/pkg/linter/lib/src/rules/specify_nonobvious_local_variable_types.dart b/pkg/linter/lib/src/rules/specify_nonobvious_local_variable_types.dart
index ba5b144..bb7549b 100644
--- a/pkg/linter/lib/src/rules/specify_nonobvious_local_variable_types.dart
+++ b/pkg/linter/lib/src/rules/specify_nonobvious_local_variable_types.dart
@@ -184,9 +184,7 @@
void _visitVariableDeclarationList(VariableDeclarationList node) {
var staticType = node.type?.type;
- if (staticType != null &&
- staticType is! DynamicType &&
- !staticType.isDartCoreNull) {
+ if (staticType != null && !staticType.isDartCoreNull) {
return;
}
bool aDeclaredTypeIsNeeded = false;
diff --git a/pkg/linter/lib/src/rules/unnecessary_breaks.dart b/pkg/linter/lib/src/rules/unnecessary_breaks.dart
index faccf37..bf716ac 100644
--- a/pkg/linter/lib/src/rules/unnecessary_breaks.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_breaks.dart
@@ -90,7 +90,7 @@
visitBreakStatement(BreakStatement node) {
if (node.label != null) return;
var parent = node.parent;
- if (parent is SwitchPatternCase) {
+ if (parent is SwitchMember) {
var statements = parent.statements;
if (statements.length == 1) return;
if (node == statements.last) {
diff --git a/pkg/linter/test/rules/omit_obvious_local_variable_types_test.dart b/pkg/linter/test/rules/omit_obvious_local_variable_types_test.dart
index 68cd821..8e3ecc8 100644
--- a/pkg/linter/test/rules/omit_obvious_local_variable_types_test.dart
+++ b/pkg/linter/test/rules/omit_obvious_local_variable_types_test.dart
@@ -29,6 +29,18 @@
]);
}
+ test_as_dynamic() async {
+ await assertDiagnostics(r'''
+f() {
+ dynamic i = n as dynamic;
+}
+
+num n = 1;
+''', [
+ lint(8, 7),
+ ]);
+ }
+
test_cascade() async {
await assertDiagnostics(r'''
f() {
diff --git a/pkg/linter/test/rules/specify_nonobvious_local_variable_types_test.dart b/pkg/linter/test/rules/specify_nonobvious_local_variable_types_test.dart
index c4a799d..8ef172f 100644
--- a/pkg/linter/test/rules/specify_nonobvious_local_variable_types_test.dart
+++ b/pkg/linter/test/rules/specify_nonobvious_local_variable_types_test.dart
@@ -17,6 +17,22 @@
@override
String get lintRule => 'specify_nonobvious_local_variable_types';
+ test_as() async {
+ await assertNoDiagnostics(r'''
+f() {
+ var d = 1 as num;
+}
+''');
+ }
+
+ test_as_dynamic() async {
+ await assertNoDiagnostics(r'''
+f() {
+ var d = 1 as dynamic;
+}
+''');
+ }
+
test_cascade() async {
await assertNoDiagnostics(r'''
f() {
diff --git a/pkg/linter/test/rules/unnecessary_breaks_test.dart b/pkg/linter/test/rules/unnecessary_breaks_test.dart
index 0e3ab29..c363f4b 100644
--- a/pkg/linter/test/rules/unnecessary_breaks_test.dart
+++ b/pkg/linter/test/rules/unnecessary_breaks_test.dart
@@ -17,6 +17,73 @@
@override
String get lintRule => 'unnecessary_breaks';
+ test_default() async {
+ await assertDiagnostics(r'''
+f() {
+ switch (1) {
+ case 1:
+ f();
+ default:
+ f();
+ break;
+ }
+}
+''', [
+ lint(74, 6),
+ ]);
+ }
+
+ test_default_empty() async {
+ // We allow the body of a `case` clause to be just a single `break;`,
+ // because that's necessary to prevent the clause from being grouped with
+ // the clause that follows it.
+ //
+ // For a `default` clause, that's not necessary, because the `default`
+ // clause is required to come last. But we allow just a single `break;`
+ // anyway, for consistency.
+ await assertNoDiagnostics(r'''
+f() {
+ switch (1) {
+ case 2:
+ f();
+ default:
+ break;
+ }
+}
+''');
+ }
+
+ test_default_notLast_ok() async {
+ // No lint is needed because there is already a DEAD_CODE warning.
+ await assertDiagnostics(r'''
+f(bool c) {
+ switch (1) {
+ case 1:
+ f(true);
+ default:
+ break;
+ f(true);
+ }
+}
+''', [
+ // No lint.
+ error(WarningCode.DEAD_CODE, 86, 8),
+ ]);
+ }
+
+ test_switch_pre30_default_ok() async {
+ await assertNoDiagnostics(r'''
+// @dart=2.19
+f() {
+ switch (1) {
+ default:
+ f();
+ break;
+ }
+}
+''');
+ }
+
test_switch_pre30_ok() async {
await assertNoDiagnostics(r'''
// @dart=2.19
@@ -46,6 +113,20 @@
]);
}
+ test_switchPatternCase_default_ok() async {
+ await assertNoDiagnostics(r'''
+f(bool c) {
+ switch (1) {
+ case 1:
+ f(true);
+ default:
+ if (c) break;
+ f(true);
+ }
+}
+''');
+ }
+
test_switchPatternCase_empty_ok() async {
await assertNoDiagnostics(r'''
f() {
diff --git a/runtime/bin/filter.cc b/runtime/bin/filter.cc
index b774236..eb9a35d 100644
--- a/runtime/bin/filter.cc
+++ b/runtime/bin/filter.cc
@@ -68,11 +68,10 @@
void FUNCTION_NAME(Filter_CreateZLibInflate)(Dart_NativeArguments args) {
Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
- Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 1);
- int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj);
- Dart_Handle dict_obj = Dart_GetNativeArgument(args, 2);
- Dart_Handle raw_obj = Dart_GetNativeArgument(args, 3);
- bool raw = DartUtils::GetBooleanValue(raw_obj);
+ bool gzip = DartUtils::GetNativeBooleanArgument(args, 1);
+ int64_t window_bits = DartUtils::GetNativeIntegerArgument(args, 2);
+ Dart_Handle dict_obj = Dart_GetNativeArgument(args, 3);
+ bool raw = DartUtils::GetNativeBooleanArgument(args, 4);
Dart_Handle err;
uint8_t* dictionary = nullptr;
@@ -91,8 +90,9 @@
}
}
- ZLibInflateFilter* filter = new ZLibInflateFilter(
- static_cast<int32_t>(window_bits), dictionary, dictionary_length, raw);
+ ZLibInflateFilter* filter =
+ new ZLibInflateFilter(gzip, static_cast<int32_t>(window_bits), dictionary,
+ dictionary_length, raw);
if (filter == nullptr) {
delete[] dictionary;
Dart_PropagateError(
@@ -113,20 +113,15 @@
void FUNCTION_NAME(Filter_CreateZLibDeflate)(Dart_NativeArguments args) {
Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
- Dart_Handle gzip_obj = Dart_GetNativeArgument(args, 1);
- bool gzip = DartUtils::GetBooleanValue(gzip_obj);
+ bool gzip = DartUtils::GetNativeBooleanArgument(args, 1);
Dart_Handle level_obj = Dart_GetNativeArgument(args, 2);
int64_t level =
DartUtils::GetInt64ValueCheckRange(level_obj, kMinInt32, kMaxInt32);
- Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 3);
- int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj);
- Dart_Handle mLevel_obj = Dart_GetNativeArgument(args, 4);
- int64_t mem_level = DartUtils::GetIntegerValue(mLevel_obj);
- Dart_Handle strategy_obj = Dart_GetNativeArgument(args, 5);
- int64_t strategy = DartUtils::GetIntegerValue(strategy_obj);
+ int64_t window_bits = DartUtils::GetNativeIntegerArgument(args, 3);
+ int64_t mem_level = DartUtils::GetNativeIntegerArgument(args, 4);
+ int64_t strategy = DartUtils::GetNativeIntegerArgument(args, 5);
Dart_Handle dict_obj = Dart_GetNativeArgument(args, 6);
- Dart_Handle raw_obj = Dart_GetNativeArgument(args, 7);
- bool raw = DartUtils::GetBooleanValue(raw_obj);
+ bool raw = DartUtils::GetNativeBooleanArgument(args, 7);
Dart_Handle err;
uint8_t* dictionary = nullptr;
@@ -417,14 +412,21 @@
case Z_STREAM_END:
case Z_BUF_ERROR: {
intptr_t processed = length - stream_.avail_out;
-
- if (v == Z_STREAM_END) {
- // Allow for concatenated compressed blocks. For example:
+ if (v == Z_STREAM_END && gzip_) {
+ // Allow for concatenated compressed data sets. For example:
// final data = [
// ...gzip.encode([1, 2, 3]),
// ...gzip.encode([4, 5, 6]),
// ];
// final decoded = gzip.decode(data); // [1, 2, 3, 4, 5, 6]
+ //
+ // This is only supported for gzip data because RFC-1950 says:
+ // > Any data which may appear after ADLER32 are not part of the zlib
+ // > stream.
+ // while RFC-1952 says:
+ // > A gzip file consists of a series of "members" (compressed data
+ // > sets)... The members simply appear one after another in the file,
+ // > with no additional information before, between, or after them.
// The return code for `inflateReset` can be ignored because, if the
// result is an error, the same error will be returned in the next
diff --git a/runtime/bin/filter.h b/runtime/bin/filter.h
index 6680ff5..ce832d2 100644
--- a/runtime/bin/filter.h
+++ b/runtime/bin/filter.h
@@ -97,11 +97,13 @@
class ZLibInflateFilter : public Filter {
public:
- ZLibInflateFilter(int32_t window_bits,
+ ZLibInflateFilter(bool gzip,
+ int32_t window_bits,
uint8_t* dictionary,
intptr_t dictionary_length,
bool raw)
- : window_bits_(window_bits),
+ : gzip_(gzip),
+ window_bits_(window_bits),
dictionary_(dictionary),
dictionary_length_(dictionary_length),
raw_(raw),
@@ -116,6 +118,7 @@
bool end);
private:
+ const bool gzip_;
const int32_t window_bits_;
uint8_t* dictionary_;
const intptr_t dictionary_length_;
diff --git a/runtime/bin/io_natives.cc b/runtime/bin/io_natives.cc
index 552d063..5afaea4 100644
--- a/runtime/bin/io_natives.cc
+++ b/runtime/bin/io_natives.cc
@@ -79,7 +79,7 @@
V(FileSystemWatcher_UnwatchPath, 2) \
V(FileSystemWatcher_WatchPath, 5) \
V(Filter_CreateZLibDeflate, 8) \
- V(Filter_CreateZLibInflate, 4) \
+ V(Filter_CreateZLibInflate, 5) \
V(Filter_Process, 4) \
V(Filter_Processed, 3) \
V(ResourceHandleImpl_toFile, 1) \
diff --git a/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart b/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart
index c5cc64f..850c51d 100644
--- a/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart
+++ b/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart
@@ -670,7 +670,7 @@
@patch
static RawZLibFilter _makeZLibInflateFilter(
- int windowBits, List<int>? dictionary, bool raw) {
+ bool gzip, int windowBits, List<int>? dictionary, bool raw) {
throw UnsupportedError("_newZLibInflateFilter");
}
}
diff --git a/sdk/lib/_internal/js_runtime/lib/io_patch.dart b/sdk/lib/_internal/js_runtime/lib/io_patch.dart
index f16d235..4aa3c09 100644
--- a/sdk/lib/_internal/js_runtime/lib/io_patch.dart
+++ b/sdk/lib/_internal/js_runtime/lib/io_patch.dart
@@ -669,7 +669,7 @@
@patch
static RawZLibFilter _makeZLibInflateFilter(
- int windowBits, List<int>? dictionary, bool raw) {
+ bool gzip, int windowBits, List<int>? dictionary, bool raw) {
throw UnsupportedError("_newZLibInflateFilter");
}
}
diff --git a/sdk/lib/_internal/vm/bin/filter_patch.dart b/sdk/lib/_internal/vm/bin/filter_patch.dart
index 12eaee7..b302ccd 100644
--- a/sdk/lib/_internal/vm/bin/filter_patch.dart
+++ b/sdk/lib/_internal/vm/bin/filter_patch.dart
@@ -14,11 +14,13 @@
}
base class _ZLibInflateFilter extends _FilterImpl {
- _ZLibInflateFilter(int windowBits, List<int>? dictionary, bool raw) {
- _init(windowBits, dictionary, raw);
+ _ZLibInflateFilter(
+ bool gzip, int windowBits, List<int>? dictionary, bool raw) {
+ _init(gzip, windowBits, dictionary, raw);
}
@pragma("vm:external-name", "Filter_CreateZLibInflate")
- external void _init(int windowBits, List<int>? dictionary, bool raw);
+ external void _init(
+ bool gzip, int windowBits, List<int>? dictionary, bool raw);
}
base class _ZLibDeflateFilter extends _FilterImpl {
@@ -46,6 +48,6 @@
gzip, level, windowBits, memLevel, strategy, dictionary, raw);
@patch
static RawZLibFilter _makeZLibInflateFilter(
- int windowBits, List<int>? dictionary, bool raw) =>
- new _ZLibInflateFilter(windowBits, dictionary, raw);
+ bool gzip, int windowBits, List<int>? dictionary, bool raw) =>
+ new _ZLibInflateFilter(gzip, windowBits, dictionary, raw);
}
diff --git a/sdk/lib/_internal/wasm/lib/io_patch.dart b/sdk/lib/_internal/wasm/lib/io_patch.dart
index 2bc2688..cd856fb 100644
--- a/sdk/lib/_internal/wasm/lib/io_patch.dart
+++ b/sdk/lib/_internal/wasm/lib/io_patch.dart
@@ -669,7 +669,7 @@
@patch
static RawZLibFilter _makeZLibInflateFilter(
- int windowBits, List<int>? dictionary, bool raw) {
+ bool gzip, int windowBits, List<int>? dictionary, bool raw) {
throw new UnsupportedError("_newZLibInflateFilter");
}
}
diff --git a/sdk/lib/io/data_transformer.dart b/sdk/lib/io/data_transformer.dart
index d7f3dc3..c7064dc 100644
--- a/sdk/lib/io/data_transformer.dart
+++ b/sdk/lib/io/data_transformer.dart
@@ -149,9 +149,6 @@
/// The [GZipCodec] encodes raw bytes to GZip compressed bytes and decodes GZip
/// compressed bytes to raw bytes.
-///
-/// The difference between [ZLibCodec] and [GZipCodec] is that the [GZipCodec]
-/// wraps the `ZLib` compressed bytes in `GZip` frames.
final class GZipCodec extends Codec<List<int>, List<int>> {
/// When true, `GZip` frames will be added to the compressed data.
final bool gzip;
@@ -234,8 +231,8 @@
raw: raw);
/// Get a [ZLibDecoder] for decoding `GZip` compressed data.
- ZLibDecoder get decoder =>
- new ZLibDecoder(windowBits: windowBits, dictionary: dictionary, raw: raw);
+ ZLibDecoder get decoder => new ZLibDecoder(
+ gzip: true, windowBits: windowBits, dictionary: dictionary, raw: raw);
}
/// The [ZLibEncoder] encoder is used by [ZLibCodec] and [GZipCodec] to compress
@@ -329,6 +326,10 @@
/// The [ZLibDecoder] is used by [ZLibCodec] and [GZipCodec] to decompress data.
final class ZLibDecoder extends Converter<List<int>, List<int>> {
+ /// When true, all concatenated compressed data sets in the input are
+ /// decompressed and concatenated in the output.
+ final bool gzip;
+
/// Base two logarithm of the window size (the size of the history buffer). It
/// should be in the range `8..15`. Larger values result in better compression
/// at the expense of memory usage. The default value is `15`.
@@ -349,7 +350,8 @@
final bool raw;
ZLibDecoder(
- {this.windowBits = ZLibOption.defaultWindowBits,
+ {this.gzip = false,
+ this.windowBits = ZLibOption.defaultWindowBits,
this.dictionary,
this.raw = false}) {
_validateZLibWindowBits(windowBits);
@@ -374,7 +376,7 @@
if (sink is! ByteConversionSink) {
sink = new ByteConversionSink.from(sink);
}
- return new _ZLibDecoderSink._(sink, windowBits, dictionary, raw);
+ return new _ZLibDecoderSink._(sink, gzip, windowBits, dictionary, raw);
}
}
@@ -398,11 +400,12 @@
/// Returns a [RawZLibFilter] whose [process] and [processed] methods
/// decompress data.
factory RawZLibFilter.inflateFilter({
+ bool gzip = false,
int windowBits = ZLibOption.defaultWindowBits,
List<int>? dictionary,
bool raw = false,
}) {
- return _makeZLibInflateFilter(windowBits, dictionary, raw);
+ return _makeZLibInflateFilter(gzip, windowBits, dictionary, raw);
}
/// Process a chunk of data.
@@ -431,7 +434,7 @@
bool raw);
external static RawZLibFilter _makeZLibInflateFilter(
- int windowBits, List<int>? dictionary, bool raw);
+ bool gzip, int windowBits, List<int>? dictionary, bool raw);
}
class _BufferSink extends ByteConversionSink {
@@ -471,10 +474,12 @@
}
class _ZLibDecoderSink extends _FilterSink {
- _ZLibDecoderSink._(
- ByteConversionSink sink, int windowBits, List<int>? dictionary, bool raw)
- : super(sink,
- RawZLibFilter._makeZLibInflateFilter(windowBits, dictionary, raw));
+ _ZLibDecoderSink._(ByteConversionSink sink, bool gzip, int windowBits,
+ List<int>? dictionary, bool raw)
+ : super(
+ sink,
+ RawZLibFilter._makeZLibInflateFilter(
+ gzip, windowBits, dictionary, raw));
}
class _FilterSink extends ByteConversionSink {
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/call_deleted_top_level_function/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/call_deleted_top_level_function/config.json
diff --git a/tests/hot_reload/call_deleted_top_level_function/main.0.dart b/tests/hot_reload/call_deleted_top_level_function/main.0.dart
new file mode 100644
index 0000000..f860f6e
--- /dev/null
+++ b/tests/hot_reload/call_deleted_top_level_function/main.0.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2597
+
+deleted() {
+ return 'hello';
+}
+
+var retained;
+
+helper() {
+ retained = () => deleted();
+ return retained();
+}
+
+Future<void> main() async {
+ Expect.equals('hello', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains('NoSuchMethodError', helper());
+ Expect.contains('deleted', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/call_deleted_top_level_function/main.1.dart b/tests/hot_reload/call_deleted_top_level_function/main.1.dart
new file mode 100644
index 0000000..0956603
--- /dev/null
+++ b/tests/hot_reload/call_deleted_top_level_function/main.1.dart
@@ -0,0 +1,54 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2597
+
+var retained;
+
+helper() {
+ try {
+ return retained();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals('hello', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains('NoSuchMethodError', helper());
+ Expect.contains('deleted', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -8,15 +8,14 @@
+ // Adapted from:
+ // https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2597
+
+-deleted() {
+- return 'hello';
+-}
+-
+ var retained;
+
+ helper() {
+- retained = () => deleted();
+- return retained();
++ try {
++ return retained();
++ } catch (e) {
++ return e.toString();
++ }
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/call_deleted_top_level_function_arity_change/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/call_deleted_top_level_function_arity_change/config.json
diff --git a/tests/hot_reload/call_deleted_top_level_function_arity_change/main.0.dart b/tests/hot_reload/call_deleted_top_level_function_arity_change/main.0.dart
new file mode 100644
index 0000000..a5dfa8a
--- /dev/null
+++ b/tests/hot_reload/call_deleted_top_level_function_arity_change/main.0.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2627
+
+deleted() {
+ return 'hello';
+}
+
+var retained;
+
+helper() {
+ retained = () => deleted();
+ return retained();
+}
+
+Future<void> main() async {
+ Expect.equals('hello', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains('NoSuchMethodError', helper());
+ Expect.contains('deleted', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/call_deleted_top_level_function_arity_change/main.1.dart b/tests/hot_reload/call_deleted_top_level_function_arity_change/main.1.dart
new file mode 100644
index 0000000..6f91d36
--- /dev/null
+++ b/tests/hot_reload/call_deleted_top_level_function_arity_change/main.1.dart
@@ -0,0 +1,59 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2627
+
+deleted(newParameter) {
+ return 'hello';
+}
+
+var retained;
+
+helper() {
+ try {
+ return retained();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals('hello', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains('NoSuchMethodError', helper());
+ Expect.contains('deleted', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -8,15 +8,18 @@
+ // Adapted from:
+ // https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L2627
+
+-deleted() {
++deleted(newParameter) {
+ return 'hello';
+ }
+
+ var retained;
+
+ helper() {
+- retained = () => deleted();
+- return retained();
++ try {
++ return retained();
++ } catch (e) {
++ return e.toString();
++ }
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/class_field_removed/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/class_field_removed/config.json
diff --git a/tests/hot_reload/class_field_removed/main.0.dart b/tests/hot_reload/class_field_removed/main.0.dart
new file mode 100644
index 0000000..a7b64ac
--- /dev/null
+++ b/tests/hot_reload/class_field_removed/main.0.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/36c0788137d55c6c77f4b9a8be12e557bc764b1c/runtime/vm/isolate_reload_test.cc#L532
+
+class Foo {
+ var x;
+ var y;
+ var z;
+}
+
+Future<void> main() async {
+ Expect.isNotNull(Foo());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(2, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/class_field_removed/main.1.dart b/tests/hot_reload/class_field_removed/main.1.dart
new file mode 100644
index 0000000..22783d8
--- /dev/null
+++ b/tests/hot_reload/class_field_removed/main.1.dart
@@ -0,0 +1,40 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/36c0788137d55c6c77f4b9a8be12e557bc764b1c/runtime/vm/isolate_reload_test.cc#L532
+
+class Foo {
+ var x;
+ var y;
+}
+
+Future<void> main() async {
+ Expect.isNotNull(Foo());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -11,7 +11,6 @@
+ class Foo {
+ var x;
+ var y;
+- var z;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/class_field_removed/main.2.dart b/tests/hot_reload/class_field_removed/main.2.dart
new file mode 100644
index 0000000..3b864af
--- /dev/null
+++ b/tests/hot_reload/class_field_removed/main.2.dart
@@ -0,0 +1,39 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/36c0788137d55c6c77f4b9a8be12e557bc764b1c/runtime/vm/isolate_reload_test.cc#L532
+
+class Foo {
+ var x;
+}
+
+Future<void> main() async {
+ Expect.isNotNull(Foo());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.isNotNull(Foo());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,7 +10,6 @@
+
+ class Foo {
+ var x;
+- var y;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/const_field_update/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/const_field_update/config.json
diff --git a/tests/hot_reload/const_field_update/main.0.dart b/tests/hot_reload/const_field_update/main.0.dart
new file mode 100644
index 0000000..ea40e58
--- /dev/null
+++ b/tests/hot_reload/const_field_update/main.0.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4830
+
+const value = Duration(seconds: 1);
+
+helper() => '$value';
+
+Future<void> main() async {
+ Expect.equals('0:00:01.000000', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals('0:00:02.000000', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/const_field_update/main.1.dart b/tests/hot_reload/const_field_update/main.1.dart
new file mode 100644
index 0000000..d38b17a
--- /dev/null
+++ b/tests/hot_reload/const_field_update/main.1.dart
@@ -0,0 +1,35 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4830
+
+const value = Duration(seconds: 2);
+
+helper() => '$value';
+
+Future<void> main() async {
+ Expect.equals('0:00:01.000000', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals('0:00:02.000000', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -8,7 +8,7 @@
+ // Adapted from:
+ // https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4830
+
+-const value = Duration(seconds: 1);
++const value = Duration(seconds: 2);
+
+ helper() => '$value';
+
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/existing_field_changes_type_indirect_function/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/existing_field_changes_type_indirect_function/config.json
diff --git a/tests/hot_reload/existing_field_changes_type_indirect_function/main.0.dart b/tests/hot_reload/existing_field_changes_type_indirect_function/main.0.dart
new file mode 100644
index 0000000..b372ec8
--- /dev/null
+++ b/tests/hot_reload/existing_field_changes_type_indirect_function/main.0.dart
@@ -0,0 +1,41 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5878
+
+class A {}
+
+class B extends A {}
+
+typedef bool Predicate(B b);
+
+class Foo {
+ Predicate x;
+ Foo(this.x);
+}
+
+late Foo value;
+
+helper() {
+ value = Foo((A a) => true);
+ return 'okay';
+}
+
+Future<void> main() async {
+ Expect.equals('okay', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // B is no longer a subtype of A.
+ Expect.equals(
+ "type '(A) => bool' is not a subtype of type "
+ "'(B) => bool' of 'function result'",
+ helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/existing_field_changes_type_indirect_function/main.1.dart b/tests/hot_reload/existing_field_changes_type_indirect_function/main.1.dart
new file mode 100644
index 0000000..07403f8
--- /dev/null
+++ b/tests/hot_reload/existing_field_changes_type_indirect_function/main.1.dart
@@ -0,0 +1,70 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5878
+
+class A {}
+
+class B {}
+
+typedef bool Predicate(B b);
+
+class Foo {
+ Predicate x;
+ Foo(this.x);
+}
+
+late Foo value;
+
+helper() {
+ try {
+ return value.x.toString();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals('okay', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // B is no longer a subtype of A.
+ Expect.equals(
+ "type '(A) => bool' is not a subtype of type "
+ "'(B) => bool' of 'function result'",
+ helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,7 +10,7 @@
+
+ class A {}
+
+-class B extends A {}
++class B {}
+
+ typedef bool Predicate(B b);
+
+@@ -22,8 +22,11 @@
+ late Foo value;
+
+ helper() {
+- value = Foo((A a) => true);
+- return 'okay';
++ try {
++ return value.x.toString();
++ } catch (e) {
++ return e.toString();
++ }
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/existing_field_changes_type_indirect_generic/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/existing_field_changes_type_indirect_generic/config.json
diff --git a/tests/hot_reload/existing_field_changes_type_indirect_generic/main.0.dart b/tests/hot_reload/existing_field_changes_type_indirect_generic/main.0.dart
new file mode 100644
index 0000000..67b69bd
--- /dev/null
+++ b/tests/hot_reload/existing_field_changes_type_indirect_generic/main.0.dart
@@ -0,0 +1,38 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L5793
+
+class A {}
+
+class B extends A {}
+
+class Foo {
+ List<A> x;
+ Foo(this.x);
+}
+
+late Foo value;
+
+helper() {
+ value = Foo(List<B>.empty());
+ return 'okay';
+}
+
+Future<void> main() async {
+ Expect.equals('okay', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // B is no longer a subtype of A.
+ Expect.contains(
+ "type 'List<B>' is not a subtype of type 'List<A>' of 'function result'",
+ helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/existing_field_changes_type_indirect_generic/main.1.dart b/tests/hot_reload/existing_field_changes_type_indirect_generic/main.1.dart
new file mode 100644
index 0000000..a74f669
--- /dev/null
+++ b/tests/hot_reload/existing_field_changes_type_indirect_generic/main.1.dart
@@ -0,0 +1,67 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L5793
+
+class A {}
+
+class B {}
+
+class Foo {
+ List<A> x;
+ Foo(this.x);
+}
+
+late Foo value;
+
+helper() {
+ try {
+ return value.x.toString();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals('okay', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // B is no longer a subtype of A.
+ Expect.contains(
+ "type 'List<B>' is not a subtype of type 'List<A>' of 'function result'",
+ helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,7 +10,7 @@
+
+ class A {}
+
+-class B extends A {}
++class B {}
+
+ class Foo {
+ List<A> x;
+@@ -20,8 +20,11 @@
+ late Foo value;
+
+ helper() {
+- value = Foo(List<B>.empty());
+- return 'okay';
++ try {
++ return value.x.toString();
++ } catch (e) {
++ return e.toString();
++ }
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/existing_static_field_changes_type_indirect/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/existing_static_field_changes_type_indirect/config.json
diff --git a/tests/hot_reload/existing_static_field_changes_type_indirect/main.0.dart b/tests/hot_reload/existing_static_field_changes_type_indirect/main.0.dart
new file mode 100644
index 0000000..fa315f0
--- /dev/null
+++ b/tests/hot_reload/existing_static_field_changes_type_indirect/main.0.dart
@@ -0,0 +1,36 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L5757
+
+class A {}
+
+class B extends A {}
+
+init() => new B();
+
+A value = init();
+
+helper() {
+ try {
+ return value.toString();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals("Instance of 'B'", helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains(
+ "type 'B' is not a subtype of type 'A' of 'function result'", helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/existing_static_field_changes_type_indirect/main.1.dart b/tests/hot_reload/existing_static_field_changes_type_indirect/main.1.dart
new file mode 100644
index 0000000..e5062fb
--- /dev/null
+++ b/tests/hot_reload/existing_static_field_changes_type_indirect/main.1.dart
@@ -0,0 +1,51 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/bf2fba78e006ce4feac43e514c0b8f3ea9e9fbb8/runtime/vm/isolate_reload_test.cc#L5757
+
+class A {}
+
+class B {}
+
+init() => new A();
+
+A value = init();
+
+helper() {
+ try {
+ return value.toString();
+ } catch (e) {
+ return e.toString();
+ }
+}
+
+Future<void> main() async {
+ Expect.equals("Instance of 'B'", helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.contains(
+ "type 'B' is not a subtype of type 'A' of 'function result'", helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,9 +10,9 @@
+
+ class A {}
+
+-class B extends A {}
++class B {}
+
+-init() => new B();
++init() => new A();
+
+ A value = init();
+
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/run_new_field_initializers/config.json
similarity index 100%
rename from tests/hot_reload/run_lazy_field_initializers/config.json
rename to tests/hot_reload/run_new_field_initializers/config.json
diff --git a/tests/hot_reload/run_new_field_initializers/main.0.dart b/tests/hot_reload/run_new_field_initializers/main.0.dart
new file mode 100644
index 0000000..738e15d5
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers/main.0.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4852
+
+class Foo {
+ int x = 4;
+}
+
+late Foo value;
+
+helper() {
+ // Initialize Foo with one field.
+ value = Foo();
+ return value.x;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals(7, helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/run_new_field_initializers/main.1.dart b/tests/hot_reload/run_new_field_initializers/main.1.dart
new file mode 100644
index 0000000..92f5e08
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers/main.1.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4852
+
+class Foo {
+ int x = 4;
+ int y = 7;
+}
+
+late Foo value;
+
+helper() {
+ // Don't reinitialize Foo. The new field 'y' is nevertheless initialized.
+ return value.y;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals(7, helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,14 +10,14 @@
+
+ class Foo {
+ int x = 4;
++ int y = 7;
+ }
+
+ late Foo value;
+
+ helper() {
+- // Initialize Foo with one field.
+- value = Foo();
+- return value.x;
++ // Don't reinitialize Foo. The new field 'y' is nevertheless initialized.
++ return value.y;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/run_new_field_initializers_lazy/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/run_new_field_initializers_lazy/config.json
diff --git a/tests/hot_reload/run_lazy_field_initializers/main.0.dart b/tests/hot_reload/run_new_field_initializers_lazy/main.0.dart
similarity index 100%
rename from tests/hot_reload/run_lazy_field_initializers/main.0.dart
rename to tests/hot_reload/run_new_field_initializers_lazy/main.0.dart
diff --git a/tests/hot_reload/run_lazy_field_initializers/main.1.dart b/tests/hot_reload/run_new_field_initializers_lazy/main.1.dart
similarity index 100%
rename from tests/hot_reload/run_lazy_field_initializers/main.1.dart
rename to tests/hot_reload/run_new_field_initializers_lazy/main.1.dart
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/run_new_field_initializers_lazy_const/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/run_new_field_initializers_lazy_const/config.json
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_const/main.0.dart b/tests/hot_reload/run_new_field_initializers_lazy_const/main.0.dart
new file mode 100644
index 0000000..82bbf68
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_const/main.0.dart
@@ -0,0 +1,37 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4968
+
+class Foo {
+ int x = 4;
+}
+
+late Foo value;
+
+helper() {
+ value = Foo();
+ return value.x;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y with an initialize, but do no read it
+ Expect.equals(0, helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Change y's initializer and check this new initializer is used.
+ Expect.equals(6, helper());
+ Expect.equals(2, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_const/main.1.dart b/tests/hot_reload/run_new_field_initializers_lazy_const/main.1.dart
new file mode 100644
index 0000000..fc75886
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_const/main.1.dart
@@ -0,0 +1,56 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4968
+
+class Foo {
+ int x = 4;
+ int y = 5;
+}
+
+late Foo value;
+
+helper() {
+ return 0;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y with an initialize, but do no read it
+ Expect.equals(0, helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Change y's initializer and check this new initializer is used.
+ Expect.equals(6, helper());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,13 +10,13 @@
+
+ class Foo {
+ int x = 4;
++ int y = 5;
+ }
+
+ late Foo value;
+
+ helper() {
+- value = Foo();
+- return value.x;
++ return 0;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_const/main.2.dart b/tests/hot_reload/run_new_field_initializers_lazy_const/main.2.dart
new file mode 100644
index 0000000..7d32605
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_const/main.2.dart
@@ -0,0 +1,56 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4968
+
+class Foo {
+ int x = 4;
+ int y = 6;
+}
+
+late Foo value;
+
+helper() {
+ return value.y;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y with an initialize, but do no read it
+ Expect.equals(0, helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Change y's initializer and check this new initializer is used.
+ Expect.equals(6, helper());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -10,13 +10,13 @@
+
+ class Foo {
+ int x = 4;
+- int y = 5;
++ int y = 6;
+ }
+
+ late Foo value;
+
+ helper() {
+- return 0;
++ return value.y;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/run_new_field_initializers_lazy_transitive/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/run_new_field_initializers_lazy_transitive/config.json
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.0.dart b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.0.dart
new file mode 100644
index 0000000..69d9896
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.0.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5021
+
+int myInitialValue = 8 * 7;
+
+class Foo {
+ int x = 4;
+}
+
+late Foo value;
+late Foo value1;
+
+helper() {
+ value = Foo();
+ value1 = Foo();
+ return '${value.x}';
+}
+
+Future<void> main() async {
+ Expect.equals('4', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y. Do not touch y.
+ Expect.equals('56', helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Field y's getter must be retained for initialization even
+ // though it is no longer new.
+ Expect.equals('56 56 57 58', helper());
+ Expect.equals(2, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.1.dart b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.1.dart
new file mode 100644
index 0000000..70abbdc
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.1.dart
@@ -0,0 +1,62 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5021
+
+int myInitialValue = 8 * 7;
+
+class Foo {
+ int x = 4;
+ int y = myInitialValue++;
+}
+
+late Foo value;
+late Foo value1;
+
+helper() {
+ return '$myInitialValue';
+}
+
+Future<void> main() async {
+ Expect.equals('4', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y. Do not touch y.
+ Expect.equals('56', helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Field y's getter must be retained for initialization even
+ // though it is no longer new.
+ Expect.equals('56 56 57 58', helper());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -12,15 +12,14 @@
+
+ class Foo {
+ int x = 4;
++ int y = myInitialValue++;
+ }
+
+ late Foo value;
+ late Foo value1;
+
+ helper() {
+- value = Foo();
+- value1 = Foo();
+- return '${value.x}';
++ return '$myInitialValue';
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.2.dart b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.2.dart
new file mode 100644
index 0000000..3645dba
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_lazy_transitive/main.2.dart
@@ -0,0 +1,53 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5021
+
+int myInitialValue = 8 * 7;
+
+class Foo {
+ int x = 4;
+ int y = myInitialValue++;
+}
+
+late Foo value;
+late Foo value1;
+
+helper() {
+ return '${myInitialValue} ${value.y} ${value1.y} ${myInitialValue}';
+}
+
+Future<void> main() async {
+ Expect.equals('4', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Add the field y. Do not touch y.
+ Expect.equals('56', helper());
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Field y's getter must be retained for initialization even
+ // though it is no longer new.
+ Expect.equals('56 56 57 58', helper());
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -19,7 +19,7 @@
+ late Foo value1;
+
+ helper() {
+- return '$myInitialValue';
++ return '${myInitialValue} ${value.y} ${value1.y} ${myInitialValue}';
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/run_new_field_initializers_reference_static_field/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/run_new_field_initializers_reference_static_field/config.json
diff --git a/tests/hot_reload/run_new_field_initializers_reference_static_field/main.0.dart b/tests/hot_reload/run_new_field_initializers_reference_static_field/main.0.dart
new file mode 100644
index 0000000..f620211c4
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_reference_static_field/main.0.dart
@@ -0,0 +1,33 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4888
+
+int myInitialValue = 8 * 7;
+
+class Foo {
+ int x = 4;
+}
+
+late Foo value;
+
+helper() {
+ // Initialize Foo with one field.
+ value = Foo();
+ return value.x;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals(56, helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/run_new_field_initializers_reference_static_field/main.1.dart b/tests/hot_reload/run_new_field_initializers_reference_static_field/main.1.dart
new file mode 100644
index 0000000..1ed0c7b
--- /dev/null
+++ b/tests/hot_reload/run_new_field_initializers_reference_static_field/main.1.dart
@@ -0,0 +1,56 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4888
+
+int myInitialValue = 8 * 7;
+
+class Foo {
+ int x = 4;
+ int y = myInitialValue;
+}
+
+late Foo value;
+
+helper() {
+ // Don't reinitialize Foo. The new field 'y' is nevertheless initialized to
+ // 'myInitialValue'.
+ return value.y;
+}
+
+Future<void> main() async {
+ Expect.equals(4, helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals(56, helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -12,14 +12,15 @@
+
+ class Foo {
+ int x = 4;
++ int y = myInitialValue;
+ }
+
+ late Foo value;
+
+ helper() {
+- // Initialize Foo with one field.
+- value = Foo();
+- return value.x;
++ // Don't reinitialize Foo. The new field 'y' is nevertheless initialized to
++ // 'myInitialValue'.
++ return value.y;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/simple_const_field_update/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/simple_const_field_update/config.json
diff --git a/tests/hot_reload/simple_const_field_update/main.0.dart b/tests/hot_reload/simple_const_field_update/main.0.dart
new file mode 100644
index 0000000..2c997f0
--- /dev/null
+++ b/tests/hot_reload/simple_const_field_update/main.0.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4808
+
+const value = 'a';
+
+helper() => value;
+
+Future<void> main() async {
+ Expect.equals('a', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals('b', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/simple_const_field_update/main.1.dart b/tests/hot_reload/simple_const_field_update/main.1.dart
new file mode 100644
index 0000000..7495c4e
--- /dev/null
+++ b/tests/hot_reload/simple_const_field_update/main.1.dart
@@ -0,0 +1,35 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4808
+
+const value = 'b';
+
+helper() => value;
+
+Future<void> main() async {
+ Expect.equals('a', helper());
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ Expect.equals('b', helper());
+ Expect.equals(1, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -8,7 +8,7 @@
+ // Adapted from:
+ // https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L4808
+
+-const value = 'a';
++const value = 'b';
+
+ helper() => value;
+
+*/
diff --git a/tests/hot_reload/run_lazy_field_initializers/config.json b/tests/hot_reload/static_field_initial_value_does_not_change/config.json
similarity index 100%
copy from tests/hot_reload/run_lazy_field_initializers/config.json
copy to tests/hot_reload/static_field_initial_value_does_not_change/config.json
diff --git a/tests/hot_reload/static_field_initial_value_does_not_change/main.0.dart b/tests/hot_reload/static_field_initial_value_does_not_change/main.0.dart
new file mode 100644
index 0000000..9352f76
--- /dev/null
+++ b/tests/hot_reload/static_field_initial_value_does_not_change/main.0.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5448
+
+class C {
+ static var x = 42;
+}
+
+Future<void> main() async {
+ Expect.equals(42, C.x);
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(2, hotReloadGeneration);
+}
diff --git a/tests/hot_reload/static_field_initial_value_does_not_change/main.1.dart b/tests/hot_reload/static_field_initial_value_does_not_change/main.1.dart
new file mode 100644
index 0000000..421f54f
--- /dev/null
+++ b/tests/hot_reload/static_field_initial_value_does_not_change/main.1.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5448
+
+class C {
+ static var x = 13;
+}
+
+Future<void> main() async {
+ Expect.equals(42, C.x);
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -9,7 +9,7 @@
+ // https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5448
+
+ class C {
+- static var x = 42;
++ static var x = 13;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/hot_reload/static_field_initial_value_does_not_change/main.2.dart b/tests/hot_reload/static_field_initial_value_does_not_change/main.2.dart
new file mode 100644
index 0000000..c6b2e34
--- /dev/null
+++ b/tests/hot_reload/static_field_initial_value_does_not_change/main.2.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+// Adapted from:
+// https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5448
+
+class C {
+ static var x = 100;
+}
+
+Future<void> main() async {
+ Expect.equals(42, C.x);
+ Expect.equals(0, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(1, hotReloadGeneration);
+
+ await hotReload();
+
+ // Newly loaded field maintained old static value
+ Expect.equals(42, C.x);
+ Expect.equals(2, hotReloadGeneration);
+}
+/** DIFF **/
+/*
+@@ -9,7 +9,7 @@
+ // https://github.com/dart-lang/sdk/blob/63622f03eeaf72983b2f4957fa84da8062693f00/runtime/vm/isolate_reload_test.cc#L5448
+
+ class C {
+- static var x = 13;
++ static var x = 100;
+ }
+
+ Future<void> main() async {
+*/
diff --git a/tests/language/wildcard_variables/declarations/local_function_error_test.dart b/tests/language/wildcard_variables/declarations/local_function_error_test.dart
index 9873ae9..2757ef1 100644
--- a/tests/language/wildcard_variables/declarations/local_function_error_test.dart
+++ b/tests/language/wildcard_variables/declarations/local_function_error_test.dart
@@ -11,6 +11,6 @@
/*indent*/ _();
// ^
- // [analyzer] unspecified
- // [cfe] unspecified
+ // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_FUNCTION
+ // [cfe] Method not found: '_'.
}
diff --git a/tests/language/wildcard_variables/import/import_error_test.dart b/tests/language/wildcard_variables/import/import_error_test.dart
index 0d62785..c210c7f 100644
--- a/tests/language/wildcard_variables/import/import_error_test.dart
+++ b/tests/language/wildcard_variables/import/import_error_test.dart
@@ -14,12 +14,12 @@
_.topLevel;
//^
-// [analyzer] unspecified
+// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
// [cfe] Undefined name '_'.
_.C(value);
//^
-// [analyzer] unspecified
+// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
// [cfe] Undefined name '_'.
// Private extensions can't be used.
diff --git a/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_access_error_test.dart b/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_access_error_test.dart
index 60ec642..4fa3ec9 100644
--- a/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_access_error_test.dart
+++ b/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_access_error_test.dart
@@ -11,9 +11,9 @@
var other;
C(this._) : other = _;
-//^
-// [analyzer] unspecified
-// [cfe] unspecified
+// ^
+// [analyzer] COMPILE_TIME_ERROR.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
+// [cfe] Can't access 'this' in a field initializer to read '_'.
}
class CWithTypeParameter<_> {
@@ -21,7 +21,7 @@
var other;
CWithTypeParameter(this._) : other = _;
-//^
-// [analyzer] unspecified
-// [cfe] unspecified
+// ^
+// [analyzer] COMPILE_TIME_ERROR.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
+// [cfe] Can't access 'this' in a field initializer to read '_'.
}
diff --git a/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_multiple_error_test.dart b/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_multiple_error_test.dart
index 3c16959..c8677db 100644
--- a/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_multiple_error_test.dart
+++ b/tests/language/wildcard_variables/initializing_formal_parameters/this_initializer_multiple_error_test.dart
@@ -10,12 +10,12 @@
var _;
C(this._, this._);
-//^
-// [analyzer] unspecified
-// [cfe] unspecified
+// ^
+// [analyzer] COMPILE_TIME_ERROR.DUPLICATE_FIELD_FORMAL_PARAMETER
+// [cfe] '_' was already initialized by this constructor.
C.named(this._, this._);
-//^
-// [analyzer] unspecified
-// [cfe] unspecified
+// ^
+// [analyzer] COMPILE_TIME_ERROR.DUPLICATE_FIELD_FORMAL_PARAMETER
+// [cfe] '_' was already initialized by this constructor.
}
diff --git a/tests/language/wildcard_variables/multiple/local_declaration_type_parameter_error_test.dart b/tests/language/wildcard_variables/multiple/local_declaration_type_parameter_error_test.dart
index 6a34780..9643100 100644
--- a/tests/language/wildcard_variables/multiple/local_declaration_type_parameter_error_test.dart
+++ b/tests/language/wildcard_variables/multiple/local_declaration_type_parameter_error_test.dart
@@ -9,5 +9,8 @@
void genericFunction<_ extends void Function<_>(_, _), _>() {}
// ^
-// [analyzer] unspecified
-// [cfe] unspecified
+// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
+// [cfe] Type '_' not found.
+// ^
+// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
+// [cfe] Type '_' not found.
diff --git a/tests/standalone/io/zlib_test.dart b/tests/standalone/io/zlib_test.dart
index 27c3c7e..ce9299f 100644
--- a/tests/standalone/io/zlib_test.dart
+++ b/tests/standalone/io/zlib_test.dart
@@ -261,37 +261,54 @@
});
}
-void testConcatenatedBlocks() {
- for (var gzip in [true, false]) {
- for (var strategy in [
- ZLibOption.strategyFiltered,
- ZLibOption.strategyHuffmanOnly,
- ZLibOption.strategyRle,
- ZLibOption.strategyFixed,
- ZLibOption.strategyDefault,
- ]) {
- final compressedData = [
- ...ZLibEncoder(gzip: gzip, strategy: strategy).convert([1, 2, 3]),
- ...ZLibEncoder(gzip: gzip, strategy: strategy).convert([4, 5, 6])
- ];
- final decodedData = new ZLibDecoder().convert(compressedData);
- Expect.listEquals([1, 2, 3, 4, 5, 6], decodedData);
- }
- }
+void testConcatenatedBlocksGZip() {
+ /// gzip files consist of concatenated compressed data sets.
+ /// See RFC-1952.
+ final compressedData = [
+ ...ZLibEncoder().convert([1, 2, 3]),
+ ...ZLibEncoder().convert([4, 5, 6])
+ ];
+ final decodedData = new ZLibDecoder(gzip: true).convert(compressedData);
+ Expect.listEquals([1, 2, 3, 4, 5, 6], decodedData);
}
-void testInvalidDataAfterBlock() {
- for (var gzip in [true, false]) {
- final compressedData = [
- ...ZLibEncoder(gzip: gzip).convert([1, 2, 3]),
- 1,
- 2,
- 3
- ];
+void testConcatenatedBlocksZLib() {
+ // RFC-1950 says: Any data which may appear after ADLER32 are not part of
+ // the zlib stream.
+ final compressedData = [
+ ...ZLibEncoder().convert([1, 2, 3]),
+ ...ZLibEncoder().convert([4, 5, 6])
+ ];
+ final decodedData = new ZLibDecoder(gzip: false).convert(compressedData);
+ Expect.listEquals([1, 2, 3], decodedData);
+}
- Expect.throwsFormatException(
- () => new ZLibDecoder().convert(compressedData));
- }
+void testInvalidDataAfterBlockGZip() {
+ /// gzip files consist of concatenated compressed data sets.
+ /// See RFC-1952.
+ final compressedData = [
+ ...ZLibEncoder().convert([1, 2, 3]),
+ 1,
+ 2,
+ 3
+ ];
+
+ Expect.throwsFormatException(
+ () => new ZLibDecoder(gzip: true).convert(compressedData));
+}
+
+void testInvalidDataAfterBlockZLib() {
+ // RFC-1950 says: Any data which may appear after ADLER32 are not part of
+ // the zlib stream.
+ final compressedData = [
+ ...ZLibEncoder().convert([1, 2, 3]),
+ 1,
+ 2,
+ 3
+ ];
+
+ final decodedData = new ZLibDecoder(gzip: false).convert(compressedData);
+ Expect.listEquals([1, 2, 3], decodedData);
}
var generateListTypes = [
@@ -337,7 +354,9 @@
testZlibInflateWithLargerWindow();
testRoundTripLarge();
testZlibWithDictionary();
- testConcatenatedBlocks();
- testInvalidDataAfterBlock();
+ testConcatenatedBlocksGZip();
+ testConcatenatedBlocksZLib();
+ testInvalidDataAfterBlockGZip();
+ testInvalidDataAfterBlockZLib();
asyncEnd();
}
diff --git a/tools/VERSION b/tools/VERSION
index bb1eb9d..f3ab258 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 3
MINOR 6
PATCH 0
-PRERELEASE 164
+PRERELEASE 165
PRERELEASE_PATCH 0