@pdfme/ui 6.1.1-dev.5 → 6.1.1-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -45684,10 +45684,53 @@ function parseExpressionAt(input, pos, options) {
45684
45684
  //#endregion
45685
45685
  //#region ../common/dist/index.js
45686
45686
  var PDFME_VERSION = "6.1.1";
45687
+ var PAGE_SIZE_PRESETS = {
45688
+ A3: {
45689
+ width: 297,
45690
+ height: 420
45691
+ },
45692
+ A4: {
45693
+ width: 210,
45694
+ height: 297
45695
+ },
45696
+ A5: {
45697
+ width: 148,
45698
+ height: 210
45699
+ },
45700
+ A6: {
45701
+ width: 105,
45702
+ height: 148
45703
+ },
45704
+ B4: {
45705
+ width: 250,
45706
+ height: 353
45707
+ },
45708
+ B5: {
45709
+ width: 176,
45710
+ height: 250
45711
+ },
45712
+ B6: {
45713
+ width: 125,
45714
+ height: 176
45715
+ },
45716
+ Letter: {
45717
+ width: 215.9,
45718
+ height: 279.4
45719
+ },
45720
+ Legal: {
45721
+ width: 215.9,
45722
+ height: 355.6
45723
+ },
45724
+ Tabloid: {
45725
+ width: 279.4,
45726
+ height: 431.8
45727
+ }
45728
+ };
45687
45729
  var PT_TO_PX_RATIO = 1.333;
45688
45730
  var PT_TO_MM_RATIO = .3528;
45689
45731
  var MM_TO_PT_RATIO = 2.8346;
45690
45732
  var ZOOM = 3.7795275591;
45733
+ ({ ...PAGE_SIZE_PRESETS.A4 });
45691
45734
  var DEFAULT_FONT_NAME = "Roboto";
45692
45735
  var DEFAULT_FONT_VALUE = "data:font/ttf;base64,AAEAAAASAQAABAAgR0RFRnC0bdgAAZ5sAAAB6kdQT1NkXoqhAAGgWAAATupHU1VCkelnxAAB70QAAArqT1MvMpeCsagAAY6UAAAAYGNtYXB2x/gVAAGS7AAABoJjdnQgK6gHnQABnHgAAABUZnBnbXf4YKsAAZlwAAABvGdhc3AACAATAAGeYAAAAAxnbHlmxN9wNgAAASwAAXVgaGRtePYJ5OcAAY70AAAD+GhlYWT8atJ6AAF+iAAAADZoaGVhCroJjAABjnAAAAAkaG10eJzOM3IAAX7AAAAPsGxvY2Hgan/CAAF2rAAAB9ptYXhwBhwDCQABdowAAAAgbmFtZRpVORAAAZzMAAABdHBvc3T/bQBkAAGeQAAAACBwcmVwomb6yQABmywAAAFJAAUAZAAAAygFsAADAAYACQAMAA8AcbIMEBEREjmwDBCwANCwDBCwBtCwDBCwCdCwDBCwDdAAsABFWLACLxuxAh4+WbAARViwAC8bsQASPlmyBAIAERI5sgUCABESObIHAgAREjmyCAIAERI5sQoM9LIMAgAREjmyDQIAERI5sAIQsQ4M9DAxISERIQMRAQERAQMhATUBIQMo/TwCxDb+7v66AQzkAgP+/gEC/f0FsPqkBQf9fQJ3+xECeP1eAl6IAl4AAgCg//UBewWwAAMADAAwALAARViwAi8bsQIePlmwAEVYsAsvG7ELEj5ZsQYFsAorWCHYG/RZsgEGAhESOTAxASMDMwM0NjIWFAYiJgFbpw3CyTdsODhsNwGbBBX6rS09PVo7OwAAAgCIBBICIwYAAAQACQAZALADL7ICCgMREjmwAi+wB9CwAxCwCNAwMQEDIxMzBQMjEzMBFR5vAYwBDh5vAYwFeP6aAe6I/poB7gACAHcAAATTBbAAGwAfAJEAsABFWLAMLxuxDB4+WbAARViwEC8bsRAePlmwAEVYsAIvG7ECEj5ZsABFWLAaLxuxGhI+WbIdDAIREjl8sB0vGLEAA7AKK1gh2Bv0WbAE0LAdELAG0LAdELAL0LALL7EIA7AKK1gh2Bv0WbALELAO0LALELAS0LAIELAU0LAdELAW0LAAELAY0LAIELAe0DAxASEDIxMjNSETITUhEzMDIRMzAzMVIwMzFSMDIwMhEyEC/f74UI9Q7wEJRf7+AR1Sj1IBCFKQUsznReH7UJCeAQhF/vgBmv5mAZqJAWKLAaD+YAGg/mCL/p6J/mYCIwFiAAABAG7/MAQRBpwAKwBpALAARViwCS8bsQkePlmwAEVYsCIvG7EiEj5ZsgIiCRESObAJELAM0LAJELAQ0LAJELETAbAKK1gh2Bv0WbACELEZAbAKK1gh2Bv0WbAiELAf0LAiELAm0LAiELEpAbAKK1gh2Bv0WTAxATQmJyYmNTQ2NzUzFRYWFSM0JiMiBhUUFgQWFhUUBgcVIzUmJjUzFBYzMjYDWIGZ1cO/p5Wou7iGcnd+hQExq1HLt5S607mShoOWAXdcfjNB0aGk0hTb3BfszY2me25meWN3nmqpzhO/vxHnxouWfgAABQBp/+sFgwXFAA0AGgAmADQAOAB8ALAARViwAy8bsQMePlmwAEVYsCMvG7EjEj5ZsAMQsArQsAovsREEsAorWCHYG/RZsAMQsRgEsAorWCHYG/RZsCMQsB3QsB0vsCMQsSoEsAorWCHYG/RZsB0QsTEEsAorWCHYG/RZsjUjAxESObA1L7I3AyMREjmwNy8wMRM0NjMyFhUVFAYjIiY1FxQWMzI2NTU0JiIGFQE0NiAWFRUUBiAmNRcUFjMyNjU1NCYjIgYVBScBF2mng4Wlp4GCqopYSkdXVpRWAjunAQaop/78qopYSkhWV0lHWf4HaQLHaQSYg6qriEeEp6eLB05lYlVJTmZmUvzRg6moi0eDqaeLBk9lY1VKT2RjVPNCBHJCAAMAZf/sBPMFxAAeACcAMwCHALAARViwCS8bsQkePlmwAEVYsBwvG7EcEj5ZsABFWLAYLxuxGBI+WbIiHAkREjmyKgkcERI5sgMiKhESObIQKiIREjmyEQkcERI5shMcCRESObIZHAkREjmyFhEZERI5sBwQsR8BsAorWCHYG/RZsiEfERESObAJELExAbAKK1gh2Bv0WTAxEzQ2NyYmNTQ2MzIWFRQGBwcBNjUzFAcXIycGBiMiJAUyNwEHBhUUFgMUFzc2NjU0JiMiBmV1pWFCxKiWxFlvawFERKd70N5hSsdn1f7+AdeTev6dIaeZInZ2RDJkTFJgAYdpsHV2kEemvK+FWJVST/59gp//qPlzQkXiS3ABqRh7gnaOA+VgkFMwVz5DWW8AAQBnBCEA/QYAAAQAEACwAy+yAgUDERI5sAIvMDETAyMTM/0VgQGVBZH+kAHfAAEAhf4qApUGawARAAkAsA4vsAQvMDETNBISNxcGAgMHEBMWFwcmJwKFefCBJpK7CQGNVXUmhXnsAk/iAaABVEZ6cP40/uNV/n7+5KpgcUquAVQAAAEAJv4qAjcGawARAAkAsA4vsAQvMDEBFAICByc2EhM1NAICJzcWEhICN3XxhCeauwJYnWInhO93AkXf/mf+pklxdgHxAS8g0gFpAR5QcUn+qv5kAAEAHAJhA1UFsAAOACAAsABFWLAELxuxBB4+WbAA0BmwAC8YsAnQGbAJLxgwMQElNwUDMwMlFwUTBwMDJwFK/tIuAS4JmQoBKS7+zcZ8urR9A9dal3ABWP6jbphb/vFeASD+51sAAAEATgCSBDQEtgALABsAsAkvsADQsAkQsQYBsAorWCHYG/RZsAPQMDEBIRUhESMRITUhETMCngGW/mq6/moBlroDDa/+NAHMrwGpAAABAB3+3gE0ANsACAAYALAJL7EEBbAKK1gh2Bv0WbAA0LAALzAxEyc2NzUzFRQGhmleBLVj/t5Ig4unkWXKAAEAJQIfAg0CtgADABIAsAIvsQEBsAorWCHYG/RZMDEBITUhAg3+GAHoAh+XAAABAJD/9QF2ANEACQAcALAARViwBy8bsQcSPlmxAgWwCitYIdgb9FkwMTc0NjIWFRQGIiaQOXI7O3I5YTBAQDAuPj4AAAEAEv+DAxAFsAADABMAsAAvsABFWLACLxuxAh4+WTAxFyMBM7GfAmCefQYtAAACAHP/7AQKBcQADQAbADsAsABFWLAKLxuxCh4+WbAARViwAy8bsQMSPlmwChCxEQGwCitYIdgb9FmwAxCxGAGwCitYIdgb9FkwMQEQAiMiAgM1EBIzMhITJzQmIyIGBxEUFjMyNjcECt7s6eAE3u3r3gO5hI+OggKJi4mFAwJt/rv+xAE1ATP3AUEBOP7T/sYN69fW3v7Y7OHU5AABAKoAAALZBbcABgA6ALAARViwBS8bsQUePlmwAEVYsAAvG7EAEj5ZsgQABRESObAEL7EDAbAKK1gh2Bv0WbICAwUREjkwMSEjEQU1JTMC2br+iwISHQTRiajHAAEAXQAABDMFxAAXAE8AsABFWLAQLxuxEB4+WbAARViwAC8bsQASPlmxFwGwCitYIdgb9FmwAtCyAxAXERI5sBAQsQkBsAorWCHYG/RZsBAQsAzQshUXEBESOTAxISE1ATY2NTQmIyIGFSM0JDMyFhUUAQEhBDP8RgH4cFWKc4qZuQED2cvs/u7+egLbhQIwf59VcpKdjMn41bHX/tf+WQABAF7/7AP5BcQAJgB7ALAARViwDS8bsQ0ePlmwAEVYsBkvG7EZEj5ZsgANGRESObAAL7LPAAFdsp8AAXGyLwABXbJfAAFysA0QsQYBsAorWCHYG/RZsA0QsAnQsAAQsSYBsAorWCHYG/RZshMmABESObAZELAc0LAZELEfAbAKK1gh2Bv0WTAxATM2NjUQIyIGFSM0NjMyFhUUBgcWFhUUBCAkNTMUFjMyNjU0JicjAYaLg5b/eI+5/cPO6ntqeIP/AP5m/v+6ln6GjpyTiwMyAoZyAQCJca3l2sJfsiwmsH/E5t62c4qMg3+IAgAAAgA1AAAEUAWwAAoADgBKALAARViwCS8bsQkePlmwAEVYsAQvG7EEEj5ZsgEJBBESObABL7ECAbAKK1gh2Bv0WbAG0LABELAL0LIIBgsREjmyDQkEERI5MDEBMxUjESMRITUBMwEhEQcDhsrKuv1pAozF/YEBxRYB6Zf+rgFSbQPx/DkCyigAAAEAmv/sBC0FsAAdAGQAsABFWLABLxuxAR4+WbAARViwDS8bsQ0SPlmwARCxBAGwCitYIdgb9FmyBw0BERI5sAcvsRoBsAorWCHYG/RZsgUHGhESObANELAR0LANELEUAbAKK1gh2Bv0WbAHELAd0DAxExMhFSEDNjMyEhUUAiMiJiczFhYzMjY1NCYjIgcHzkoC6v2zLGuIx+rz2sH0Ea8RkHaBk5+EeUUxAtoC1qv+cz/++eDh/v3WvX1/sJuSsTUoAAACAIT/7AQcBbEAFAAhAFEAsABFWLAALxuxAB4+WbAARViwDS8bsQ0SPlmwABCxAQGwCitYIdgb9FmyBw0AERI5sAcvsRUBsAorWCHYG/RZsA0QsRwBsAorWCHYG/RZMDEBFSMGBAc2MzISFRQCIyIANTUQACUDIgYHFRQWMzI2NTQmA08i2P8AFHPHvuP1ztH+/AFXAVPSX6Afonl9j5EFsZ0E+OGE/vTU4f7yAUH9RwGSAakF/XByVkS03LiVlrkAAAEATQAABCUFsAAGADMAsABFWLAFLxuxBR4+WbAARViwAS8bsQESPlmwBRCxAwGwCitYIdgb9FmyAAMFERI5MDEBASMBITUhBCX9pcICWfzsA9gFSPq4BRiYAAMAcP/sBA4FxAAXACEAKwBkALAARViwFS8bsRUePlmwAEVYsAkvG7EJEj5ZsicJFRESObAnL7LPJwFdsRoBsAorWCHYG/RZsgMaJxESObIPJxoREjmwCRCxHwGwCitYIdgb9FmwFRCxIgGwCitYIdgb9FkwMQEUBgcWFhUUBiMiJjU0NjcmJjU0NjMyFgM0JiIGFBYzMjYBIgYVFBYyNjQmA+xzYnKF/9DS/YFyYXDswcDtl5v6l5ODgpT+6m2Hhd6FigQ0baowMbx3veDhvHa+MTCqbLjY2PyhepqY+I6PBBqHdG+Jid6MAAIAZP//A/gFxAAXACQAWwCwAEVYsAsvG7ELHj5ZsABFWLATLxuxExI+WbIDEwsREjmwAy+yAAMLERI5sBMQsRQBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZsAsQsR8BsAorWCHYG/RZMDEBBgYjIiYmNTQ2NjMyEhEVEAAFIzUzNjYlMjY3NTQmIyIGFRQWAz46oWB+u2ZvzIjY+f6w/q0kJ+X2/u5dnSSeeXqUjwKARVR84YiS6nz+vf7pNv5X/nkFnATn+nJUSrbku5mVwf//AIb/9QFtBEQAJgAS9gABBwAS//cDcwAQALAARViwDS8bsQ0aPlkwMf//ACn+3gFVBEQAJwAS/98DcwEGABAMAAAQALAARViwAy8bsQMaPlkwMQABAEgAwwN6BEoABgAWALAARViwBS8bsQUaPlmwAtCwAi8wMQEFFQE1ARUBCAJy/M4DMgKE/cQBe5IBesQAAAIAmAGPA9oDzwADAAcAJwCwBy+wA9CwAy+xAAGwCitYIdgb9FmwBxCxBAGwCitYIdgb9FkwMQEhNSERITUhA9r8vgNC/L4DQgMuof3AoAAAAQCGAMQD3ARLAAYAFgCwAEVYsAIvG7ECGj5ZsAXQsAUvMDEBATUBFQE1Axv9awNW/KoCigEDvv6Gkv6FwAACAEv/9QN2BcQAGAAhAFMAsABFWLAQLxuxEB4+WbAARViwIC8bsSASPlmxGwWwCitYIdgb9FmyABsQERI5sgQQABESObAQELEJAbAKK1gh2Bv0WbAQELAM0LIVABAREjkwMQE2Njc3NjU0JiMiBhUjNjYzMhYVFAcHBhUDNDYyFhQGIiYBZQIyTYNUbmlmfLkC47a906JtScE3bDg4bDcBmneKVIdfbWl3bFuix8uxr6psUZj+wy09PVo7OwAAAgBq/jsG1gWXADUAQgBsALAyL7AARViwCC8bsQgSPlmwA9CyDzIIERI5sA8vsgUIDxESObAIELE5ArAKK1gh2Bv0WbAV0LAyELEbArAKK1gh2Bv0WbAIELAq0LAqL7EjArAKK1gh2Bv0WbAPELFAArAKK1gh2Bv0WTAxAQYCIyInBgYjIiY3NhI2MzIWFwMGMzI2NxIAISIEAgcGEgQzMjY3FwYGIyIkAhMSEiQzMgQSAQYWMzI2NzcTJiMiBgbKDNi1uzU2i0qOkhMPeb9pUYBQNBOTcYwGE/65/rLJ/si0CwyQASfRWrU8JT7Nafr+mLMMDN4BfO/5AWSu+/IOUVg8byQBLjhAdZkB9vL+6KhVU+jNpQEDlCs//dbn4LQBhQGYx/6I9vj+k8EsI3MnMuEBpwEbARMBt+/g/lr+kI6YZl8JAfcd7gAAAgAcAAAFHQWwAAcACgBUsgoLDBESObAKELAE0ACwAEVYsAQvG7EEHj5ZsABFWLACLxuxAhI+WbAARViwBi8bsQYSPlmyCAQCERI5sAgvsQABsAorWCHYG/RZsgoEAhESOTAxASEDIwEzASMBIQMDzf2eicYCLKgCLcX9TQHv+AF8/oQFsPpQAhoCqQADAKkAAASIBbAADgAWAB8AWACwAEVYsAEvG7EBHj5ZsABFWLAALxuxABI+WbIXAAEREjmwFy+xDwGwCitYIdgb9FmyCA8XERI5sAAQsRABsAorWCHYG/RZsAEQsR8BsAorWCHYG/RZMDEzESEyFhUUBgcWFhUUBiMBESEyNjUQISUhMjY1NCYjIakB3O3vdGR2if7o/scBPYab/uL+wAEifpeMj/7kBbDEwGadKyG5gMTgAqn99It6AQeafmx4bQABAHf/7ATYBcQAHABHALAARViwCy8bsQsePlmwAEVYsAMvG7EDEj5ZsAsQsA/QsAsQsRIBsAorWCHYG/RZsAMQsRkBsAorWCHYG/RZsAMQsBzQMDEBBgQjIAARNTQSJDMyABcjJiYjIgIVFRQSMzI2NwTYG/7h7v7+/smRAQqv6AEYF8EZp5a40cayoKscAc7n+wFyATaMywE0pf795a6c/vD7je3+6JG0AAIAqQAABMYFsAALABUAOwCwAEVYsAEvG7EBHj5ZsABFWLAALxuxABI+WbABELEMAbAKK1gh2Bv0WbAAELENAbAKK1gh2Bv0WTAxMxEhMgQSFxUUAgQHAxEzMhI1NTQCJ6kBm74BJJ8Bn/7ZxNPK3vfp1gWwqP7KyV3O/sqmAgUS+4sBFP9V+AETAgAAAQCpAAAERgWwAAsAUQCwAEVYsAYvG7EGHj5ZsABFWLAELxuxBBI+WbILBAYREjmwCy+xAAGwCitYIdgb9FmwBBCxAgGwCitYIdgb9FmwBhCxCAGwCitYIdgb9FkwMQEhESEVIREhFSERIQPg/YkC3fxjA5P9LQJ3AqH9/J0FsJ7+LAAAAQCpAAAELwWwAAkAQgCwAEVYsAQvG7EEHj5ZsABFWLACLxuxAhI+WbIJAgQREjmwCS+xAAGwCitYIdgb9FmwBBCxBgGwCitYIdgb9FkwMQEhESMRIRUhESEDzP2dwAOG/ToCYwKD/X0FsJ7+DgABAHr/7ATcBcQAHwBsALAARViwCy8bsQsePlmwAEVYsAMvG7EDEj5ZsAsQsA/QsAsQsREBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZsh4DCxESObAeL7S/Hs8eAl20Dx4fHgJdtD8eTx4CXbEdAbAKK1gh2Bv0WTAxJQYEIyIkAic1EAAhMgQXIwIhIgIDFRQSMzI2NxEhNSEE3Er+97Cy/uyXAgEzARbkARYfwDb+3sHHAeC/bKI1/q8CEL9qaacBNMt/AUkBaunWASH+8f7/d/X+3zA5AUecAAEAqQAABQgFsAALAGcAsABFWLAGLxuxBh4+WbAARViwCi8bsQoePlmwAEVYsAAvG7EAEj5ZsABFWLAELxuxBBI+WbAAELAJ0LAJL7LvCQFdtM8J3wkCcbKPCQFxsi8JAV2ynwkBcrECAbAKK1gh2Bv0WTAxISMRIREjETMRIREzBQjB/SLAwALewQKh/V8FsP2OAnIAAAEAtwAAAXcFsAADAB0AsABFWLACLxuxAh4+WbAARViwAC8bsQASPlkwMSEjETMBd8DABbAAAAEANf/sA8wFsAAPAC8AsABFWLAALxuxAB4+WbAARViwBS8bsQUSPlmwCdCwBRCxDAGwCitYIdgb9FkwMQEzERQGIyImNTMUFjMyNjcDC8H70dnywImCd5MBBbD7+dHs3sh9jJaHAAEAqQAABQUFsAALAHQAsABFWLAFLxuxBR4+WbAARViwBy8bsQcePlmwAEVYsAIvG7ECEj5ZsABFWLALLxuxCxI+WbIAAgUREjlAEUoAWgBqAHoAigCaAKoAugAIXbI5AAFdsgYFAhESOUATNgZGBlYGZgZ2BoYGlgamBrYGCV0wMQEHESMRMxEBMwEBIwIbssDAAofo/cMCauYCpbn+FAWw/TAC0P19/NMAAQCpAAAEHAWwAAUAKQCwAEVYsAQvG7EEHj5ZsABFWLACLxuxAhI+WbEAAbAKK1gh2Bv0WTAxJSEVIREzAWoCsvyNwZ2dBbAAAQCpAAAGUgWwAA4AWQCwAEVYsAAvG7EAHj5ZsABFWLACLxuxAh4+WbAARViwBC8bsQQSPlmwAEVYsAgvG7EIEj5ZsABFWLAMLxuxDBI+WbIBAAQREjmyBwAEERI5sgoABBESOTAxCQIzESMREwEjARMRIxEBoQHcAdz5wBL+IpP+IxPABbD7XASk+lACNwJk+2UEmP2f/ckFsAAAAQCpAAAFCAWwAAkATLIBCgsREjkAsABFWLAFLxuxBR4+WbAARViwCC8bsQgePlmwAEVYsAAvG7EAEj5ZsABFWLADLxuxAxI+WbICBQAREjmyBwUAERI5MDEhIwERIxEzAREzBQjB/SPBwQLfvwRi+54FsPuZBGcAAgB2/+wFCQXEABEAHwA7ALAARViwDS8bsQ0ePlmwAEVYsAQvG7EEEj5ZsA0QsRUBsAorWCHYG/RZsAQQsRwBsAorWCHYG/RZMDEBFAIEIyIkAic1NBIkMzIEEhUnEAIjIgIHFRQSMzISNwUJkP74sKz+9pMCkgELrK8BC5C/0Lu20QPTubrMAwKp1v7BqKkBOc5p0gFCq6n+v9UCAQMBFf7r9mv7/uEBD/0AAAIAqQAABMAFsAAKABMAT7IKFBUREjmwChCwDNAAsABFWLADLxuxAx4+WbAARViwAS8bsQESPlmyCwMBERI5sAsvsQABsAorWCHYG/RZsAMQsRIBsAorWCHYG/RZMDEBESMRITIEFRQEIyUhMjY1NCYnIQFpwAIZ7wEP/vf3/qkBWZqkpI/+nAI6/cYFsPTJ1OWdkYmCnAMAAgBt/woFBgXEABUAIgBPsggjJBESObAIELAZ0ACwAEVYsBEvG7ERHj5ZsABFWLAILxuxCBI+WbIDCBEREjmwERCxGQGwCitYIdgb9FmwCBCxIAGwCitYIdgb9FkwMQEUAgcFByUGIyIkAic1NBIkMzIEEhUnEAIjIgIHFRQSIBI3BQGGeQEEg/7NSFCs/vaTApIBC6ywAQuQwM2+tdED0QF0zAMCqdP+z1bMefQSqQE5zmnSAUKrqv7B1QEBAQEX/uv2a/r+4AEP/QAAAgCoAAAEyQWwAA4AFwBjsgUYGRESObAFELAW0ACwAEVYsAQvG7EEHj5ZsABFWLACLxuxAhI+WbAARViwDS8bsQ0SPlmyEAQCERI5sBAvsQABsAorWCHYG/RZsgsABBESObAEELEWAbAKK1gh2Bv0WTAxASERIxEhMgQVFAYHARUjASEyNjU0JichAr/+qsEB4vYBCZODAVbO/W4BJ4+poZj+2gJN/bMFsODWiMoy/ZYMAuqUfIeQAQAAAQBQ/+wEcgXEACYAZLIAJygREjkAsABFWLAGLxuxBh4+WbAARViwGi8bsRoSPlmwBhCwC9CwBhCxDgGwCitYIdgb9FmyJhoGERI5sCYQsRQBsAorWCHYG/RZsBoQsB/QsBoQsSIBsAorWCHYG/RZMDEBJiY1NCQzMhYWFSM0JiMiBhUUFgQWFhUUBCMiJCY1MxQWMzI2NCYCVvfhARPcluuBwaiZjp+XAWvNY/7s55b+/I3Bw6OYopYCiUfPmKzhdMx5hJd9b1l7Znukb7HVc8h/hJl81nUAAQAxAAAElwWwAAcALwCwAEVYsAYvG7EGHj5ZsABFWLACLxuxAhI+WbAGELEAAbAKK1gh2Bv0WbAE0DAxASERIxEhNSEEl/4sv/4tBGYFEvruBRKeAAABAIz/7ASqBbAAEgA9sgUTFBESOQCwAEVYsAAvG7EAHj5ZsABFWLAJLxuxCR4+WbAARViwBS8bsQUSPlmxDgGwCitYIdgb9FkwMQERBgAHByIAJxEzERQWMzI2NREEqgH+/9wz7/7kAr6uoaOtBbD8Is7++hACAQLiA+D8Jp6vrp4D2wABABwAAAT9BbAABgA4sgAHCBESOQCwAEVYsAEvG7EBHj5ZsABFWLAFLxuxBR4+WbAARViwAy8bsQMSPlmyAAEDERI5MDElATMBIwEzAosBoNL95Kr95dH/BLH6UAWwAAABAD0AAAbtBbAAEgBZALAARViwAy8bsQMePlmwAEVYsAgvG7EIHj5ZsABFWLARLxuxER4+WbAARViwCi8bsQoSPlmwAEVYsA8vG7EPEj5ZsgEDChESObIGAwoREjmyDQMKERI5MDEBFzcBMwEXNxMzASMBJwcBIwEzAeMcKQEgogEZKB/iwf6fr/7UFxf+ya/+oMABy8CtA/j8CLDEA+T6UAQlb2/72wWwAAEAOQAABM4FsAALAGsAsABFWLABLxuxAR4+WbAARViwCi8bsQoePlmwAEVYsAQvG7EEEj5ZsABFWLAHLxuxBxI+WbIAAQQREjlACYYAlgCmALYABF2yBgEEERI5QAmJBpkGqQa5BgRdsgMABhESObIJBgAREjkwMQEBMwEBIwEBIwEBMwKEAV3i/jQB1+T+mv6Y4wHY/jPhA4ICLv0u/SICOP3IAt4C0gAAAQAPAAAEuwWwAAgAMQCwAEVYsAEvG7EBHj5ZsABFWLAHLxuxBx4+WbAARViwBC8bsQQSPlmyAAEEERI5MDEBATMBESMRATMCZQF82v4KwP4K3ALVAtv8b/3hAh8DkQAAAQBWAAAEegWwAAkARgCwAEVYsAcvG7EHHj5ZsABFWLACLxuxAhI+WbEAAbAKK1gh2Bv0WbIEAAIREjmwBxCxBQGwCitYIdgb9FmyCQUHERI5MDElIRUhNQEhNSEVATkDQfvcAx787wP3nZ2QBIKejQAAAQCS/sgCCwaAAAcAJACwBC+wBy+xAAGwCitYIdgb9FmwBBCxAwGwCitYIdgb9FkwMQEjETMVIREhAgu/v/6HAXkF6Pl4mAe4AAABACj/gwM4BbAAAwATALACL7AARViwAC8bsQAePlkwMRMzASMosAJgsAWw+dMAAQAJ/sgBgwaAAAcAJwCwAi+wAS+wAhCxBQGwCitYIdgb9FmwARCxBgGwCitYIdgb9FkwMRMhESE1MxEjCQF6/obBwQaA+EiYBogAAAEAQALZAxQFsAAGACeyAAcIERI5ALAARViwAy8bsQMePlmwANCyAQcDERI5sAEvsAXQMDEBAyMBMwEjAaq+rAErfwEqqwS7/h4C1/0pAAEABP9pA5gAAAADABwAsABFWLADLxuxAxI+WbEAAbAKK1gh2Bv0WTAxBSE1IQOY/GwDlJeXAAEAOQTaAdoGAAADACMAsAEvsg8BAV2wANAZsAAvGLABELAC0LACL7QPAh8CAl0wMQEjATMB2p/+/t8E2gEmAAACAG3/7APqBE4AHgAoAHyyFykqERI5sBcQsCDQALAARViwFy8bsRcaPlmwAEVYsAQvG7EEEj5ZsABFWLAALxuxABI+WbICFwQREjmyCxcEERI5sAsvsBcQsQ8BsAorWCHYG/RZshILFxESObAEELEfAbAKK1gh2Bv0WbALELEjAbAKK1gh2Bv0WTAxISYnBiMiJjU0JDMzNTQmIyIGFSM0NjYzMhYXERQXFSUyNjc1IyAVFBYDKBAKgbOgzQEB6bR0cWOGunPFdrvUBCb+C1ecI5H+rHQgUoa1i6m7VWFzZEdRl1i7pP4OlVgQjVpI3sdXYgAAAgCM/+wEIAYAAA4AGQBmshIaGxESObASELAD0ACwCC+wAEVYsAwvG7EMGj5ZsABFWLADLxuxAxI+WbAARViwBi8bsQYSPlmyBQgDERI5sgoMAxESObAMELESAbAKK1gh2Bv0WbADELEXAbAKK1gh2Bv0WTAxARQCIyInByMRMxE2IBIRJzQmIyIHERYzMjYEIOTAzXAJqrlwAYrhuZKJt1BVtIWUAhH4/tORfQYA/cOL/tb+/QW9zqr+LKrOAAEAXP/sA+wETgAdAEuyEB4fERI5ALAARViwEC8bsRAaPlmwAEVYsAgvG7EIEj5ZsQABsAorWCHYG/RZsAgQsAPQsBAQsBTQsBAQsRcBsAorWCHYG/RZMDElMjY3Mw4CIyIAETU0NjYzMhYXIyYmIyIGFRUUFgI+Y5QIrwV2xW7d/vt02ZS28QivCI9pjZuag3haXahkAScBAB+e9ojarmmHy8Aju8oAAAIAX//sA/AGAAAPABoAZrIYGxwREjmwGBCwA9AAsAYvsABFWLADLxuxAxo+WbAARViwDC8bsQwSPlmwAEVYsAgvG7EIEj5ZsgUDDBESObIKAwwREjmwDBCxEwGwCitYIdgb9FmwAxCxGAGwCitYIdgb9FkwMRM0EjMyFxEzESMnBiMiAjUXFBYzMjcRJiMiBl/sv75vuaoJb8a87bmYhrBRU6yImAIm+QEvggI0+gB0iAE0+Ae40J4B8ZnSAAACAF3/7APzBE4AFQAdAGyyCB4fERI5sAgQsBbQALAARViwCC8bsQgaPlmwAEVYsAAvG7EAEj5ZshoIABESObAaL7S/Gs8aAl2xDAGwCitYIdgb9FmwABCxEAGwCitYIdgb9FmyEwgAERI5sAgQsRYBsAorWCHYG/RZMDEFIgA1NTQ2NjMyEhEVIRYWMzI2NxcGASIGByE1JiYCTdz+7HvdgdPq/SMEs4piiDNxiP7ZcJgSAh4IiBQBIfIiof2P/ur+/U2gxVBCWNEDyqOTDo2bAAABADwAAALKBhUAFQBlsg8WFxESOQCwAEVYsAgvG7EIID5ZsABFWLADLxuxAxo+WbAARViwES8bsREaPlmwAEVYsAAvG7EAEj5ZsAMQsQEBsAorWCHYG/RZsAgQsQ0BsAorWCHYG/RZsAEQsBPQsBTQMDEzESM1MzU0NjMyFwcmIyIGFRUzFSMR56uruqpAPwovNVpi5+cDq49vrr4RlglpYnKP/FUAAgBg/lYD8gROABkAJACGsiIlJhESObAiELAL0ACwAEVYsAMvG7EDGj5ZsABFWLAGLxuxBho+WbAARViwCy8bsQsUPlmwAEVYsBcvG7EXEj5ZsgUDFxESObIPFwsREjmwCxCxEQGwCitYIdgb9FmyFQMXERI5sBcQsR0BsAorWCHYG/RZsAMQsSIBsAorWCHYG/RZMDETNBIzMhc3MxEUBiMiJic3FjMyNjU1BiMiAjcUFjMyNxEmIyIGYOrBxm8JqfnSdeA7YHesh5dvwL7rupaHr1JVqoeYAib9ASuMePvg0vJkV2+TmIpdgAEy87fRnwHum9IAAQCMAAAD3wYAABEASrIKEhMREjkAsBAvsABFWLACLxuxAho+WbAARViwBS8bsQUSPlmwAEVYsA4vG7EOEj5ZsgACBRESObACELEKAbAKK1gh2Bv0WTAxATYzIBMRIxEmJiMiBgcRIxEzAUV7xQFXA7kBaW9aiCa5uQO3l/59/TUCzHVwYE78/QYAAAACAI0AAAFoBcQAAwAMAD+yBg0OERI5sAYQsAHQALAARViwAi8bsQIaPlmwAEVYsAAvG7EAEj5ZsAIQsArQsAovsQYFsAorWCHYG/RZMDEhIxEzAzQ2MhYUBiImAVW5ucg3bDg4bDcEOgEfLT4+Wjw8AAAC/7/+SwFZBcQADAAWAEuyEBcYERI5sBAQsADQALAARViwDC8bsQwaPlmwAEVYsAMvG7EDFD5ZsQgBsAorWCHYG/RZsAwQsBXQsBUvsRAFsAorWCHYG/RZMDEBERAhIic1FjMyNjURAzQ2MzIWFAYiJgFL/uU9NCA0PkETNzU2ODhsNgQ6+0n+yBKUCENTBLsBHyw/Plo8PAAAAQCNAAAEDAYAAAwAdQCwAEVYsAQvG7EEID5ZsABFWLAILxuxCBo+WbAARViwAi8bsQISPlmwAEVYsAsvG7ELEj5ZsgAIAhESOUAVOgBKAFoAagB6AIoAmgCqALoAygAKXbIGCAIREjlAFTYGRgZWBmYGdgaGBpYGpga2BsYGCl0wMQEHESMRMxE3ATMBASMBunS5uWMBUeH+WwHW2QH1ef6EBgD8X3cBZP48/YoAAQCcAAABVQYAAAMAHQCwAEVYsAIvG7ECID5ZsABFWLAALxuxABI+WTAxISMRMwFVubkGAAAAAQCLAAAGeAROAB0AeLIEHh8REjkAsABFWLADLxuxAxo+WbAARViwCC8bsQgaPlmwAEVYsAAvG7EAGj5ZsABFWLALLxuxCxI+WbAARViwFC8bsRQSPlmwAEVYsBsvG7EbEj5ZsgEICxESObIFCAsREjmwCBCxEAGwCitYIdgb9FmwGNAwMQEXNjMyFzY2MyATESMRNCYjIgYHESMRNCMiBxEjEQE6BXfK41I2rXYBZAa5an1niAu657ZDuQQ6eIyuTmD+h/0rAsp0c3to/TICxeyb/OoEOgAAAQCMAAAD3wROABEAVLILEhMREjkAsABFWLADLxuxAxo+WbAARViwAC8bsQAaPlmwAEVYsAYvG7EGEj5ZsABFWLAPLxuxDxI+WbIBAwYREjmwAxCxCwGwCitYIdgb9FkwMQEXNjMgExEjESYmIyIGBxEjEQE7BnzIAVcDuQFpb1qIJrkEOoic/n39NQLMdXBgTvz9BDoAAgBb/+wENAROAA8AGwBFsgwcHRESObAMELAT0ACwAEVYsAQvG7EEGj5ZsABFWLAMLxuxDBI+WbETAbAKK1gh2Bv0WbAEELEZAbAKK1gh2Bv0WTAxEzQ2NjMyABUVFAYGIyIANRcUFjMyNjU0JiMiBlt934/dARF54ZLc/u+6p4yNpqmMiagCJ5/+iv7O/g2e+4wBMvwJtNrdx7Ld2gACAIz+YAQeBE4ADwAaAHCyExscERI5sBMQsAzQALAARViwDC8bsQwaPlmwAEVYsAkvG7EJGj5ZsABFWLAGLxuxBhQ+WbAARViwAy8bsQMSPlmyBQwDERI5sgoMAxESObAMELETAbAKK1gh2Bv0WbADELEYAbAKK1gh2Bv0WTAxARQCIyInESMRMxc2MzISESc0JiMiBxEWMzI2BB7iwcVxuakJccnD47mciKhUU6uFnQIR9/7Sff33Bdp4jP7a/voEt9SV/fuU0wAAAgBf/mAD7wROAA8AGgBtshgbHBESObAYELAD0ACwAEVYsAMvG7EDGj5ZsABFWLAGLxuxBho+WbAARViwCC8bsQgUPlmwAEVYsAwvG7EMEj5ZsgUDDBESObIKAwwREjmxEwGwCitYIdgb9FmwAxCxGAGwCitYIdgb9FkwMRM0EjMyFzczESMRBiMiAjUXFBYzMjcRJiMiBl/qxcBvCKq5cLrE6bmdhaVXWKKGngIm/wEpgW36JgIEeAEx/Ai61JICEo/VAAEAjAAAApcETgANAEeyBA4PERI5ALAARViwCy8bsQsaPlmwAEVYsAgvG7EIGj5ZsABFWLAFLxuxBRI+WbALELECAbAKK1gh2Bv0WbIJCwUREjkwMQEmIyIHESMRMxc2MzIXApcqMbZBubQDW6c2HAOUB5v9AAQ6fZEOAAABAF//7AO7BE4AJgBksgknKBESOQCwAEVYsAkvG7EJGj5ZsABFWLAcLxuxHBI+WbIDHAkREjmwCRCwDdCwCRCxEAGwCitYIdgb9FmwAxCxFQGwCitYIdgb9FmwHBCwIdCwHBCxJAGwCitYIdgb9FkwMQE0JiQmJjU0NjMyFhUjNCYjIgYVFBYEFhYVFAYjIiYmNTMWFjMyNgMCcf7npU/hr7jluoFiZXJqARWsU+i5gshxuQWLcml/AR9LUzxUdFCFuL6UTG5YR0NEPlZ5V5GvXKVgXW1VAAABAAn/7AJWBUAAFQBhsg4WFxESOQCwAEVYsAEvG7EBGj5ZsABFWLATLxuxExo+WbAARViwDS8bsQ0SPlmwARCwANCwAC+wARCxAwGwCitYIdgb9FmwDRCxCAGwCitYIdgb9FmwAxCwEdCwEtAwMQERMxUjERQWMzI3FQYjIiY1ESM1MxEBh8rKNkEgOElFfH7FxQVA/vqP/WFBQQyWFJaKAp+PAQYAAQCI/+wD3AQ6ABAAVLIKERIREjkAsABFWLAGLxuxBho+WbAARViwDS8bsQ0aPlmwAEVYsAIvG7ECEj5ZsABFWLAQLxuxEBI+WbIADQIREjmwAhCxCgGwCitYIdgb9FkwMSUGIyImJxEzERQzMjcRMxEjAyhs0a21AbnI1Ea5sGt/ycUCwP1F9p4DE/vGAAEAIQAAA7oEOgAGADiyAAcIERI5ALAARViwAS8bsQEaPlmwAEVYsAUvG7EFGj5ZsABFWLADLxuxAxI+WbIABQMREjkwMSUBMwEjATMB8QEMvf58jf54vfsDP/vGBDoAAAEAKwAABdMEOgAMAGCyBQ0OERI5ALAARViwAS8bsQEaPlmwAEVYsAgvG7EIGj5ZsABFWLALLxuxCxo+WbAARViwAy8bsQMSPlmwAEVYsAYvG7EGEj5ZsgALAxESObIFCwMREjmyCgsDERI5MDElEzMBIwEBIwEzExMzBErQuf7Flv75/wCW/sa41fyV/wM7+8YDNPzMBDr81gMqAAEAKQAAA8oEOgALAFMAsABFWLABLxuxARo+WbAARViwCi8bsQoaPlmwAEVYsAQvG7EEEj5ZsABFWLAHLxuxBxI+WbIACgQREjmyBgoEERI5sgMABhESObIJBgAREjkwMQETMwEBIwMDIwEBMwH38Nj+ngFt1vr61wFt/p7WAq8Bi/3p/d0Blf5rAiMCFwABABb+SwOwBDoADwBKsgAQERESOQCwAEVYsAEvG7EBGj5ZsABFWLAOLxuxDho+WbAARViwBS8bsQUUPlmyAA4FERI5sQkBsAorWCHYG/RZsAAQsA3QMDEBEzMBAiMnJzUXMjY3NwEzAe78xv5NZdwjRTJeaSIp/n7KAQ8DK/sf/vIDDZYETGVuBC4AAAEAWAAAA7MEOgAJAEYAsABFWLAHLxuxBxo+WbAARViwAi8bsQISPlmxAAGwCitYIdgb9FmyBAACERI5sAcQsQUBsAorWCHYG/RZsgkFBxESOTAxJSEVITUBITUhFQE6Ann8pQJV/bQDNJeXiAMZmYMAAAEAQP6SAp4GPQAYADKyExkaERI5ALANL7AAL7IHDQAREjmwBy+yHwcBXbEGA7AKK1gh2Bv0WbITBgcREjkwMQEmJjU1NCM1MjU1NjY3FwYRFRQHFhUVEhcCeLGz1NQCr7Mm0aenA87+kjLlvMfzkfLQt+Ezc0P+5srjWVrlzv7tQgABAK/+8gFEBbAAAwATALAAL7AARViwAi8bsQIePlkwMQEjETMBRJWV/vIGvgAAAQAT/pICcgY9ABgAMrIFGRoREjkAsAsvsBgvshELGBESObARL7IfEQFdsRIDsAorWCHYG/RZsgUSERESOTAxFzYTNTQ3JjU1ECc3FhYXFRQzFSIVFRQGBxPLB7W10SaxsgHU1LWv+0EBCtznVFLpywEaQ3My4bnS75HzyrziMgABAIMBkgTvAyIAFwBEshEYGRESOQCwAEVYsA8vG7EPGD5ZsADQsA8QsBTQsBQvsQMBsAorWCHYG/RZsA8QsQgBsAorWCHYG/RZsAMQsAvQMDEBFAYjIi4CIyIGFQc0NjMyFhYXFzI2NQTvu4lIgKlKKk5UobiLTIywQB1MXwMJntk1lCRrXgKgzkChCgJ0XwACAIv+mAFmBE0AAwAMADOyBg0OERI5sAYQsADQALACL7AARViwCy8bsQsaPlmxBgWwCitYIdgb9FmyAQIGERI5MDETMxMjExQGIiY0NjIWqqgNwsk3bDg4bDcCrPvsBUwtPj5aPDwAAAEAaf8LA/kFJgAhAFSyACIjERI5ALAARViwFC8bsRQaPlmwAEVYsAovG7EKEj5ZsAfQsQABsAorWCHYG/RZsAoQsAPQsBQQsBHQsBQQsBjQsBQQsRsBsAorWCHYG/RZMDElMjY3MwYGBxUjNSYCNTU0Ejc1MxUWFhcjJiYjIgYVFRQWAkpklAivBsaQubPIyrG5lsAGrwiPaY2bm4N5WX7JGunqIgEc3CPUAR0h4t8X1JZph8vAI7vKAAEAWwAABGgFxAAhAH+yHCIjERI5ALAARViwFC8bsRQePlmwAEVYsAUvG7EFEj5Zsh8UBRESObAfL7JfHwFyso8fAXGyvx8BXbEAAbAKK1gh2Bv0WbAFELEDAbAKK1gh2Bv0WbAH0LAI0LAAELAN0LAfELAP0LAUELAY0LAUELEbAbAKK1gh2Bv0WTAxARcUByEHITUzNjY3NScjNTMDNDYzMhYVIzQmIyIGFRMhFQHBCD4C3QH7+E0oMgIIpaAJ9ci+3r9/b2mCCQE/Am7cmludnQmDYAjdnQEEx+7UsWt8mn3+/J0AAgBp/+UFWwTxABsAKgBBsgIrLBESObACELAn0ACwAEVYsAIvG7ECEj5ZsBDQsBAvsAIQsR8BsAorWCHYG/RZsBAQsScBsAorWCHYG/RZMDElBiMiJwcnNyY1NDcnNxc2MzIXNxcHFhUUBxcHARQWFjI2NjU0JiYjIgYGBE+f0c+fhoKLaHCTgpOew8SflYSXbmaPhPxgc8TixHFxxXBxxHNwhIKIh42cys6jl4iWeHmYiZqjy8SfkIgCe3vUenvTe3rTeXjUAAABAA8AAAQkBbAAFgBxsgAXGBESOQCwAEVYsAEvG7EBHj5ZsABFWLALLxuxCxI+WbIACwEREjmyBwELERI5sAcvsAPQsAMvsQUCsAorWCHYG/RZsAcQsQkCsAorWCHYG/RZsA3QsAcQsA/QsAUQsBHQsAMQsBPQsAEQsBXQMDEBATMBIRUhFSEVIREjESE1ITUhNSEBMwIbATTV/pEBBf68AUT+vMH+wgE+/sIBB/6R2AMZApf9MH2lfP6+AUJ8pX0C0AAAAgCT/vIBTQWwAAMABwAYALAAL7AARViwBi8bsQYePlmyBQEDKzAxExEzEREjETOTurq6/vIDF/zpA8gC9gACAFr+EQR5BcQANABEAISyI0VGERI5sCMQsDXQALAIL7AARViwIy8bsSMePlmyFggjERI5sBYQsT8BsAorWCHYG/RZsgIWPxESObAIELAO0LAIELERAbAKK1gh2Bv0WbIwIwgREjmwMBCxNwGwCitYIdgb9FmyHTcwERI5sCMQsCfQsCMQsSoBsAorWCHYG/RZMDEBFAcWFhUUBCMiJicmNTcUFjMyNjU0JicuAjU0NyYmNTQkMzIEFSM0JiMiBhUUFhYEHgIlJicGBhUUFhYEFzY2NTQmBHm6RUj+/ORwyUaLurSciKaO0bbAXbZCRwEL3ugBBLmoi46hOIcBH6lxOv3hWktQSzaFARwsTlSLAa+9VTGIZKjHODlxzQKCl3VgWWk+MG+bb7pYMYhkpsjizX2bc2JFUEFQSGGBqxgbE2VFRlBCUhEUZUVYbQAAAgBlBPAC7gXFAAgAEQAeALAHL7ECBbAKK1gh2Bv0WbAL0LAHELAQ0LAQLzAxEzQ2MhYUBiImJTQ2MhYUBiImZTdsODhsNwGuN2w4OGw3BVstPT1aPDwrLT4+Wjw8AAMAW//rBeYFxAAbACoAOQCZsic6OxESObAnELAD0LAnELA20ACwAEVYsC4vG7EuHj5ZsABFWLA2LxuxNhI+WbIDNi4REjmwAy+0DwMfAwJdsgouNhESObAKL7QAChAKAl2yDgoDERI5sRECsAorWCHYG/RZsAMQsRgCsAorWCHYG/RZshsDChESObA2ELEgBLAKK1gh2Bv0WbAuELEnBLAKK1gh2Bv0WTAxARQGIyImNTU0NjMyFhUjNCYjIgYVFRQWMzI2NSUUEgQgJBI1NAIkIyIEAgc0EiQgBBIVFAIEIyIkAgRfrZ6dvb+boKySX1tebGxeXF39AaABEwFAARKgnv7toaD+7J9zuwFLAYABSru0/rXGxf61tgJVmaHTtm6w06SVY1WKe3F4ilRlhKz+26amASWsqgEip6X+3KrKAVrHx/6mysX+qNHPAVgAAAIAkwKzAw8FxAAbACUAb7IOJicREjmwDhCwHdAAsABFWLAVLxuxFR4+WbIEJhUREjmwBC+wANCyAgQVERI5sgsEFRESObALL7AVELEOA7AKK1gh2Bv0WbIRCxUREjmwBBCxHAOwCitYIdgb9FmwCxCxIASwCitYIdgb9FkwMQEmJwYjIiY1NDYzMzU0IyIGFSc0NjMyFhURFBclMjY3NSMGBhUUAmoMBkyAd4KnrGx8RU+hrImFmhr+pCtYHHBTWQLBIiZWfGdveDSHNjMMZ4KPhv7EYVF7KBuOAT8zXgD//wBmAJcDZAOzACYBkvr+AAcBkgFE//4AAQB/AXcDvgMgAAUAGwCwBC+wAdCwAS+wBBCxAgGwCitYIdgb9FkwMQEjESE1IQO+uv17Az8BdwEIoQAABABa/+sF5QXEAA4AHgA0AD0ArbI2Pj8REjmwNhCwC9CwNhCwE9CwNhCwI9AAsABFWLADLxuxAx4+WbAARViwCy8bsQsSPlmxEwSwCitYIdgb9FmwAxCxGwSwCitYIdgb9FmyIAsDERI5sCAvsiIDCxESObAiL7QAIhAiAl2yNSAiERI5sDUvsr81AV20ADUQNQJdsR8CsAorWCHYG/RZsigfNRESObAgELAv0LAvL7AiELE9ArAKK1gh2Bv0WTAxEzQSJCAEEhUUAgQjIiQCNxQSBDMyJBI1NAIkIyIEAgURIxEhMhYVFAcWFxUUFxUjJjQnJicnMzY2NTQmIyNauwFLAYABSru0/rXGxf61tnOgAROgoQEUnZ3+7KGg/uyfAcCNARSZqYB6ARGRDgMQc7CcSFhOZIoC2coBWsfH/qbKxf6o0c8BWMes/tumqQEirKsBIael/tz1/q4DUYN9e0Eymj1WJhAkuRFgBIACQjZJPQAAAQCOBRYDLgWlAAMAGbIBBAUREjkAsAIvsQAQsAorWCHYG/RZMDEBITUhAy79YAKgBRaPAAIAggPAAnwFxAALABYAMQCwAEVYsAMvG7EDHj5ZsAzQsAwvsQkCsAorWCHYG/RZsAMQsRICsAorWCHYG/RZMDETNDYzMhYVFAYjIiYXMjY1NCYjIgYUFoKVamiTk2hplv82Sko2N0tLBMBonJtpapaWFkc5OktPbEoAAgBhAAAD9QTzAAsADwBIALAJL7AARViwDS8bsQ0SPlmwCRCwANCwCRCxBgGwCitYIdgb9FmwA9CwDRCxDgGwCitYIdgb9FmyBQ4GERI5tAsFGwUCXTAxASEVIREjESE1IREzASE1IQKJAWz+lKf+fwGBpwFB/L0DQwNWl/5iAZ6XAZ37DZgAAAEAQgKbAqsFuwAWAFayCBcYERI5ALAARViwDi8bsQ4ePlmwAEVYsAAvG7EAFj5ZsRYCsAorWCHYG/RZsALQsgMOFhESObAOELEIArAKK1gh2Bv0WbAOELAL0LIUFg4REjkwMQEhNQE2NTQmIyIGFSM0NiAWFRQPAiECq/2pASxtQDxLR52nAQiaa1SwAY8Cm2wBGmZFMT1MOXKUf25oa0+RAAEAPgKQApoFuwAmAIyyICcoERI5ALAARViwDi8bsQ4ePlmwAEVYsBkvG7EZFj5ZsgAZDhESObAAL7ZvAH8AjwADXbI/AAFxtg8AHwAvAANdsl8AAXKwDhCxBwKwCitYIdgb9FmyCg4ZERI5sAAQsSYEsAorWCHYG/RZshQmABESObIdGQ4REjmwGRCxIAKwCitYIdgb9FkwMQEzMjY1NCYjIgYVIzQ2MzIWFRQGBxYVFAYjIiY1MxQWMzI2NTQnIwEJVEpIP0Y5S52jfImcRkKVqoiEpp5PQ0ZJnFgEZj0wLTozKWJ7eWg3Wxkpj2p9fmstPDwzcQIAAQB7BNoCHAYAAAMAIwCwAi+yDwIBXbAA0LAAL7QPAB8AAl2wAhCwA9AZsAMvGDAxATMBIwE84P70lQYA/toAAAEAmv5gA+4EOgASAFGyDRMUERI5ALAARViwAC8bsQAaPlmwAEVYsAcvG7EHGj5ZsABFWLAQLxuxEBQ+WbAARViwDS8bsQ0SPlmxBAGwCitYIdgb9FmyCwcNERI5MDEBERYWMzI3ETMRIycGIyInESMRAVMBZ3THPrqnCV2qk1G5BDr9h6OcmAMg+8Zzh0n+KwXaAAABAEMAAANABbAACgArsgILDBESOQCwAEVYsAgvG7EIHj5ZsABFWLAALxuxABI+WbIBAAgREjkwMSERIyIkNTQkMyERAoZU5v73AQrmAQ0CCP7W1f/6UAAAAQCTAmsBeQNJAAkAF7IDCgsREjkAsAIvsAiwCitY2BvcWTAxEzQ2MhYVFAYiJpM5cjs7cjkC2TBAQDAvPz8AAAEAdP5NAaoAAAAOAEKyBQ8QERI5ALAARViwAC8bsQASPlmwAEVYsAYvG7EGFD5ZtBMGIwYCXbIBBgAREjmwB7AKK1jYG9xZsAEQsA3QMDEhBxYVFAYjJzI2NTQmJzcBHQyZoI8HT1dAYiA0G5JhcWs0LywqCYYAAAEAegKbAe8FsAAGAEGyAQcIERI5ALAARViwBS8bsQUePlmwAEVYsAAvG7EAFj5ZsgQABRESObAEL7EDArAKK1gh2Bv0WbICAwUREjkwMQEjEQc1JTMB753YAWMSApsCWTmAdQACAHoCsgMnBcQADAAaAEKyAxscERI5sAMQsBDQALAARViwAy8bsQMePlmyChsDERI5sAovsRADsAorWCHYG/RZsAMQsRcDsAorWCHYG/RZMDETNDYzMhYVFRQGICY1FxQWMzI2NTU0JiMiBgd6vJqbvLv+zL6jYVRTX2FTUWACBGOew8GmSp/CwqUGZHJzZU5jcm5hAP//AGYAmAN4A7UAJgGTDQAABwGTAWoAAP//AFUAAAWRBa0AJwHD/9sCmAAnAZQBGAAIAQcBxgLWAAAAEACwAEVYsAUvG7EFHj5ZMDH//wBQAAAFyQWtACcBlADsAAgAJwHD/9YCmAEHAcIDHgAAABAAsABFWLAJLxuxCR4+WTAx//8AbwAABe0FuwAnAZQBlwAIACcBxgMyAAABBwHFADECmwAQALAARViwIS8bsSEePlkwMQACAET+fwN4BE0AGAAiAFmyCSMkERI5sAkQsBzQALAQL7AARViwIS8bsSEaPlmyABAhERI5sgMQABESObAQELEJAbAKK1gh2Bv0WbAQELAM0LIVABAREjmwIRCxGwWwCitYIdgb9FkwMQEOAwcHFBYzMjY1MwYGIyImNTQ3NzY1ExQGIiY1NDYyFgJMASlguAsCdG1kfbkC4bfE1qBtQsE3bDg4bDcCqGp/dsFjJW1zcVuhzMmzra9xTpIBPS0+Pi0sPDwAAv/yAAAHVwWwAA8AEgB7ALAARViwBi8bsQYePlmwAEVYsAAvG7EAEj5ZsABFWLAELxuxBBI+WbIRBgAREjmwES+xAgGwCitYIdgb9FmwBhCxCAGwCitYIdgb9FmyCwAGERI5sAsvsQwBsAorWCHYG/RZsAAQsQ4BsAorWCHYG/RZshIGABESOTAxISEDIQMjASEVIRMhFSETIQEhAwdX/I0P/czN4gNwA7f9TRQCTv24FgLB+q8ByB8BYf6fBbCY/imX/e0BeALdAAEAWQDOA90EYwALADgAsAMvsgkMAxESObAJL7IKCQMREjmyBAMJERI5sgEKBBESObADELAF0LIHBAoREjmwCRCwC9AwMRMBATcBARcBAQcBAVkBSv64dwFJAUl3/rgBSnf+tf61AUkBUAFPe/6xAU97/rH+sHsBUf6vAAADAHb/owUdBewAFwAgACkAaLIEKisREjmwBBCwHdCwBBCwJtAAsABFWLAQLxuxEB4+WbAARViwBC8bsQQSPlmyGhAEERI5siMQBBESObAjELAb0LAQELEdAbAKK1gh2Bv0WbAaELAk0LAEELEmAbAKK1gh2Bv0WTAxARQCBCMiJwcjNyYRNTQSJDMyFzczBxYTBRQXASYjIgIHBTQnARYzMhI3BQmQ/viwq4NhjpC+kgELrNaUZ42fiQL8LGICNGamttEDAxU4/dtbebrMAwKp1v7BqFKb58ABaFPSAUKrfaX/u/7aY/SNA4hv/uv2DbaD/I9AAQ/9AAIApgAABF0FsAANABYAWbIJFxgREjmwCRCwENAAsABFWLAALxuxAB4+WbAARViwCy8bsQsSPlmyAQALERI5sAEvshAACxESObAQL7EJAbAKK1gh2Bv0WbABELEOAbAKK1gh2Bv0WTAxAREhMhYWFRQEIyERIxETESEyNjU0JicBYAEXk9x3/vjj/u66ugEVjqCgiAWw/ttpwn7C5/7HBbD+Q/3el3h7lwEAAQCL/+wEagYSACoAa7IhKywREjkAsABFWLAFLxuxBSA+WbAARViwEy8bsRMSPlmwAEVYsAAvG7EAEj5ZsgoTBRESObIOBRMREjmwExCxGgGwCitYIdgb9FmyIBMFERI5siMFExESObAFELEoAbAKK1gh2Bv0WTAxISMRNDYzMhYVFAYVFB4CFRQGIyImJzcWFjMyNjU0LgI1NDY1NCYjIhEBRLnPurTFgEu8Vsu2UbUmKzGHNWtxSr1Xi2hY2gRX0Ouzn33LRTNfkIhMn7IsHJsgLF5SNGCTilFZz1Rea/7bAAMATv/sBnwETgAqADUAPQDKsgI+PxESObACELAu0LACELA50ACwAEVYsBcvG7EXGj5ZsABFWLAdLxuxHRo+WbAARViwAC8bsQASPlmwAEVYsAUvG7EFEj5ZsgIdABESObIMBRcREjmwDC+0vwzPDAJdsBcQsRABsAorWCHYG/RZshMMFxESObIaHQAREjmyOh0AERI5sDovtL86zzoCXbEhAbAKK1gh2Bv0WbAAELElAbAKK1gh2Bv0WbIoHQAREjmwK9CwDBCxLwGwCitYIdgb9FmwEBCwNtAwMQUgJwYGIyImNTQ2MzM1NCYjIgYVJzQ2MzIWFzY2MzISFRUhFhYzMjc3FwYlMjY3NSMGBhUUFgEiBgchNTQmBO7++4hB4o2nvOPd325oaYy48rtzsDI/rmnS6P0oB66VlHkvQJ78CUieMuR1jGoDUHOVEQIahhS0Vl6tl52uVWt7blETj7VTU09X/v/pc7C/TB+IeZZKNu0CblNNXQM0q4sfhJMAAAIAfv/sBC0GLAAdACsAVrIHLC0REjmwBxCwKNAAsABFWLAZLxuxGSA+WbAARViwBy8bsQcSPlmyDxkHERI5sA8vshEZBxESObEiAbAKK1gh2Bv0WbAHELEoAbAKK1gh2Bv0WTAxARIRFRQGBiMiJiY1NDY2MzIXJicHJzcmJzcWFzcXAycmJiMiBhUUFjMyNjUDNPl12IaH3Hlwz4GjeTCN2knAhLc576+9SWgCIYtckaKngH2ZBRX++P5nXZ79kIHghpPpgnLDjZRjg1sxnzaLgWT88zg9Sb+njMTiuAAAAwBHAKwELQS6AAMADQAXAFOyBxgZERI5sAcQsADQsAcQsBHQALACL7EBAbAKK1gh2Bv0WbACELAMsAorWNgb3FmwBrAKK1jYG9xZsAEQsBCwCitY2BvcWbAWsAorWNgb3FkwMQEhNSEBNDYyFhUUBiImETQ2MhYVFAYiJgQt/BoD5v2gOXI7O3I5OXI7O3I5Ali4ATowQEAwLz4+/P4wQEAwLj8/AAMAW/96BDQEuAAVAB0AJgBlsgQnKBESObAEELAb0LAEELAj0ACwAEVYsAQvG7EEGj5ZsABFWLAPLxuxDxI+WbEjAbAKK1gh2Bv0WbIhIwQREjmwIRCwGNCwBBCxGwGwCitYIdgb9FmyGRsPERI5sBkQsCDQMDETNDY2MzIXNzMHFhEUBgYjIicHIzcmExQXASYjIgYFNCcBFjMyNjVbe+GPbl5JfGbDfOCQaFZKfGTNuWEBVz5IiqgCZlf+rDdCi6cCJ5/9iyqUzZr+wJ7+iSOVy5UBN8JvArYg2rW2b/1QGdu5AAIAlf5gBCcGAAAPABoAZrIYGxwREjmwGBCwDNAAsAgvsABFWLAMLxuxDBo+WbAARViwBi8bsQYUPlmwAEVYsAMvG7EDEj5ZsgUMAxESObIKDAMREjmwDBCxEwGwCitYIdgb9FmwAxCxGAGwCitYIdgb9FkwMQEUAiMiJxEjETMRNjMyEhEnNCYjIgcRFjMyNgQn4sHFcbm5ccLD47mciKhUU6uFnQIR9/7Sff33B6D9yoT+2v76BLfUlf37lNMAAAIAX//sBKwGAAAXACIAggCwFC+wAEVYsA0vG7ENGj5ZsABFWLADLxuxAxI+WbAARViwBi8bsQYSPlmyDxQBXbIvFAFdshMDFBESObATL7EQAbAKK1gh2Bv0WbAB0LIEBg0REjmyDw0GERI5sBMQsBbQsAYQsRsBsAorWCHYG/RZsA0QsSABsAorWCHYG/RZMDEBIxEjJwYjIgI1NTQSMzIXESE1ITUzFTMBFBYzMjcRJiMiBgSsvKoJb8a87ey/vm/++AEIubz8bJiGsFFTrIiYBNH7L3SIATT4DvkBL4IBBZeYmPypuNCeAfGZ0gACAB0AAAWIBbAAEwAXAG0AsABFWLAPLxuxDx4+WbAARViwCC8bsQgSPlmyFAgPERI5sBQvshAUDxESObAQL7AA0LAQELEXAbAKK1gh2Bv0WbAD0LAIELAF0LAUELEHAbAKK1gh2Bv0WbAXELAK0LAQELAN0LAPELAS0DAxATMVIxEjESERIxEjNTMRMxEhETMBITUhBQKGhsH9I8GGhsEC3cH8YgLd/SMEjo78AAKh/V8EAI4BIv7eASL9jsIAAQCbAAABVQQ6AAMAHQCwAEVYsAIvG7ECGj5ZsABFWLAALxuxABI+WTAxISMRMwFVuroEOgAAAQCaAAAEPwQ6AAwAaQCwAEVYsAQvG7EEGj5ZsABFWLAILxuxCBo+WbAARViwAi8bsQISPlmwAEVYsAsvG7ELEj5ZsAIQsAbQsAYvsp8GAV20vwbPBgJdsi8GAV2y/wYBXbEBAbAKK1gh2Bv0WbIKAQYREjkwMQEjESMRMxEzATMBASMBv2u6ulsBjd/+PAHo6QHN/jMEOv42Acr98/3TAAEAIgAABBsFsAANAF0AsABFWLAMLxuxDB4+WbAARViwBi8bsQYSPlmyAQwGERI5sAEvsADQsAEQsQIBsAorWCHYG/RZsAPQsAYQsQQBsAorWCHYG/RZsAMQsAjQsAnQsAAQsAvQsArQMDEBJRUFESEVIREHNTcRMwFpAQf++QKy/I2GhsEDS1R9VP3PnQKRKn0qAqIAAAEAIgAAAgoGAAALAEsAsABFWLAKLxuxCiA+WbAARViwBC8bsQQSPlmyAQQKERI5sAEvsADQsAEQsQIBsAorWCHYG/RZsAPQsAbQsAfQsAAQsAnQsAjQMDEBNxUHESMRBzU3ETMBbJ6eupCQugNlPXs9/RYCozd7NwLiAAABAKL+SwTxBbAAEwBbsgYUFRESOQCwAEVYsAAvG7EAHj5ZsABFWLAQLxuxEB4+WbAARViwBC8bsQQUPlmwAEVYsA4vG7EOEj5ZsAQQsQkBsAorWCHYG/RZsg0OEBESObISDgAREjkwMQERFAYjIic3FjMyNTUBESMRMwERBPGrnD02DiU9iP0zwMACzQWw+f2ouhKaDtBHBGr7lgWw+5gEaAABAJH+SwPwBE4AGgBjsg0bHBESOQCwAEVYsAMvG7EDGj5ZsABFWLAALxuxABo+WbAARViwCi8bsQoUPlmwAEVYsBgvG7EYEj5ZsgEYAxESObAKELEPAbAKK1gh2Bv0WbADELEVAbAKK1gh2Bv0WTAxARc2MzIWFxEUBiMiJzcWMzI1ETQmIyIHESMRATcNdMuzuAKnmz02DiNCiW99r1G6BDqartDL/PSkuBKdDcIC94uAhfzUBDoAAgBo/+sHCQXEABcAIwCWsgEkJRESObABELAa0ACwAEVYsAwvG7EMHj5ZsABFWLAOLxuxDh4+WbAARViwAC8bsQASPlmwAEVYsAMvG7EDEj5ZsA4QsRABsAorWCHYG/RZshMADhESObATL7EUAbAKK1gh2Bv0WbAAELEWAbAKK1gh2Bv0WbADELEYAbAKK1gh2Bv0WbAMELEdAbAKK1gh2Bv0WTAxISEGIyImAicRNBI2MzIXIRUhESEVIREhBTI3ESYjIgYHERQWBwn8sLJyov6MAYv+onyqA0b9LQJ3/YkC3fuMcWZtbK3CAsMVlgEPqwE1rAERlxSe/iyd/fwbDgSOD+XP/sfT6wADAGH/7AcABE4AIAAsADQAmbIGNTYREjmwBhCwJtCwBhCwMNAAsABFWLAELxuxBBo+WbAARViwCi8bsQoaPlmwAEVYsBcvG7EXEj5ZsABFWLAdLxuxHRI+WbIHChcREjmyMQoXERI5sDEvsQ4BsAorWCHYG/RZsBcQsRIBsAorWCHYG/RZshQKFxESObIaChcREjmwJNCwBBCxKgGwCitYIdgb9FmwLdAwMRM0NjYzMhYXNjYzMhYVFSEWFjMyNxcGIyImJwYGIyIANRcUFjMyNjU0JiMiBiUiBgchNTQmYXnbjonJPUHEcM/q/TIHpIa8eEqJ9YfNPz7Hhtz++Lmgi4mgoYqHogQtY5YWAg6JAieg/ol1ZGZz/ut0qsVsfoRwZGNxATD+CbfY18622dbWo4oafZYAAQCgAAACggYVAAwAM7IDDQ4REjkAsABFWLAELxuxBCA+WbAARViwAC8bsQASPlmwBBCxCQGwCitYIdgb9FkwMTMRNjYzMhcHJiMiFRGgAbCiO1QXKDO3BK6pvhWOC937YAACAF3/7AUSBcQAFwAfAF6yACAhERI5sBjQALAARViwEC8bsRAePlmwAEVYsAAvG7EAEj5ZsgUQABESObAFL7AQELEJAbAKK1gh2Bv0WbAAELEYAbAKK1gh2Bv0WbAFELEbAbAKK1gh2Bv0WTAxBSAAETUhNRACIyIHByc3NjMgABEVFAIEJzISNyEVFBYCuf7j/sED9PTdpYs9Lxae6AEuAWSc/uqnqd4P/M/TFAFZAUV1BwECARw6Go8NWP6H/rFUxf6/tp4BBdsi2uQAAAH/5P5LArwGFQAeAHSyFB8gERI5ALAARViwFS8bsRUgPlmwAEVYsBAvG7EQGj5ZsABFWLAdLxuxHRo+WbAARViwBS8bsQUUPlmwHRCxAAGwCitYIdgb9FmwBRCxCgGwCitYIdgb9FmwABCwDtCwD9CwFRCxGgGwCitYIdgb9FkwMQEjERQGIyInNxYzMjY1ESM1MzU2NjMyFwcmIyIHFTMCYMuomj0yDh5DQUerqwKvoTtUFiY8qwTLA6v7/qe3EpMNaFwEBI94p7wVkwrDegACAGX/7AWdBjcAFwAlAFWyBCYnERI5sAQQsCLQALAARViwDS8bsQ0ePlmwAEVYsAQvG7EEEj5Zsg8NBBESObAPELAV0LANELEbAbAKK1gh2Bv0WbAEELEiAbAKK1gh2Bv0WTAxARQCBCMiJAInNTQSJDMyFzY2NTMQBRYXBxACIyICBxUUEjMyEhEE+JD++LCr/vaVAZIBC6zwm2Bdp/75YQG+z7220QPTub/LAqnW/sGoqAE+z2TSAUGsmweDhP6zPaz2BAECARb+6/Zr+/7hARoBAQAAAgBb/+wEugSwABYAIwBVshMkJRESObATELAa0ACwAEVYsAQvG7EEGj5ZsABFWLATLxuxExI+WbIGBBMREjmwBhCwDNCwExCxGgGwCitYIdgb9FmwBBCxIQGwCitYIdgb9FkwMRM0NjYzMhc2NjUzEAcWFRUUBgYjIgA1FxQWMzI2NTU0JiMiBlt74Y/PiEdAls9JfOCQ3v7xuaeNi6epi4qoAief/YuKCGSA/t0ziqkWnv6JATP7CbTa27kQtdraAAABAIz/7AYdBgIAGgBNsgwbHBESOQCwAEVYsBIvG7ESHj5ZsABFWLAaLxuxGh4+WbAARViwDS8bsQ0SPlmyAQ0aERI5sAEQsAjQsA0QsRYBsAorWCHYG/RZMDEBFTY2NTMUBgcRBgIHByIAJxEzERQWMzI2NREEqnNhn7HCAfTTSe/+5AK+rqGjrQWw1QuJk9LRDP1+x/78FgQBAuID4Pwmnq+ungPbAAABAIj/7AUPBJAAGQBhsgcaGxESOQCwAEVYsBMvG7ETGj5ZsABFWLANLxuxDRo+WbAARViwCC8bsQgSPlmwAEVYsAUvG7EFEj5ZshUIExESObAVELAD0LIGCBMREjmwCBCxEAGwCitYIdgb9FkwMQEUBgcRIycGIyImJxEzERQzMjcRMxU+AjUFD5OgsARs0a21AbnI1Ea5REQdBJC0kwT8u2t/ycUCwP1F9p4DE4MCI0hsAAAB/7T+SwFlBDoADQApALAARViwAC8bsQAaPlmwAEVYsAQvG7EEFD5ZsQkBsAorWCHYG/RZMDEBERQGIyInNxYzMjY1EQFlqpg7NA4eQ0FIBDr7baqyEpMNaFwEkwAAAgBi/+wD6QRPABQAHABosggdHhESObAIELAV0ACwAEVYsAAvG7EAGj5ZsABFWLAILxuxCBI+WbINAAgREjmwDS+wABCxEAGwCitYIdgb9FmyEgAIERI5sAgQsRUBsAorWCHYG/RZsA0QsRgBsAorWCHYG/RZMDEBMgAVFRQGBiciJjU1ISYmIyIHJzYBMjY3IRUUFgH/3AEOfNh60OkCzQehiLp7SYwBDmKXFf3ziQRP/tT5JJX4jQH+6XSoyGx9hvw1pIkafZYAAAEAqQTkAwYGAAAIADQAsAQvsAfQsAcvtA8HHwcCXbIFBAcREjkZsAUvGLAB0BmwAS8YsAQQsALQsgMEBxESOTAxARUjJwcjNRMzAwaZlpWZ9nAE7gqqqgwBEAAAAQCNBOMC9wX/AAgAIACwBC+wAdCwAS+0DwEfAQJdsgAEARESObAI0LAILzAxATczFQMjAzUzAcGWoP5x+50FVaoK/u4BEgr//wCOBRYDLgWlAQYAcAAAAAoAsAEvsQID9DAxAAEAgQTLAtgF1wAMACeyCQ0OERI5ALADL7IPAwFdsQkEsAorWCHYG/RZsAbQsAYvsAzQMDEBFAYgJjUzFBYzMjY1Atil/vSml0xJRk8F13mTlHhGT05HAAABAI0E7gFoBcIACAAZsgIJChESOQCwBy+xAgWwCitYIdgb9FkwMRM0NjIWFAYiJo03bDg4bDcFVy0+Plo8PAAAAgB5BLQCJwZQAAkAFAAqsgMVFhESObADELAN0ACwAy+wB9CwBy+yPwcBXbADELAN0LAHELAS0DAxARQGIyImNDYyFgUUFjMyNjQmIyIGAid8W1x7e7h7/rVDMTBEQzEyQgWAV3V2rHp6Vi9EQmJFRgAAAQAy/k8BkgA4ABAAMrIFERIREjkAsBAvsABFWLAKLxuxChQ+WbEFA7AKK1gh2Bv0WUAJDxAfEC8QPxAEXTAxIQcGFRQzMjcXBiMiJjU0NjcBfjpxTjA0DUZaWWeGey1bVkgaeSxoVlmaOAAAAQB7BNkDPgXoABcAQACwAy+wCNCwCC+0DwgfCAJdsAMQsAvQsAsvsAgQsQ8DsAorWCHYG/RZsAMQsRQDsAorWCHYG/RZsA8QsBfQMDEBFAYjIi4CIyIGFSc0NjMyHgIzMjY1Az57XCk8YSscKTp8eV0jOGAzHys5BdxshhQ+DT8xB2uMFDoSRC0AAgBeBNADLAX/AAMABwA7ALACL7AA0LAAL7QPAB8AAl2wAhCwA9AZsAMvGLAAELAF0LAFL7ACELAG0LAGL7ADELAH0BmwBy8YMDEBMwEjAzMDIwJdz/7zqW3F2pYF//7RAS/+0QAAAgB+/msB1f+1AAsAFgA0ALADL0ALAAMQAyADMANAAwVdsAnQsAkvQAkwCUAJUAlgCQRdsgAJAV2wDtCwAxCwFNAwMRc0NjMyFhUUBiMiJjcUFjI2NTQmIyIGfmRKR2JgSUxiVzRGMDAjJTLyRmFgR0ZdXkUjMDAjJDI0AAH8pwTa/kgGAAADAB4AsAEvsADQGbAALxiwARCwAtCwAi+0DwIfAgJdMDEBIwEz/kif/v7gBNoBJgAB/W8E2v8QBgAAAwAeALACL7AB0LABL7QPAR8BAl2wAhCwA9AZsAMvGDAxATMBI/4w4P70lQYA/tr///yLBNn/TgXoAAcApfwQAAAAAf1eBNn+lAZ0AA4ALgCwAC+yDwABXbAH0LAHL0AJDwcfBy8HPwcEXbAG0LIBAAYREjmyDQAHERI5MDEBJzY2NCYjNzIWFRQGBwf9dAFLRltLB5WaTk0BBNmZBR5OJ2pnVT1QC0cAAvwnBOT/BwXuAAMABwA3ALABL7AA0BmwAC8YsAEQsAXQsAUvsAbQsAYvtg8GHwYvBgNdsAPQsAMvsAAQsATQGbAELxgwMQEjATMBIwMz/gKp/s7hAf+W9s4E5AEK/vYBCgAB/Tj+ov4T/3YACAASALACL7EHBbAKK1gh2Bv0WTAxBTQ2MhYUBiIm/Tg3bDg4bDf1LT4+Wjw8AAEAtwTuAZsGPwADAB0AsAIvsADQsAAvsg8AAV2yAwIAERI5GbADLxgwMRMzAyPtrnRwBj/+rwAAAwBxBPADgwaIAAMADAAVADgAsAsvsALQsAIvsAHQsAEvsAIQsAPQGbADLxiwCxCxBgWwCitYIdgb9FmwD9CwCxCwFNCwFC8wMQEzAyMFNDYyFhQGIiYlNDYyFhQGIiYB4bxlh/7AN2w4OGw3Ajc3bDg4bDcGiP74JS09PVo8PCstPj5aPDwA//8AkwJrAXkDSQEGAHgAAAAGALACLzAxAAEAsQAABDAFsAAFACwAsABFWLAELxuxBB4+WbAARViwAi8bsQISPlmwBBCxAAGwCitYIdgb9FkwMQEhESMRIQQw/ULBA38FEvruBbAAAAIAHwAABXMFsAADAAYAMACwAEVYsAAvG7EAHj5ZsABFWLACLxuxAhI+WbEEAbAKK1gh2Bv0WbIGAgAREjkwMQEzASElIQEChqoCQ/qsAQYDTP5nBbD6UJ0EKAAAAwBn/+wE+gXEAAMAFQAjAHqyCCQlERI5sAgQsAHQsAgQsCDQALAARViwES8bsREePlmwAEVYsAgvG7EIEj5ZsgIIERESObACL7LPAgFdsv8CAV2yLwIBXbS/As8CAnGxAQGwCitYIdgb9FmwERCxGQGwCitYIdgb9FmwCBCxIAGwCitYIdgb9FkwMQEhNSEFFAIEIyIkAic1NBIkMzIEEhcHEAIjIgIHFRQSMzISNwPA/fsCBQE6j/74saz+9pMCkgELrK8BCJECv9C7ttED0bu6zAMCk5iC1f7CqqkBOc5p0gFCq6j+xc8LAQMBFf7r9mv6/uABD/0AAAEAMgAABQMFsAAGADEAsABFWLADLxuxAx4+WbAARViwAS8bsQESPlmwAEVYsAUvG7EFEj5ZsgADARESOTAxAQEjATMBIwKa/mbOAhKsAhPPBIn7dwWw+lAAAAMAeAAABCEFsAADAAcACwBSALAARViwCC8bsQgePlmwAEVYsAIvG7ECEj5ZsQABsAorWCHYG/RZsAIQsAXQsAUvsi8FAV2xBgGwCitYIdgb9FmwCBCxCgGwCitYIdgb9FkwMTchFSETIRUhAyEVIXgDqfxXVwLy/Q5TA5T8bJ2dAz+dAw6eAAABALIAAAUBBbAABwA5ALAARViwBi8bsQYePlmwAEVYsAAvG7EAEj5ZsABFWLAELxuxBBI+WbAGELECAbAKK1gh2Bv0WTAxISMRIREjESEFAcH9MsAETwUS+u4FsAAAAQBFAAAERAWwAAwAPgCwAEVYsAgvG7EIHj5ZsABFWLADLxuxAxI+WbEBAbAKK1gh2Bv0WbAF0LAIELEKAbAKK1gh2Bv0WbAH0DAxAQEhFSE1AQE1IRUhAQLy/kMDD/wBAeH+HwPO/SQBuwLO/c+djwJKAkeQnv3UAAADAE0AAAV0BbAAFQAcACMAbrIKJCUREjmwChCwGdCwChCwINAAsABFWLAULxuxFB4+WbAARViwCS8bsQkSPlmyExQJERI5sBMvsADQsggJFBESObAIL7AL0LAIELEhAbAKK1gh2Bv0WbAZ0LATELEaAbAKK1gh2Bv0WbAg0DAxARYEFhUUBgYHFSM1JgA1NDY3Njc1MwEUFhcRBgYFNCYnETY2A0KhAQGQj/+kwvv+yH10i7fC/crCsrTAA6nBsrS/BPcDivqcnvqJBK+vBAEv8JTuSVcDuf0iuMgEAwkEyrW1ygT89wTLAAABAFoAAAUhBbAAGABdsgAZGhESOQCwAEVYsAQvG7EEHj5ZsABFWLARLxuxER4+WbAARViwFy8bsRcePlmwAEVYsAsvG7ELEj5ZshYECxESObAWL7AA0LAWELENAbAKK1gh2Bv0WbAK0DAxATY2NREzERQGBgcRIxEmACcRMxEWFhcRMwMWnK7Bf+2fwef+7wPAAaWVwQILF9eqAg398J/1kw/+lgFqFwEq7QIY/e+j1xkDpAABAHEAAATLBcQAJABeshklJhESOQCwAEVYsBkvG7EZHj5ZsABFWLAOLxuxDhI+WbAARViwIy8bsSMSPlmwDhCxEAGwCitYIdgb9FmwDdCwANCwGRCxBgGwCitYIdgb9FmwEBCwIdCwItAwMSU2Ejc1NCYgBhUVFBIXFSE1MyYCNTU0EjYzMhYSFxUUAgczFSEC4YqaA8L+rsCdkf4U3Wp4jf6hoP2OA3hq3P4cohsBHOqG5/b65XHw/tgcop1mATOib7oBJJ+c/uS0gqD+zWadAAACAGT/6wR3BE4AFgAhAH+yHyIjERI5sB8QsBPQALAARViwEy8bsRMaPlmwAEVYsBYvG7EWGj5ZsABFWLAILxuxCBI+WbAARViwDC8bsQwSPlmwCBCxAwGwCitYIdgb9FmyChMIERI5shUTCBESObAMELEaAbAKK1gh2Bv0WbATELEfAbAKK1gh2Bv0WTAxAREWMzI3FwYjIicGIyICNTUQEjMyFzcBFBYzMjcRJiMiBgPuAk4TDxcwSpMma9HA5OLEy2sR/cySh61SVaiGlQQ6/OOMBYkipaUBG/QPAQgBPaGN/bqvw7oBvrzjAAIAoP6ABE0FxAAUACoAbLIAKywREjmwGNAAsA8vsABFWLAALxuxAB4+WbAARViwDC8bsQwSPlmyKAAMERI5sCgvsSUBsAorWCHYG/RZsgYlKBESObIODAAREjmwABCxGAGwCitYIdgb9FmwDBCxHwGwCitYIdgb9FkwMQEyFhUUBgcWFhUUBiMiJxEjETQ2NgE0JiMiBgcRFhYzMjY1NCYnIzUzMjYCXcHrYlh7g/nNtXi6es8BZ4hrbJYBLJBehpqMbZZVeH4FxNuuW5guLcOCze9f/jUFsWy8a/57ZoeOa/zDND+ggXalA5h3AAABAC7+YAPfBDoACAA4sgAJChESOQCwAEVYsAEvG7EBGj5ZsABFWLAHLxuxBxo+WbAARViwBC8bsQQUPlmyAAcEERI5MDEBATMBESMRATMCCgEYvf6Fuv6EvQEUAyb7//4nAeAD+gACAGD/7AQnBhwAHgAqAGGyFCssERI5sBQQsCLQALAARViwAy8bsQMgPlmwAEVYsBQvG7EUEj5ZsAMQsQgBsAorWCHYG/RZshsUAxESObAbL7EoC7AKK1gh2Bv0WbAM0LAUELEiAbAKK1gh2Bv0WTAxEzQ2MzIXByYjIgYVFAQSFxUUBgYjIgA1NTQSNycmJhMUFjMyNjU0JiciBt3Lr4uGApd8VmUBu88FdtuR3v75vJABY2s+oYmIoKl9iKQE9YifN6A7SD5smf7zxCeZ84UBJ/INpQEIIwUnjP1jsMvKxojbGc0AAAEAY//sA+wETQAlAHKyAyYnERI5ALAARViwFS8bsRUaPlmwAEVYsAovG7EKEj5ZsQMBsAorWCHYG/RZsAoQsAbQsAoQsCLQsCIvsi8iAV2yvyIBXbEjAbAKK1gh2Bv0WbIPIyIREjmyGRUiERI5sBUQsRwBsAorWCHYG/RZMDEBFBYzMjY1MxQGIyImNTQ3JiY1NDYzMhYVIzQmIyIGFRQzMxUjBgEek3Zxm7n/xsz4zVhi58q6+bmPa3CH9MTg6gEwTWJuUZu5sZO6QiR6SZSms45GZVtKoJQGAAABAG3+gQPDBbAAHwBNsgggIRESOQCwDy+wAEVYsAAvG7EAHj5ZsR0BsAorWCHYG/RZsAHQshUgABESObICFQAREjmwFRCxBwGwCitYIdgb9FmyHAAVERI5MDEBFQEGBhUUFhcXFhYVBgYHJzY2NTQkJyYmNTQSNwEhNQPD/qKKZkNS91FHAmxDYi8z/sw2Z1uSfwEd/YMFsHj+VaHlhVphGUgYWE5FrDZUNVUtRE4YLZmBggFAlgFDmAABAJH+YQPwBE4AEgBUsgwTFBESOQCwAEVYsAMvG7EDGj5ZsABFWLAALxuxABo+WbAARViwBy8bsQcUPlmwAEVYsBAvG7EQEj5ZsgEQAxESObADELEMAbAKK1gh2Bv0WTAxARc2MzIWFxEjETQmIyIGBxEjEQE4C3jIvq4BuWyAXIIiugQ6iJzFzPukBFGIfFdO/O8EOgADAHr/7AQSBcQADQAWAB4AlbIDHyAREjmwAxCwE9CwAxCwG9AAsABFWLAKLxuxCh4+WbAARViwAy8bsQMSPlmyDgMKERI5sA4vsl8OAV2y/w4BXbSPDp8OAnG0vw7PDgJxsi8OAXGyzw4BXbIvDgFdtO8O/w4CcbAKELETAbAKK1gh2Bv0WbAOELEYAbAKK1gh2Bv0WbADELEbAbAKK1gh2Bv0WTAxARACIyICAzUQEjMyEhMFITU0JiMiBhUFIRUUFiA2NwQS7N/b7gTs397rBP0hAiWLiIaMAiX925IBBI0CAoD+v/6tAUwBNM0BPQFO/rz+zSw34/Hx488n5frw4wABAMP/9AJLBDoADAApALAARViwAC8bsQAaPlmwAEVYsAkvG7EJEj5ZsQQBsAorWCHYG/RZMDEBERQWMzI3FwYjIhERAXw3QDAnAUZJ+QQ6/Nc/QAyXEwEmAyAAAAEAJf/vBDsF7gAaAFKyEBscERI5ALAAL7AARViwCy8bsQsSPlmwAEVYsBEvG7EREj5ZsAsQsQcBsAorWCHYG/RZshAACxESObAQELAT0LAAELEXAbAKK1gh2Bv0WTAxATIWFwEWFjM3FwYjIiYmJwMBIwEnJiYjByc2AQVieCEBqxQtIyYGJCpNTj4d5v7izgGKYBc1LS8BKgXuUF/7qzMnA5gMJVZQAlH89QQF6zguAo4MAAEAZf53A6kFxAAtAFmyAy4vERI5ALAXL7AARViwKy8bsSsePlmxAgGwCitYIdgb9FmyCC4rERI5sAgvsQkBsAorWCHYG/RZsh4uKxESObAeELEPAbAKK1gh2Bv0WbIlCQgREjkwMQEmIyIGFRQhMxUjBgYVFBYEFhcWFRQGByc3NjU0LgQ1NDY3JiY1NCQzMhcDcoRhjaABTYWWtseQAQ98IE9oSGs5MUzmqXdBpJZ2gwEC5JFwBQgkZ1XbmAKco3CdQSUUMWlApz1UQDw+Jy4zQmmZb5HLLiqYYJ+5JwAAAQAp//QEpAQ6ABQAXrILFRYREjkAsABFWLATLxuxExo+WbAARViwCi8bsQoSPlmwAEVYsA8vG7EPEj5ZsBMQsQABsAorWCHYG/RZsAoQsQUBsAorWCHYG/RZsAAQsA3QsA7QsBHQsBLQMDEBIxEUFjMyNxcGIyIRESERIxEjNSEEcZw2QTAnAUZJ+f5vuakESAOh/XJAQQyXEwEmAof8XwOhmQACAJH+YAQfBE4ADwAbAFmyEhwdERI5sBIQsADQALAARViwAC8bsQAaPlmwAEVYsAovG7EKFD5ZsABFWLAHLxuxBxI+WbIJAAcREjmxEgGwCitYIdgb9FmwABCxGAGwCitYIdgb9FkwMQEyEhcXFAIjIicRIxE0NjYDFjMyNjU0JiMiBhUCUM/0CwHgv8NyunHNhFOrh5aRhXWQBE7+5v5C8P7ofP34A+Se7ID8yJPDw83g2KkAAAEAZf6KA+EETgAiAEuyACMkERI5ALAUL7AARViwAC8bsQAaPlmwAEVYsBsvG7EbEj5ZsAAQsATQsAAQsQcBsAorWCHYG/RZsBsQsQ0BsAorWCHYG/RZMDEBMhYVIzQmIyIGFRUQBRcWFhUGBgcnNzY1NCYnJgI1NTQ2NgI9veevhm+EmwFAhmJQAmNKYi8xRlbs+HfXBE7VtG6D27Mg/vxjJh1gUD+nPlU2PEYrKxM0AQHTKpj7iQACAGD/7AR7BDoAEQAdAE6yCB4fERI5sAgQsBXQALAARViwEC8bsRAaPlmwAEVYsAgvG7EIEj5ZsBAQsQABsAorWCHYG/RZsAgQsRUBsAorWCHYG/RZsAAQsBvQMDEBIRYRFRQGBiMiADU1NDY2NyEBFBYzMjY1NCYjIgYEe/7kyHrdjNr+9nbZjAJA/J+gioufoYuJnwOhlP7vEYzriAEv/w2Y8ogB/de319nLrM7MAAEAUf/sA9kEOgAQAEuyChESERI5ALAARViwDy8bsQ8aPlmwAEVYsAkvG7EJEj5ZsA8QsQABsAorWCHYG/RZsAkQsQQBsAorWCHYG/RZsAAQsA3QsA7QMDEBIREUMzI3FwYjIiYnESE1IQPZ/o1pKzEqTGp9dQH+pQOIA6T9aYUagjSTkgKTlgABAI//7AP2BDoAEgA9sg4TFBESOQCwAEVYsAAvG7EAGj5ZsABFWLAILxuxCBo+WbAARViwDi8bsQ4SPlmxAwGwCitYIdgb9FkwMQEREDMyNjUmAzMWERAAIyImJxEBScmBqgV2w3H+/9rCyAIEOv15/s/6tucBIfH+6f75/sHg1wKXAAACAFf+IgVMBDoAGQAiAF6yDyMkERI5sA8QsBrQALAYL7AARViwBi8bsQYaPlmwAEVYsBAvG7EQGj5ZsABFWLAXLxuxFxI+WbAA0LAXELEaAbAKK1gh2Bv0WbAM0LAQELEgAbAKK1gh2Bv0WTAxBSQANTQSNxcGBxQWFxE0NjMyFhYVFAAFESMTNjY1JiYjIhUCbP8A/uuBf2WhCrWminGC4YL+3v77ubmqxAWlgkIRFwEz+6gBB1eFjPWt5RoCzGl9jfiV8/7XFf4zAmYW3qSp2FIAAAEAX/4oBUMEOgAZAFmyABobERI5ALANL7AARViwAC8bsQAaPlmwAEVYsAYvG7EGGj5ZsABFWLATLxuxExo+WbAARViwDC8bsQwSPlmxAQGwCitYIdgb9FmwDBCwD9CwARCwGNAwMQERNjY1JgMzFhEQAAURIxEmABERMxEWFhcRAxyrwwV6wnb+4/72uf/++7oCpqIEOvxOGOWy6AEb7P7p/v3+0BX+OQHJGgE2ARMB5v4OwuQZA7EAAAEAev/sBhkEOgAjAFuyGyQlERI5ALAARViwAC8bsQAaPlmwAEVYsBMvG7ETGj5ZsABFWLAZLxuxGRI+WbAARViwHi8bsR4SPlmxBQGwCitYIdgb9FmyCQAeERI5sA7QshsTGRESOTAxAQIHFBYzMjY1ETMRFhYzMjY1JgMzFhEQAiMiJwYGIyICERA3AcSKB3JqbHG7AXFranIHisOHz7zwVSmkd7zPhwQ6/uXvy+OtpgEt/s6kquLM7wEb9P7q/u3+z+51eQExARMBH+sAAgB5/+wEeQXGAB8AKABxshQpKhESObAUELAm0ACwAEVYsBkvG7EZHj5ZsABFWLAGLxuxBhI+WbIdGQYREjmwHS+xAgGwCitYIdgb9FmyCxkGERI5sAYQsQ8BsAorWCHYG/RZsAIQsBPQsB0QsCPQsBkQsSYBsAorWCHYG/RZMDEBBgcVBgYjIiY1ETcRFBYzMjY1NSYANTQ2MzIWFRE2NwEUFhcRJiMiFQR5PFMC5cjL97qMfHSC2f7zuJafsj9I/ZSiigWTlAJzFwmm0+731wFHAv6wj5uSmKYfARrZoLvFsv6hBRMBUoW9HgFoxsQAAf/aAAAEbgW8ABoASrIAGxwREjkAsABFWLAELxuxBB4+WbAARViwFy8bsRcePlmwAEVYsA0vG7ENEj5ZsgAEDRESObAEELEJAbAKK1gh2Bv0WbAS0DAxARM2NjMyFwcmIyIHAREjEQEmIyIHJzYzMhYXAiThK2tXSDQkDSdGJP7Xv/7YJ0MnDSQ0R1hrKgMGAftjWBuXCE/9d/3GAjwCh08IlhxUXQAAAgBK/+wGGwQ6ABIAJgBysggnKBESObAIELAe0ACwAEVYsBEvG7ERGj5ZsABFWLAGLxuxBhI+WbAARViwCi8bsQoSPlmwERCxAAGwCitYIdgb9FmyCBEGERI5sA/QsBDQsBXQsBbQsAoQsRsBsAorWCHYG/RZsh8KERESObAk0DAxASMWFRACIyInBiMiAhE0NyM1IQEmJyEGBxQWMzI2NxEzERYWMzI2BhuIQLyr8VNT8Kq9QHQF0f7+BEr8u0sEYFhpcQK7AnFqVmADoazF/u/+ze/vATABFL+ymf32qsfIqcvjp6IBB/75oqfiAAEAKv/1BbEFsAAYAGSyERkaERI5ALAARViwFy8bsRcePlmwAEVYsAkvG7EJEj5ZsBcQsQABsAorWCHYG/RZsgQXCRESObAEL7AJELEKAbAKK1gh2Bv0WbAEELEQAbAKK1gh2Bv0WbAAELAV0LAW0DAxASERNjMyBBAEIycyNjUmJiMiBxEjESE1IQSU/fadhPQBEv787QKbmAKjopaKwf5hBGoFEv45MPH+TuOWkZSOli79WgUSngABAHv/7ATcBcQAHwCJsgMgIRESOQCwAEVYsAsvG7ELHj5ZsABFWLADLxuxAxI+WbALELAP0LALELESAbAKK1gh2Bv0WbIWAwsREjmwFi+0vxbPFgJxss8WAV2ynxYBcbL/FgFdsi8WAV2yXxYBcrKPFgFysRcBsAorWCHYG/RZsAMQsRwBsAorWCHYG/RZsAMQsB/QMDEBBgQjIAARNTQSJDMyABcjJiYjIgIHIRUhFRQSMzI2NwTcG/7h7v7+/smPAQuw6AEYF8AZp5e5zgICOv3GxrKgqxwBzuf7AXIBNovJATWn/v3lrJ7+8eqdAu3+6JG0AAACADEAAAg7BbAAGAAhAHeyCSIjERI5sAkQsBnQALAARViwAC8bsQAePlmwAEVYsAgvG7EIEj5ZsABFWLAQLxuxEBI+WbIBAAgREjmwAS+wABCxCgGwCitYIdgb9FmwEBCxEgGwCitYIdgb9FmwARCxGQGwCitYIdgb9FmwEhCwGtCwG9AwMQERIRYEFRQEByERIQMCAgYHIzU3PgI3EwERITI2NTQmJwTuAWneAQb+/t790/4AGg9ZrJA/KF1kNAseA3cBX4yinYoFsP3LA/DLxvMEBRL9v/7e/tyJAp0CB2vq8wLC/S39wJ6EgJwCAAACALEAAAhNBbAAEgAbAIWyARwdERI5sAEQsBPQALAARViwEi8bsRIePlmwAEVYsAIvG7ECHj5ZsABFWLAPLxuxDxI+WbAARViwDC8bsQwSPlmyAAIPERI5sAAvsgQMAhESObAEL7AAELEOAbAKK1gh2Bv0WbAEELETAbAKK1gh2Bv0WbAMELEUAbAKK1gh2Bv0WTAxASERMxEhFgQVFAQHIREhESMRMwERITI2NTQmJwFyAs7AAWriAQH+/9/90/0ywcEDjgFfjqCYigM5Anf9ngPivb/pBAKc/WQFsP0B/fWOenSMAwAAAQA+AAAF1AWwABUAX7IOFhcREjkAsABFWLAULxuxFB4+WbAARViwCC8bsQgSPlmwAEVYsBAvG7EQEj5ZsBQQsQABsAorWCHYG/RZsgQUCBESObAEL7ENAbAKK1gh2Bv0WbAAELAS0LAT0DAxASERNjMyFhcRIxEmJiMiBxEjESE1IQSm/fCgr/ryA8EBiaSppsD+aARoBRL+UCja3f4tAc6Yhir9PgUSngABALD+mQT/BbAACwBJALAJL7AARViwAC8bsQAePlmwAEVYsAQvG7EEHj5ZsABFWLAGLxuxBhI+WbAARViwCi8bsQoSPlmxAgGwCitYIdgb9FmwA9AwMRMzESERMxEhESMRIbDBAs7A/kDB/jIFsPrtBRP6UP6ZAWcAAAIAogAABLEFsAAMABUAXrIPFhcREjmwDxCwA9AAsABFWLALLxuxCx4+WbAARViwCS8bsQkSPlmwCxCxAAGwCitYIdgb9FmyAgsJERI5sAIvsQ0BsAorWCHYG/RZsAkQsQ4BsAorWCHYG/RZMDEBIREhFgQVFAQHIREhAREhMjY1NCYnBCH9QgFq5AEA/v7f/dIDf/1CAV+Pn5mNBRL+TAPkxMXqBAWw/RD93ZiAe44CAAACADL+mgXJBbAADgAVAF2yEhYXERI5sBIQsAvQALAEL7AARViwCy8bsQsePlmwAEVYsAIvG7ECEj5ZsAQQsAHQsAIQsQYBsAorWCHYG/RZsA3QsA7QsA/QsBDQsAsQsREBsAorWCHYG/RZMDEBIxEhESMDMzYSNxMhETMhIREhAwYCBce/++vAAXdebw4gA2e++7sCxv4TFQ1r/psBZf6aAgNqAWXVAm/67QR1/lT7/p4AAQAbAAAHNQWwABUAhwCwAEVYsAkvG7EJHj5ZsABFWLANLxuxDR4+WbAARViwES8bsREePlmwAEVYsAIvG7ECEj5ZsABFWLAGLxuxBhI+WbAARViwFC8bsRQSPlmwAhCwENCwEC+yLxABXbLPEAFdsQABsAorWCHYG/RZsATQsggQABESObAQELAL0LITABAREjkwMQEjESMRIwEjAQEzATMRMxEzATMBASMEqJzApf5k8AHq/jzjAYOlwJ4Bg+L+PAHq7wKY/WgCmP1oAwACsP2IAnj9iAJ4/VH8/wAAAQBQ/+wEagXEACgAdbIDKSoREjkAsABFWLALLxuxCx4+WbAARViwFi8bsRYSPlmwCxCxAwGwCitYIdgb9FmwCxCwBtCyJRYLERI5sCUvss8lAV2ynyUBcbEkAbAKK1gh2Bv0WbIRJCUREjmwFhCwG9CwFhCxHgGwCitYIdgb9FkwMQE0JiMiBhUjNDY2MzIEFRQGBwQVFAQjIiYmNTMUFjMyNjUQJSM1MzY2A5SpmYCtwH/kivQBDnxvAQH+3PSR7YTAtoydu/7DtLOSlgQpdImNaHS4Z9vDZaYwVv/E5me+g3OZkngBAAWeA34AAAEAsQAABP8FsAAJAF0AsABFWLAALxuxAB4+WbAARViwBy8bsQcePlmwAEVYsAIvG7ECEj5ZsABFWLAFLxuxBRI+WbIEAAIREjlACYoEmgSqBLoEBF2yCQACERI5QAmFCZUJpQm1CQRdMDEBMxEjEQEjETMRBD/AwP0zwcEFsPpQBGL7ngWw+54AAAEALwAABPYFsAARAE+yBBITERI5ALAARViwAC8bsQAePlmwAEVYsAEvG7EBEj5ZsABFWLAJLxuxCRI+WbAAELEDAbAKK1gh2Bv0WbAJELELAbAKK1gh2Bv0WTAxAREjESEDAgIGByM1Nz4CNxME9sD99hoPWayQPyhdZDQLHgWw+lAFEv2//t7+3IkCnQIHa+rzAsIAAAEATf/rBMsFsAARAEuyBBITERI5ALAARViwAS8bsQEePlmwAEVYsBAvG7EQHj5ZsABFWLAHLxuxBxI+WbIAAQcREjmxCwGwCitYIdgb9FmyDwcQERI5MDEBATMBDgIjIic3FzI/AgEzAp0BT9/9/TRaeVtPFgZbaTMZJv4Q1wJjA037Q3RhMwmYBGU0WQQ2AAMAU//EBeMF7AAYACEAKgBdsgwrLBESObAMELAg0LAMELAi0ACwCy+wFy+yFRcLERI5sBUvsADQsgkLFxESObAJL7AN0LAVELEZAbAKK1gh2Bv0WbAJELEkAbAKK1gh2Bv0WbAf0LAZELAi0DAxATMWBBIVFAIEByMVIzUjIiQCEBIkMzM1MwMiBhUUFjMzETMRMzI2NTQmIwN4H6UBEJeY/vSkI7ocp/7vl5cBEaccuta829q/Grocv9fXwwUeAZj+9aWm/vKXAsTEmAEMAU4BDJjO/pvnzc7lA2f8mevKyOoAAAEAr/6hBZcFsAALADwAsAkvsABFWLAALxuxAB4+WbAARViwBC8bsQQePlmwAEVYsAovG7EKEj5ZsQIBsAorWCHYG/RZsAbQMDETMxEhETMRMwMjESGvwQLOwJkSrfvXBbD67QUT+vH+AAFfAAEAlgAABMgFsAASAEeyBRMUERI5ALAARViwAC8bsQAePlmwAEVYsAovG7EKHj5ZsABFWLABLxuxARI+WbIPAAEREjmwDy+xBgGwCitYIdgb9FkwMQERIxEGBiMiJicRMxEWFjMyNxEEyMFprG758gPBAYmjvsUFsPpQAlseF9jfAdP+MpiGNgK2AAEAsAAABtcFsAALAEkAsABFWLAALxuxAB4+WbAARViwAy8bsQMePlmwAEVYsAcvG7EHHj5ZsABFWLAJLxuxCRI+WbEBAbAKK1gh2Bv0WbAF0LAG0DAxAREhETMRIREzESERAXEB9b8B8sD52QWw+u0FE/rtBRP6UAWwAAABALD+oQdqBbAADwBVALALL7AARViwAC8bsQAePlmwAEVYsAMvG7EDHj5ZsABFWLAHLxuxBx4+WbAARViwDS8bsQ0SPlmxAQGwCitYIdgb9FmwBdCwBtCwCdCwCtCwAtAwMQERIREzESERMxEzAyMRIREBcQH1vwHywJMSpfn9BbD67QUT+u0FE/rn/goBXwWwAAIAEAAABbgFsAAMABUAYbIBFhcREjmwARCwDdAAsABFWLAALxuxAB4+WbAARViwCS8bsQkSPlmyAgAJERI5sAIvsAAQsQsBsAorWCHYG/RZsAIQsQ0BsAorWCHYG/RZsAkQsQ4BsAorWCHYG/RZMDETIREhMgQVFAQHIREhAREhMjY1NCYnEAJbAVrvAQT+/uL91v5mAlsBX46fmYwFsP2u5cbF6wMFGP2o/d2YgHuOAgADALIAAAYwBbAACgATABcAb7ISGBkREjmwEhCwBtCwEhCwFdAAsABFWLAJLxuxCR4+WbAARViwFi8bsRYePlmwAEVYsAcvG7EHEj5ZsABFWLAULxuxFBI+WbIACQcREjmwAC+xCwGwCitYIdgb9FmwBxCxDAGwCitYIdgb9FkwMQEhFgQVFAQHIREzEREhMjY1NCYnASMRMwFyAWrkAQD+/t/908ABX4+fmY0DV8DAA14D5MTF6gQFsP0Q/d2YgHuOAv1ABbAAAAIAowAABLEFsAAKABMAT7INFBUREjmwDRCwAdAAsABFWLAJLxuxCR4+WbAARViwBy8bsQcSPlmyAAkHERI5sAAvsQsBsAorWCHYG/RZsAcQsQwBsAorWCHYG/RZMDEBIRYEFRQEByERMxERITI2NTQmJwFjAWrkAQD+/t/908ABX4+fmY0DXgPkxMXqBAWw/RD93ZiAe44CAAABAJP/7AT0BcQAHwCSsgwgIRESOQCwAEVYsBMvG7ETHj5ZsABFWLAcLxuxHBI+WbAA0LAcELEDAbAKK1gh2Bv0WbIIHBMREjmwCC+07wj/CAJxss8IAV2yLwgBcbS/CM8IAnGynwgBcbL/CAFdsi8IAV2yXwgBcrKPCAFysQYBsAorWCHYG/RZsBMQsQwBsAorWCHYG/RZsBMQsA/QMDEBFhYzMhI3ITUhNAIjIgYHIzYAMzIEEhUVFAIEIyIkJwFUHKugrckC/cMCPc+6lqcZwRcBGOiwAQuPjv79qO7+4RsBzrSRAQ7wnu0BFJyu5QEDp/7LyZHJ/syl++cAAAIAt//sBtoFxAAXACUApLIhJicREjmwIRCwEtAAsABFWLATLxuxEx4+WbAARViwDS8bsQ0ePlmwAEVYsAQvG7EEEj5ZsABFWLAKLxuxChI+WbIPCg0REjmwDy+yXw8BXbL/DwFdtE8PXw8CcbSPD58PAnGyLw8BcbLPDwFdsi8PAV2yzw8BcbEIAbAKK1gh2Bv0WbATELEbAbAKK1gh2Bv0WbAEELEiAbAKK1gh2Bv0WTAxARQCBCMiJAInIxEjETMRMzYSJDMyBBIVJxACIyICBxUUEjMyEjcG2pD++LCm/vmVCNHAwNADkAEKrK8BC5C/0Lu20QPTubrMAwKp1v7BqKABKsf9gwWw/WTOATerqf6/1QIBAwEV/uv2a/v+4QEP/QACAFkAAARkBbAADAAVAGOyEBYXERI5sBAQsArQALAARViwCi8bsQoePlmwAEVYsAAvG7EAEj5ZsABFWLADLxuxAxI+WbIRCgAREjmwES+xAQGwCitYIdgb9FmyBQEKERI5sAoQsRIBsAorWCHYG/RZMDEhESEBIwEkETQkMyERARQWFyERISIGA6P+sP7TzQFS/uYBEfMBz/ztpZMBGv7vnKUCN/3JAmxvAR7Q5/pQA/mEoAECPpQAAgBh/+wEKAYRABsAKABkshwpKhESObAcELAI0ACwAEVYsBIvG7ESID5ZsABFWLAILxuxCBI+WbIAEggREjmwAC+yFwASERI5sg8SFxESObIaAAgREjmxHAGwCitYIdgb9FmwCBCxIwGwCitYIdgb9FkwMQEyEhUVFAYGIyIANTUQEjc2NjUzFAYHBwYGBzYXIgYVFRQWMzI2NTQmAmfM9XbdkNr+9v33jGKYcXyKpaUZk6+IoKGJiqChA/z+798RmfGFASP1WgFVAZIsGUg/fYwdHye5mqqYt6IQrsvMxJm5AAMAnQAABCkEOgAOABYAHACRshgdHhESObAYELAC0LAYELAW0ACwAEVYsAEvG7EBGj5ZsABFWLAALxuxABI+WbIXAQAREjmwFy+0vxfPFwJdtJ8XrxcCcbL/FwFdsg8XAXG0Lxc/FwJdtG8XfxcCcrEPAbAKK1gh2Bv0WbIIDxcREjmwABCxEAGwCitYIdgb9FmwARCxGwGwCitYIdgb9FkwMTMRITIWFRQGBxYWFRQGIwERITI2NTQjJTMgECcjnQGm2OdaWGJ328j+0AEydHPu/tXvAQT2/QQ6l5JLeSAXhl2VngHb/rpWTqKUATAFAAEAmgAAA0cEOgAFACwAsABFWLAELxuxBBo+WbAARViwAi8bsQISPlmwBBCxAAGwCitYIdgb9FkwMQEhESMRIQNH/g26Aq0DofxfBDoAAAIALv7CBJMEOgAOABQAXbISFRYREjmwEhCwBNAAsAwvsABFWLAELxuxBBo+WbAARViwCi8bsQoSPlmxAAGwCitYIdgb9FmwBtCwB9CwDBCwCdCwBxCwD9CwENCwBBCxEQGwCitYIdgb9FkwMTc3NhMTIREzESMRIREjEyEhESEDAoNAbA8RArmLuf0NuQEBLwHx/rMLEZdPjAEYAbD8Xf4rAT7+wgHVAvj+/v69AAEAFQAABgQEOgAVAJEAsABFWLAJLxuxCRo+WbAARViwDS8bsQ0aPlmwAEVYsBEvG7ERGj5ZsABFWLACLxuxAhI+WbAARViwBi8bsQYSPlmwAEVYsBQvG7EUEj5ZsAIQsBDQsBAvsr8QAV2y/xABXbIvEAFdss8QAXGxAAGwCitYIdgb9FmwBNCyCBAAERI5sBAQsAvQshMAEBESOTAxASMRIxEjASMBATMBMxEzETMBMwEBIwPrgrmC/tHqAYP+ouABF3+5fgEZ4P6hAYPqAdb+KgHW/ioCMAIK/kABwP5AAcD99f3RAAABAFj/7QOsBE0AJgCJsgMnKBESOQCwAEVYsAovG7EKGj5ZsABFWLAVLxuxFRI+WbAKELEDAbAKK1gh2Bv0WbIlChUREjmwJS+0LyU/JQJdtL8lzyUCXbSfJa8lAnG0byV/JQJysgYlChESObEiAbAKK1gh2Bv0WbIQIiUREjmyGRUKERI5sBUQsRwBsAorWCHYG/RZMDEBNCYjIgYVIzQ2MzIWFRQGBxYVFAYjIiY1MxQWMzI2NTQmIyM1MzYC33RlYoO47LG+1FhRvebAu/O4jWlqgm1zucm9AxJMWWZFjbSjl0l6JEC8la63nE9xYk5bT5wFAAABAJwAAAQBBDoACQBFALAARViwAC8bsQAaPlmwAEVYsAcvG7EHGj5ZsABFWLACLxuxAhI+WbAARViwBS8bsQUSPlmyBAcCERI5sgkHAhESOTAxATMRIxEBIxEzEQNIubn+Dbm5BDr7xgMV/OsEOvzqAAABAJwAAAQ/BDoADAB4ALAARViwBC8bsQQaPlmwAEVYsAgvG7EIGj5ZsABFWLACLxuxAhI+WbAARViwCy8bsQsSPlmwAhCwBtCwBi+ynwYBXbL/BgFdss8GAXGynwYBcbS/Bs8GAl2yLwYBXbJvBgFysQEBsAorWCHYG/RZsgoBBhESOTAxASMRIxEzETMBMwEBIwHdh7q6eQFs4P5UAdDrAc3+MwQ6/jYByv34/c4AAAEALAAABAMEOgAPAE+yBBARERI5ALAARViwAC8bsQAaPlmwAEVYsAEvG7EBEj5ZsABFWLAILxuxCBI+WbAAELEDAbAKK1gh2Bv0WbAIELEKAbAKK1gh2Bv0WTAxAREjESEDAgYHIzU3NjY3EwQDuv6QFhKXpEo1Wk4LFAQ6+8YDof5r/unwBaMECrz+Ac8AAAEAnQAABVIEOgAMAFkAsABFWLABLxuxARo+WbAARViwCy8bsQsaPlmwAEVYsAMvG7EDEj5ZsABFWLAGLxuxBhI+WbAARViwCS8bsQkSPlmyAAsDERI5sgULAxESObIICwMREjkwMSUBMxEjEQEjAREjETMC+wFw57n+ooD+m7nw9QNF+8YDE/ztAyT83AQ6AAEAnAAABAAEOgALAIsAsABFWLAGLxuxBho+WbAARViwCi8bsQoaPlmwAEVYsAAvG7EAEj5ZsABFWLAELxuxBBI+WbAAELAJ0LAJL7JvCQFdtL8JzwkCXbI/CQFxtM8J3wkCcbIPCQFytJ8JrwkCcbL/CQFdsg8JAXGynwkBXbIvCQFdtG8JfwkCcrECAbAKK1gh2Bv0WTAxISMRIREjETMRIREzBAC5/g+6ugHxuQHO/jIEOv4rAdUAAAEAnAAABAEEOgAHADkAsABFWLAGLxuxBho+WbAARViwAC8bsQASPlmwAEVYsAQvG7EEEj5ZsAYQsQIBsAorWCHYG/RZMDEhIxEhESMRIQQBuf4OugNlA6H8XwQ6AAABACgAAAOwBDoABwAyALAARViwBi8bsQYaPlmwAEVYsAIvG7ECEj5ZsAYQsQABsAorWCHYG/RZsATQsAXQMDEBIREjESE1IQOw/pW5/pwDiAOk/FwDpJYAAwBk/mAFaQYAABoAJQAwAIGyBzEyERI5sAcQsCDQsAcQsCvQALAGL7AARViwAy8bsQMaPlmwAEVYsAovG7EKGj5ZsABFWLATLxuxExQ+WbAARViwEC8bsRASPlmwAEVYsBcvG7EXEj5ZsAoQsR4BsAorWCHYG/RZsBAQsSMBsAorWCHYG/RZsCnQsB4QsC7QMDETEBIzMhcRMxE2MzISERQCIyInESMRBiMiAjUlNCYjIgcRFjMyNiUUFjMyNxEmIyIGZNK3VUC5Rl640tG3YUW5QlW20QRMjHs/Ly1DfIn8bYJ6Oi8qPXqEAgkBDwE2HQHP/isj/sr+3O/+5iD+VQGoHQEa9Q/M4RT88RHAsra8EgMREdoAAAEAnP6/BIIEOgALADwAsAgvsABFWLAALxuxABo+WbAARViwBC8bsQQaPlmwAEVYsAovG7EKEj5ZsQIBsAorWCHYG/RZsAbQMDETMxEhETMRMwMjESGcugHyuYESpvzSBDr8XQOj/F3+KAFBAAEAZwAAA70EOwAQAEeyBBESERI5ALAARViwCC8bsQgaPlmwAEVYsA8vG7EPGj5ZsABFWLAALxuxABI+WbIMDwAREjmwDC+xBAGwCitYIdgb9FkwMSEjEQYjIiYnETMRFjMyNxEzA726eoDL1QK5BeSAeroBiCDQwAFD/rfyIAIaAAABAJwAAAXgBDoACwBJALAARViwAC8bsQAaPlmwAEVYsAMvG7EDGj5ZsABFWLAHLxuxBxo+WbAARViwCS8bsQkSPlmxAQGwCitYIdgb9FmwBdCwBtAwMQERIREzESERMxEhEQFWAYy5AYu6+rwEOvxdA6P8XQOj+8YEOgAAAQCR/r8GbQQ6AA8ATACwDC+wAEVYsAAvG7EAGj5ZsABFWLADLxuxAxo+WbAARViwBy8bsQcaPlmwAEVYsA0vG7ENEj5ZsQEBsAorWCHYG/RZsAXQsAnQMDEBESERMxEhETMRMwMjESERAUsBjLkBi7qYEqb63AQ6/F0Do/xdA6P8Xf4oAUEEOgAAAgAeAAAEvwQ6AAwAFQBhsgEWFxESObABELAN0ACwAEVYsAAvG7EAGj5ZsABFWLAJLxuxCRI+WbICAAkREjmwAi+wABCxCwGwCitYIdgb9FmwAhCxDQGwCitYIdgb9FmwCRCxDgGwCitYIdgb9FkwMRMhESEWFhUUBiMhESEBESEyNjU0JiceAfoBGbjW3Lr+Nv6/AfoBE2hyb2QEOv6LAryhosQDov6M/mlrXVpzAgADAJ0AAAV/BDoACgAOABcAb7IGGBkREjmwBhCwDNCwBhCwE9AAsABFWLAJLxuxCRo+WbAARViwDS8bsQ0aPlmwAEVYsAcvG7EHEj5ZsABFWLALLxuxCxI+WbIADQcREjmwAC+xDwGwCitYIdgb9FmwBxCxEAGwCitYIdgb9FkwMQEhFhYVFAYjIREzASMRMwERITI2NTQmJwFWARm41ty6/ja5BCm6uvvXARNocm9kAsUCvKGixAQ6+8YEOv30/mlrXVpzAgACAJ0AAAP9BDoACgATAE+yBxQVERI5sAcQsA3QALAARViwCS8bsQkaPlmwAEVYsAcvG7EHEj5ZsgAJBxESObAAL7ELAbAKK1gh2Bv0WbAHELEMAbAKK1gh2Bv0WTAxASEWFhUUBiMhETMRESEyNjU0JicBVgEZuNbcuv42uQETaHJvZALFAryhosQEOv30/mlrXVpzAgABAGT/7APgBE4AHwCFsgAgIRESOQCwAEVYsAgvG7EIGj5ZsABFWLAQLxuxEBI+WbAIELEAAbAKK1gh2Bv0WbIdCBAREjmwHS+0Lx0/HQJdtL8dzx0CXbSfHa8dAnG0bx1/HQJysgMIHRESObIUEAgREjmwEBCxFwGwCitYIdgb9FmwHRCxGgGwCitYIdgb9FkwMQEiBhUjNDY2MzIAFRUUBgYjIiY1MxQWMzI2NyE1ISYmAghjkbB2xGrTAQV314q08LCOZneaDP5qAZQOlgO2flZdqmX+z/YfmPuJ4Kdmi7ihmJKxAAIAnf/sBjAETgAUAB8AoLINICEREjmwDRCwFdAAsABFWLAULxuxFBo+WbAARViwBC8bsQQaPlmwAEVYsBEvG7EREj5ZsABFWLAMLxuxDBI+WbIAERQREjmwAC+0vwDPAAJdtJ8ArwACcbL/AAFdsg8AAXG0LwA/AAJdtl8AbwB/AANysRABsAorWCHYG/RZsAwQsRgBsAorWCHYG/RZsAQQsR0BsAorWCHYG/RZMDEBITYAMzIAFxcUBgYjIgAnIREjETMBFBYgNjU0JiMiBgFWAQQVAQnK1AEOCwF84JDR/vYQ/v25uQG6pwEapaiMiqgCb9gBB/7i5Tqe/okBEdr+KQQ6/de02t7Gsd7aAAIALwAAA8cEOgANABYAY7IUFxgREjmwFBCwDdAAsABFWLAALxuxABo+WbAARViwAS8bsQESPlmwAEVYsAUvG7EFEj5ZshIAARESObASL7EDAbAKK1gh2Bv0WbIHAwAREjmwABCxEwGwCitYIdgb9FkwMQERIxEhAyMBJiY1NDY3AxQWFyERISIGA8e6/un/yAEQaG/eut5sWQEm/vZnegQ6+8YBpf5bAcEmn2qUtQH+tE9hAQFnZQAB/+j+SwPfBgAAIgCHsg0jJBESOQCwHy+wAEVYsAQvG7EEGj5ZsABFWLAZLxuxGRI+WbAARViwCi8bsQoUPlmyvx8BXbIvHwFdsg8fAV2yHhkfERI5sB4vsCHQsQEBsAorWCHYG/RZsgIZBBESObAKELEPAbAKK1gh2Bv0WbAEELEVAbAKK1gh2Bv0WbABELAb0DAxASERNjMgExEUBiMiJzcWMjY1ETQmIyIGBxEjESM1MzUzFSECY/7ie8UBVwOqmD02DyOCSGlwWogmuaSkuQEeBLn+/pf+ffzcqrISkw1oXAMgeHJgTvz9BLmYr68AAAEAZ//sA/cETgAfAJ+yACAhERI5ALAARViwEC8bsRAaPlmwAEVYsAgvG7EIEj5ZsQABsAorWCHYG/RZsgMIEBESObIbEAgREjmwGy+0DxsfGwJytL8bzxsCXbSfG68bAnG0zxvfGwJxsv8bAV2yDxsBcbQvGz8bAl20bxt/GwJysr8bAXKyFBAbERI5sBAQsRcBsAorWCHYG/RZsBsQsRwBsAorWCHYG/RZMDElMjY3Mw4CIyIAETU0NjYzMhYXIyYmIyIGByEVIRYWAkhjlAiwBXjEbt7+/XXYlLbxCLAIj2iCmgoBlP5sCpmDeFpeqGMBKAEAHp/3htquaYexnZigrQAAAgAnAAAGhgQ6ABYAHwB9sgkgIRESObAJELAX0ACwAEVYsAAvG7EAGj5ZsABFWLAILxuxCBI+WbAARViwDy8bsQ8SPlmyAQAIERI5sAEvsAAQsQoBsAorWCHYG/RZsA8QsREBsAorWCHYG/RZsAEQsRcBsAorWCHYG/RZsAgQsRgBsAorWCHYG/RZMDEBESEWFhUUBgchESEDAgYHIzU3NjY3EwERITI2NTQmJwPfAR6209O3/in+rxcUnKVBNlVNDRcCvAETZXVyYwQ6/mQDtZSTvAMDof5a/uvkAqMECqfTAg/9zP6PaVZRYAEAAAIAnAAABqcEOgASABsAfrIBHB0REjmwARCwE9AAsABFWLACLxuxAho+WbAARViwES8bsREaPlmwAEVYsAsvG7ELEj5ZsABFWLAPLxuxDxI+WbIBEQsREjmwAS+wBNCwARCxDQGwCitYIdgb9FmwBBCxEwGwCitYIdgb9FmwCxCxFAGwCitYIdgb9FkwMQEhETMRIRYWFRQGIyERIREjETMBESEyNjU0JicBVgHxuQEitNHZvf42/g+6ugKqARNldXJjAqEBmf5jBLGWl7sCCv32BDr9zP6PaVZRYAEAAAH//QAAA98GAAAZAHuyDBobERI5ALAWL7AARViwBC8bsQQaPlmwAEVYsAcvG7EHEj5ZsABFWLAQLxuxEBI+WbK/FgFdsi8WAV2yDxYBXbIZEBYREjmwGS+xAAGwCitYIdgb9FmyAgQHERI5sAQQsQwBsAorWCHYG/RZsAAQsBLQsBkQsBTQMDEBIRE2MyATESMRJiYjIgYHESMRIzUzNTMVIQJ5/sx7xQFXA7kBaW9aiCa5j4+5ATQEvv75l/59/TUCzHVwYE78/QS+l6urAAABAJz+nAQBBDoACwBGALAIL7AARViwAC8bsQAaPlmwAEVYsAMvG7EDGj5ZsABFWLAFLxuxBRI+WbAARViwCS8bsQkSPlmxAQGwCitYIdgb9FkwMQERIREzESERIxEhEQFWAfK5/q25/qcEOvxdA6P7xv6cAWQEOgABAJz/7AZ1BbAAIABhsgchIhESOQCwAEVYsAAvG7EAHj5ZsABFWLAOLxuxDh4+WbAARViwFy8bsRcePlmwAEVYsAQvG7EEEj5ZsABFWLAKLxuxChI+WbIHAAQREjmxEwGwCitYIdgb9FmwHNAwMQERFAYjIiYnBgYjIiYnETMRFBYzMjY1ETMRFBYzMjY1EQZ14cNtqzE0snG91wHBcmJygsd8aWp6BbD73sbcV1lZV9vDBCb73XuKiXwEI/vdfYiJfQQiAAABAIH/6wWtBDoAHgBhsgYfIBESOQCwAEVYsAAvG7EAGj5ZsABFWLAMLxuxDBo+WbAARViwFS8bsRUaPlmwAEVYsAQvG7EEEj5ZsABFWLAILxuxCBI+WbIGFQQREjmxEQGwCitYIdgb9FmwGtAwMQERFAYjIicGIyImJxEzERYWMzI2NREzERQWMzI2NxEFrcquxllfzqfAAbkBW1Nib7plXFllAQQ6/SewxpSUw7AC3P0jZnV4ZwLZ/SdneHVmAt0AAAL/3AAAA/wGFgARABoAdLIUGxwREjmwFBCwA9AAsABFWLAOLxuxDiA+WbAARViwCC8bsQgSPlmyEQ4IERI5sBEvsQABsAorWCHYG/RZsgIOCBESObACL7AAELAK0LARELAM0LACELESAbAKK1gh2Bv0WbAIELETAbAKK1gh2Bv0WTAxASERIRYWEAYHIREjNTMRMxEhAREhMjY1NCYnApb+vwEYu9TUt/4qv7+6AUH+vwESaXFvZAQ6/rACyv620QMEOpcBRf67/YH+RXdkYX0CAAEAt//tBqAFxQAmAIqyHicoERI5ALAARViwBS8bsQUePlmwAEVYsCYvG7EmHj5ZsABFWLAdLxuxHRI+WbAARViwIy8bsSMSPlmyEAUdERI5sBAvsADQsAUQsAnQsAUQsQwBsAorWCHYG/RZsBAQsREBsAorWCHYG/RZsB0QsRYBsAorWCHYG/RZsB0QsBnQsBEQsCHQMDEBMzYSJDMyABcjJiYjIgIHIRUhFRQSMzI2NzMGBCMgABE1IxEjETMBeMcFkwEGrOYBGRjAGaeXtM8GAh794sayo6kcwBv+4e7+/v7Jx8HBA0DBASae/wDorJ7+++KXGu3+6JOy5/sBcgE2FP1XBbAAAAEAmf/sBaEETgAkAMeyAyUmERI5ALAARViwBC8bsQQaPlmwAEVYsCQvG7EkGj5ZsABFWLAhLxuxIRI+WbAARViwHC8bsRwSPlmyDxwEERI5sA8vtL8Pzw8CXbQ/D08PAnG0zw/fDwJxtA8PHw8CcrSfD68PAnGy/w8BXbIPDwFxtC8PPw8CXbRvD38PAnKwANCyCA8EERI5sAQQsQsBsAorWCHYG/RZsA8QsRABsAorWCHYG/RZsBwQsRQBsAorWCHYG/RZshccBBESObAQELAf0DAxATM2EjMyFhcjJiYjIgYHIRUhFhYzMjY3Mw4CIyICJyMRIxEzAVO/EP/RtvEIsAiPaISYCgG1/ksKmYNjlAiwBXjEbtH+EMC6ugJn3wEI2q5ph7Gel6CteFpeqGMBBt7+MAQ6AAIAKAAABOQFsAALAA4AVwCwAEVYsAgvG7EIHj5ZsABFWLACLxuxAhI+WbAARViwBi8bsQYSPlmwAEVYsAovG7EKEj5Zsg0IAhESObANL7EAAbAKK1gh2Bv0WbAE0LIOCAIREjkwMQEjESMRIwMjATMBIwEhAwOJqryemMUCDasCBMX9nwGTxwG2/koBtv5KBbD6UAJaAkkAAgAPAAAEJQQ6AAsAEABXALAARViwCC8bsQgaPlmwAEVYsAIvG7ECEj5ZsABFWLAGLxuxBhI+WbAARViwCi8bsQoSPlmyDQIIERI5sA0vsQEBsAorWCHYG/RZsATQsg8IAhESOTAxASMRIxEjAyMBMwEjASEDJwcC7XW5fHe9AbqfAb2+/hkBL4AYGAEp/tcBKf7XBDr7xgHBATtZWQACAMkAAAb1BbAAEwAWAH0AsABFWLACLxuxAh4+WbAARViwEi8bsRIePlmwAEVYsAQvG7EEEj5ZsABFWLAILxuxCBI+WbAARViwDC8bsQwSPlmwAEVYsBAvG7EQEj5ZshUCBBESObAVL7AA0LAVELEGAbAKK1gh2Bv0WbAK0LAGELAO0LIWAgQREjkwMQEhATMBIwMjESMRIwMjEyERIxEzASEDAYoBhwE1qwIExZaqvJ6YxZ7+s8HBAkUBk8cCWQNX+lABtv5KAbb+SgG4/kgFsPyqAkkAAgC8AAAF5AQ6ABMAGACAALAARViwAi8bsQIaPlmwAEVYsBIvG7ESGj5ZsABFWLAELxuxBBI+WbAARViwCC8bsQgSPlmwAEVYsAwvG7EMEj5ZsABFWLAQLxuxEBI+WbIAEBIREjmwAC+wAdCxDgGwCitYIdgb9FmwC9CwB9CwARCwFNCwFdCyFxIEERI5MDEBIQEzASMDIxEjESMDIxMjESMRMwEhAycHAXYBDwEDnwG9vnp1uXx3vXnRuroByQEvgBgYAcECefvGASn+1wEp/tcBKP7YBDr9hwE7WVkAAgCTAAAGPwWwAB0AIQB4sh4iIxESObAeELAO0ACwAEVYsBwvG7EcHj5ZsABFWLAFLxuxBRI+WbAARViwDS8bsQ0SPlmwAEVYsBUvG7EVEj5ZsgENHBESObABL7EKAbAKK1gh2Bv0WbAQ0LABELAa0LABELAe0LAcELEgAbAKK1gh2Bv0WTAxATMyFhcRIxEmJicjBxEjEScjIgYHESMRNjYzMwEhATMBIQRBG/TsA8EBfJqFFcENiJ6CBMAD7PMq/ngEsv2fEAEa/bsDKtTY/oIBeJCCAiP9lwJ2FnuN/nwBftjUAob9egHoAAACAJYAAAVLBDoAGwAfAHWyHCAhERI5sBwQsBTQALAARViwBi8bsQYaPlmwAEVYsBsvG7EbEj5ZsABFWLAULxuxFBI+WbAARViwDC8bsQwSPlmyHBQGERI5sBwvsATQsBwQsAfQsRABsAorWCHYG/RZsBfQsAYQsR4BsAorWCHYG/RZMDEzNTY2NwEhARYWFxUjNSYmIyMHESMRJyMiBgcVATMTIZYEytL+4QO//uDOxQK6AnOMNQu5Bj6MdQIBogi3/ou2zdIGAd/+IQvT0K2xkoET/k8Buwl+lbECXAFGAAIAtgAACHIFsAAiACYAlbImJygREjmwJhCwHtAAsABFWLAILxuxCB4+WbAARViwCy8bsQsePlmwAEVYsAUvG7EFEj5ZsABFWLAiLxuxIhI+WbAARViwGy8bsRsSPlmwAEVYsBMvG7ETEj5ZsgkFCBESObAJL7EEAbAKK1gh2Bv0WbAJELAj0LAN0LAEELAe0LAY0LALELEmAbAKK1gh2Bv0WTAxIRE2NyERIxEzESEBIQEzMhYXESMRJiYnIwcRIxEnIyIGBxEBMwEhAsUBT/5iwcEDWf55BLP+eBv07APBAXyahRbADoeeggQCFRABGv27AXizaf1sBbD9fAKE/XrU2P6CAXiQggIl/ZkCdRd7jf58AyoB6AACAJsAAAc7BDoAIQAlAJiyHiYnERI5sB4QsCXQALAARViwBy8bsQcaPlmwAEVYsAsvG7ELGj5ZsABFWLAALxuxABI+WbAARViwBS8bsQUSPlmwAEVYsBEvG7EREj5ZsABFWLAZLxuxGRI+WbIKCwAREjmwCi+xHQGwCitYIdgb9FmwA9CwChCwDdCwHRCwFtCwChCwItCwCxCxJAGwCitYIdgb9FkwMSE1NjchESMRMxEhASEBFhYXFSM1JiYjIwcRIxEnIwYGBxUBMxMhAoYCRv6HuroC0f7hA7/+4M7FAroCc4w1C7kGS4VvAgGiCLf+i6+taP48BDr+IgHe/iEL09CtsZKBE/5PAbsJAoCTrwJcAUYAAAIAUP5GA6oHhgApADIAirIqMzQREjmwKhCwAtAAsBkvsC4vsABFWLAFLxuxBR4+WbAARViwEi8bsRISPlmwBRCxAwGwCitYIdgb9FmyKAUSERI5sCgvsSUBsAorWCHYG/RZsgwlKBESObASELEfAbAKK1gh2Bv0WbIPLgFdsC4QsCvQsCsvtA8rHysCXbIqLisREjmwMtAwMQE0JiMhNSEyBBUUBgcWFhUUBCMjBhUUFxcHJiY1NDY3MzY2NRAlIzUzIAM3MxUDIwM1MwLanYf+zgEr3gEGgXOCif734DSNgh9Keo2lojSGn/6+mYYBP7uXoP5y+p0EKm6AmNiyZ6QtKa2CxOUDbWlCD301qGN6gwEBlHkBCAWYA6WqCv7uARIKAAACAEz+RgN2BjAAKQAyAJ+yLjM0ERI5sC4QsB/QALAYL7AuL7AARViwBS8bsQUaPlmwAEVYsBEvG7EREj5ZsAUQsQMBsAorWCHYG/RZsigFERESObAoL7IvKAFdtL8ozygCXbSfKK8oAnG0byh/KAJysSUBsAorWCHYG/RZsgwlKBESObARELEeAbAKK1gh2Bv0WbAuELAr0LArL7QPKx8rAl2yKi4rERI5sDLQMDEBNCYnITUhMhYVFAYHFhUUBiMjBhUUFxcHJiY1NDY3MzY3NjU0JSM1MyADNzMVAyMDNTMCp39w/skBJ8ruZlvX88gyjYIfS3yKpaI2ckM//uiZiAET2Zeg/nL6nQMJQ1MCmaqLSXckQq+UrwNtaUIPfTeoYXqDAQIwLkiiA5gDHaoK/u4BEgoAAwBn/+wE+gXEABEAGAAfAIyyBCAhERI5sAQQsBLQsAQQsBnQALAARViwDS8bsQ0ePlmwAEVYsAQvG7EEEj5ZsA0QsRIBsAorWCHYG/RZshYNBBESObAWL7IvFgFdss8WAV2yLxYBcbL/FgFdsl8WAV20TxZfFgJxsp8WAXGwBBCxGQGwCitYIdgb9FmwFhCxHAGwCitYIdgb9FkwMQEUAgQjIiQCJzU0EiQzMgQSFwEiAgchJgIDMhI3IRYSBPqP/vixrP72kwKSAQusrwEIkQL9trbQBAMUBM62tsoI/OwI0wKp1f7CqqkBOc5p0gFCq6j+xc8CDf7t8vgBDftwAQD07P74AAMAW//sBDQETgAPABUAHACKsgQdHhESObAEELAT0LAEELAW0ACwAEVYsAQvG7EEGj5ZsABFWLAMLxuxDBI+WbIaDAQREjmwGi+0vxrPGgJdtJ8arxoCcbL/GgFdsg8aAXG0Lxo/GgJdtM8a3xoCcbEQAbAKK1gh2Bv0WbAMELEUAbAKK1gh2Bv0WbAEELEWAbAKK1gh2Bv0WTAxEzQ2NjMyABcXFAYGIyIANQUhFhYgNgEiBgchJiZbe+GP1AEOCwF84JDe/vEDHP2fDaQBAqH+3H2iDwJeEqMCJ5/9i/7i5Tqe/okBM/tEm7i6Anm1k5exAAABABYAAATdBcMADwBHsgIQERESOQCwAEVYsAYvG7EGHj5ZsABFWLAPLxuxDx4+WbAARViwDC8bsQwSPlmyAQYMERI5sAYQsQgBsAorWCHYG/RZMDEBFzcBNjYzFwciBgcBIwEzAkMhIwEIM4ZnLgFAQB/+fKr+B9ABdoKBAz+XeAGrPFT7eQWwAAABAC4AAAQLBE0AEQBHsgISExESOQCwAEVYsAUvG7EFGj5ZsABFWLARLxuxERo+WbAARViwDi8bsQ4SPlmyAQUOERI5sAUQsQoBsAorWCHYG/RZMDEBFzcTNjMyFwcmIyIGBwEjATMB2xcZnU2sRyMVDR0fPBD+143+g70BPGRkAh/yGJQIMC38tAQ6AAIAZ/9zBPoGNAATACcAVLIFKCkREjmwBRCwGdAAsABFWLANLxuxDR4+WbAARViwAy8bsQMSPlmwBtCwDRCwENCxFwGwCitYIdgb9FmwGtCwAxCxJAGwCitYIdgb9FmwIdAwMQEQAAcVIzUmAAM1EAA3NTMVFgARJzQCJxUjNQYCFRUUEhc1MxU2EjUE+v7+47nl/vEBAQ7nueIBA7+ZjbmTo6SSuY+XAqn+3f6RI4F/HwFxASNgASQBdh92eCX+kP7ZB+ABCSNhZB/+7t9d3v7sH2ZkIgEL4gAAAgBb/4kENAS1ABMAJQBasgMmJxESObADELAc0ACwAEVYsAMvG7EDGj5ZsABFWLAQLxuxEBI+WbADELAG0LAQELAN0LAQELEjAbAKK1gh2Bv0WbAU0LADELEdAbAKK1gh2Bv0WbAa0DAxEzQSNzUzFRYSFRUUAgcVIzUmAjUBNjY1NCYnFSM1BgYVFBYXNTNb1Lm5utndtrm02QJGY3Z0ZblicnFjuQIn0gEqInBvIP7Y3RDY/tgda2wfASfc/nkfzauR0CBiYSHQpZLLImYAAAMAnP/rBm8HUQAsAEAASQCqsgpKSxESObAKELAy0LAKELBJ0ACwAEVYsBQvG7EUHj5ZsABFWLANLxuxDRI+WbAUELAA0LANELAH0LIKDRQREjmwFBCxFQGwCitYIdgb9FmwDRCxHAGwCitYIdgb9FmyIBQNERI5sCXQsBUQsCzQsBQQsDjQsDgvsC/QsS0CsAorWCHYG/RZsC8QsDTQsDQvsTwCsAorWCHYG/RZsDgQsETQsEnQsEkvMDEBMhYVERQGIyImJwYGIyImJxE0NjMVIgYVERQWMzI2NREzERQWMzI2NRE0JiMTFSMiLgIjIhUVIzU0NjMyHgIBNjc1MxUUBgcE27vZ2btwsjQ0sHC52ATYvWNxcmJygsGCc2Nwb2RoK1CCuDQYcYB/bihIv2r+QEIDnVs7Ba/w1v3G1PBVWFhV6M0CStTxnp2J/cSMm4l8Aaz+VHqLnIwCOoifAcJ/IlAMcA8kbmwRUhv+kFA8aWYydSAAAwB+/+sFqgXxACsAPwBIALCyCUlKERI5sAkQsDzQsAkQsEjQALAARViwEy8bsRMaPlmwAEVYsAwvG7EMEj5ZsBMQsADQsAwQsAfQsgkMExESObATELEUAbAKK1gh2Bv0WbAMELEbAbAKK1gh2Bv0WbIfEwwREjmwJNCwFBCwK9CwExCwN9CwNy+wLdCwLS+xLAKwCitYIdgb9FmwLRCwM9CwMy+xOwKwCitYIdgb9FmwNxCwQ9CwQy+wSNCwSC8wMQEyFhURFAYjIicGBiMiJicRNDYzFSIGFREUFjMyNjU1MxUWFjMyNjURNCYjExUjIi4CIyIVFSM1NDYzMh4CATY3NTMVFAYHBEKowMCo0F8vnGKjwQTAqFJdXFNib7kBcGFRXV1RqixPfsAwGHKAf28pSrdt/kFBA55bOwRE28L+38HalUtK0LsBMsHbmIh8/t57iXhn6+5ndYh9ASF8iAHHfyBSC28PJG5sElAc/oZOP2hmMnUgAAIAnP/sBnUHAwAgACgAhLIHKSoREjmwBxCwJ9AAsABFWLAPLxuxDx4+WbAARViwFy8bsRcePlmwAEVYsCAvG7EgHj5ZsABFWLAKLxuxChI+WbAE0LIHCg8REjmwChCxEwGwCitYIdgb9FmwHNCwDxCwJ9CwJy+wKNCwKC+xIgawCitYIdgb9FmwKBCwJdCwJS8wMQERFAYjIiYnBgYjIiYnETMRFBYzMjY1ETMRFBYzMjY1ESU1IRchFSM1BnXhw22rMTSycb3XAcFyYnKCx3xpanr8QgMsAf61qAWw+97G3FdZWVfbwwQm+917iol8BCP73X2IiX0EIuhra319AAACAIH/6wWtBbAAHgAmAIeyBicoERI5sAYQsCPQALAARViwDS8bsQ0aPlmwAEVYsBUvG7EVGj5ZsABFWLAeLxuxHho+WbAARViwCC8bsQgSPlmwBNCwBC+yBggNERI5sAgQsREBsAorWCHYG/RZsBrQsA0QsCXQsCUvsCbQsCYvsSAGsAorWCHYG/RZsCYQsCPQsCMvMDEBERQGIyInBiMiJicRMxEWFjMyNjURMxEUFjMyNjcRATUhFyEVIzUFrcquxllfzqfAAbkBW1Nib7plXFllAfyTAywD/rOpBDr9J7DGlJTDsALc/SNmdXhnAtn9J2d4dWYC3QELa2uAgAAAAQB1/oQEvAXFABkAS7IYGhsREjkAsAAvsABFWLAKLxuxCh4+WbAARViwAi8bsQISPlmwChCwDtCwChCxEQGwCitYIdgb9FmwAhCxGQGwCitYIdgb9FkwMQEjESYANTU0EiQzMgAXIyYmIyICFRUUEhczAxS/2P74jgEAoPcBIALBArWhoM3FnXz+hAFsHAFW//SxASCf/vjgnqz+/NT0yv77BAABAGT+ggPgBE4AGQBLshgaGxESOQCwAC+wAEVYsAovG7EKGj5ZsABFWLACLxuxAhI+WbAKELAO0LAKELERAbAKK1gh2Bv0WbACELEYAbAKK1gh2Bv0WTAxASMRJgI1NTQ2NjMyFhUjNCYjIgYVFRQWFzMCormx1HfXi7Pwr49lhJyWgm3+ggFwHgEm2SOZ+YrhqGWM2rUfqNsDAAABAHQAAASQBT4AEwATALAOL7AARViwBC8bsQQSPlkwMQEFByUDIxMlNwUTJTcFEzMDBQclAlgBIUT+3bao4f7fRAElzf7eRgEjvKXnASVI/uABvqx7qv6/AY6re6sBbat9qwFL/mireqoAAfxnBKb/JwX8AAcAEgCwAC+xAwawCitYIdgb9FkwMQEVJzchJxcV/Q2mAQIbAaUFI30B6WwB2AAB/HEFF/9kBhUAEwAwALAOL7AI0LAIL7EAArAKK1gh2Bv0WbAOELAF0LAFL7AOELEPArAKK1gh2Bv0WTAxATIWFRUjNTQjIgcHBgcjNTI+Av52b3+Aciotb4l2PGxqwUcGFWxuJA5wEi86An4bUxEAAf1mBRb+VAZXAAUADACwAS+wBdCwBS8wMQE1MxUXB/1msztNBdx7jHRBAAAB/aQFFv6TBlcABQAMALADL7AA0LAALzAxASc3JzMV/fFNOwG1BRZBdIx7AAj6G/7EAbYFrwAMABoAJwA1AEIATwBcAGoAfwCwRS+wUy+wYC+wOC+wAEVYsAIvG7ECHj5ZsQkLsAorWCHYG/RZsEUQsBDQsEUQsUwLsAorWCHYG/RZsBfQsFMQsB7QsFMQsVoLsAorWCHYG/RZsCXQsGAQsCvQsGAQsWcLsAorWCHYG/RZsDLQsDgQsT8LsAorWCHYG/RZMDEBNDYyFhUjNCYjIgYVATQ2MzIWFSM0JiMiBhUTNDYzMhYVIzQmIgYVATQ2MzIWFSM0JiMiBhUBNDYyFhUjNCYjIgYVATQ2MhYVIzQmIyIGFQE0NjMyFhUjNCYiBhUTNDYzMhYVIzQmIyIGFf0Ic750cDMwLjMB3nRdX3VxNS4sM0h1XV90cDVcM/7LdF1fdHA1Li0z/U9zvnRwMzAuM/1NdL50cDMwLjP+3nVdX3RwNVwzNXVdX3VxNS4tMwTzVGhoVC43NTD+61RoZ1UxNDUw/glVZ2hUMTQ3Lv35VGhoVDE0Ny7+5FRoaFQuNzcuBRpUaGhULjc1MP4JVWdoVDE0Ny79+VVnZ1UxNDUwAAAI+iz+YwFrBcYABAAJAA4AEwAYAB0AIgAnADkAsCEvsBIvsAsvsBsvsCYvsABFWLAHLxuxBx4+WbAARViwFi8bsRYcPlmwAEVYsAIvG7ECFD5ZMDEFFwMjEwMnEzMDATcFFSUFByU1BQE3JRcFAQcFJyUDJwM3EwEXEwcD/i8LemBGOgx6YEYCHQ0BTf6m+3UN/rMBWgOcAgFARP7b/PMC/sBFASYrEZRBxgNgEZRCxDwO/q0BYQSiDgFS/qD+EQx8Ykc7DHxiRwGuEJlEyPyOEZlFyALkAgFGRf7V/OMC/rtHASsA//8Asf6bBbMHGQAmANwAAAAnAKEBMQFCAQcAEAR//70AEwCwAEVYsAgvG7EIHj5ZsA3cMDEA//8AnP6bBLUFwwAmAPAAAAAnAKEAof/sAQcAEAOB/70AEwCwAEVYsAgvG7EIGj5ZsA3cMDEAAAL/3AAAA/wGcQARABoAd7IUGxwREjmwFBCwA9AAsABFWLAMLxuxDB4+WbAARViwEC8bsRAePlmwAEVYsAgvG7EIEj5ZsBAQsQABsAorWCHYG/RZsgIMCBESObACL7AAELAK0LAL0LACELESAbAKK1gh2Bv0WbAIELETAbAKK1gh2Bv0WTAxASERIRYWEAYHIREjNTM1MxUhAREhMjY1NCYnApb+vwEYu9TUt/4qv7+6AUH+vwESaXFvZAUY/dICyv620QMFGJjBwfyi/kV3ZGF9AgAAAgCoAAAE1wWwAA4AGwBWsgQcHRESObAEELAX0ACwAEVYsAMvG7EDHj5ZsABFWLABLxuxARI+WbIWAwEREjmwFi+xAAGwCitYIdgb9FmyCQADERI5sAMQsRQBsAorWCHYG/RZMDEBESMRITIEFRQHFwcnBiMBNjU0JichESEyNyc3AWnBAhnsARNnfm2LdqgBGSWlkf6gAVhiRW5uAjr9xgWw8su6cIpnmTcBG0Fbgp0C/cUdeWYAAAIAjP5gBCMETgATACIAd7IcIyQREjmwHBCwENAAsABFWLAQLxuxEBo+WbAARViwDS8bsQ0aPlmwAEVYsAovG7EKFD5ZsABFWLAHLxuxBxI+WbICBxAREjmyCRAHERI5sg4QBxESObAQELEXAbAKK1gh2Bv0WbAHELEcAbAKK1gh2Bv0WTAxARQHFwcnBiMiJxEjETMXNjMyEhEnNCYjIgcRFjMyNyc3FzYEHmpvbm5Zc8VxuakJccnD47mciKhUU6tSPGZuWjICEe6XfWZ7OH399wXaeIz+2v76BLfUlf37lCdzZ2diAAABAKIAAAQjBwAACQA2sgMKCxESOQCwCC+wAEVYsAYvG7EGHj5ZsABFWLAELxuxBBI+WbAGELECAbAKK1gh2Bv0WTAxASMVIREjESERMwQjA/1CwALIuQUYBvruBbABUAABAJEAAANCBXYABwAvALAGL7AARViwBC8bsQQaPlmwAEVYsAIvG7ECEj5ZsAQQsQABsAorWCHYG/RZMDEBIREjESERMwNC/gm6Afi5A6H8XwQ6ATwAAAEAsf7fBHwFsAAVAF6yChYXERI5ALAJL7AARViwFC8bsRQePlmwAEVYsBIvG7ESEj5ZsBQQsQABsAorWCHYG/RZsgMUCRESObADL7AJELEKAbAKK1gh2Bv0WbADELEQAbAKK1gh2Bv0WTAxASERMyAAERACIycyNjUmJiMjESMRIQQw/UKyARwBPPXkApGQAczOtcEDfwUS/i/+z/7w/vj+55PDy8vU/WEFsAABAJH+5QO+BDoAFgBesgsXGBESOQCwCi+wAEVYsBUvG7EVGj5ZsABFWLATLxuxExI+WbAVELEAAbAKK1gh2Bv0WbIDFQoREjmwAy+wChCxCwGwCitYIdgb9FmwAxCxEQGwCitYIdgb9FkwMQEhETMyABUUBgYHJzY2NTQmIyMRIxEhAz7+DWzvARhiqnUwgHiymHC6Aq0Dof7k/vzXYsiGFZIhmXmRqP4dBDr//wAb/pkHggWwACYA2gAAAAcB4AZhAAD//wAV/pkGPQQ6ACYA7gAAAAcB4AUcAAD//wCy/pcFRAWwACYBzgAAAAcB4AQj//7//wCc/pkEgQQ6ACYA8QAAAAcB4ANgAAAAAQCjAAAE/wWwABQAYwCwAEVYsAAvG7EAHj5ZsABFWLAMLxuxDB4+WbAARViwAi8bsQISPlmwAEVYsAovG7EKEj5ZsA/QsA8vsi8PAV2yzw8BXbEIAbAKK1gh2Bv0WbIBCA8REjmwBdCwDxCwEtAwMQkCIwEjFSM1IxEjETMRMxEzETMBBNL+cAG98f6iUJRowcFolE0BQwWw/U79AgKO9PT9cgWw/X8BAP8AAoEAAQCaAAAEfwQ6ABQAfACwAEVYsA0vG7ENGj5ZsABFWLAULxuxFBo+WbAARViwCi8bsQoSPlmwAEVYsAMvG7EDEj5ZsAoQsA7QsA4vsp8OAV2y/w4BXbKfDgFxtL8Ozw4CXbIvDgFdsm8OAXKxCQGwCitYIdgb9FmyAQkOERI5sAXQsA4QsBLQMDEJAiMBIxUjNSMRIxEzETM1MxUzAQRa/q4Bd+v+6zKUZbq6ZZQqAQMEOv3+/cgBzcLC/jMEOv421dUBygAAAQBEAAAGiwWwAA4AbQCwAEVYsAYvG7EGHj5ZsABFWLAKLxuxCh4+WbAARViwAi8bsQISPlmwAEVYsA0vG7ENEj5ZsggGAhESObAIL7IvCAFdss8IAV2xAQGwCitYIdgb9FmwBhCxBAGwCitYIdgb9FmyDAEIERI5MDEBIxEjESE1IREzATMBASMDkLDB/iUCnJYB/O/91AJW7AKO/XIFGJj9fgKC/T/9EQABAD4AAAV9BDoADgCCALAARViwBi8bsQYaPlmwAEVYsAovG7EKGj5ZsABFWLACLxuxAhI+WbAARViwDS8bsQ0SPlmwAhCwCdCwCS+ynwkBXbL/CQFdsp8JAXG0vwnPCQJdsi8JAV2ybwkBcrEAAbAKK1gh2Bv0WbAGELEEAbAKK1gh2Bv0WbIMAAkREjkwMQEjESMRITUhETMBMwEBIwMbiLr+ZQJVegFr4f5TAdHrAc3+MwOhmf42Acr9+P3OAP//AKn+mQWpBbAAJgAsAAAABwHgBIgAAP//AJz+mQSiBDoAJgD0AAAABwHgA4EAAAABAKgAAAeEBbAADQBgALAARViwAi8bsQIePlmwAEVYsAwvG7EMHj5ZsABFWLAGLxuxBhI+WbAARViwCi8bsQoSPlmwAdCwAS+yLwEBXbACELEEAbAKK1gh2Bv0WbABELEIAbAKK1gh2Bv0WTAxASERIRUhESMRIREjETMBaQLeAz39g8D9IsHBAz4Ccpj66AKh/V8FsAABAJEAAAVpBDoADQCdALAARViwAi8bsQIaPlmwAEVYsAwvG7EMGj5ZsABFWLAGLxuxBhI+WbAARViwCi8bsQoSPlmwBhCwAdCwAS+ybwEBXbS/Ac8BAl2yPwEBcbTPAd8BAnGyDwEBcrSfAa8BAnGy/wEBXbIPAQFxsp8BAV2yLwEBXbRvAX8BAnKwAhCxBAGwCitYIdgb9FmwARCxCAGwCitYIdgb9FkwMQEhESEVIREjESERIxEzAUsB8QIt/oy5/g+6ugJlAdWZ/F8Bzv4yBDoAAAEAsP7fB80FsAAXAGuyERgZERI5ALAHL7AARViwFi8bsRYePlmwAEVYsBQvG7EUEj5ZsABFWLARLxuxERI+WbIBFgcREjmwAS+wBxCxCAGwCitYIdgb9FmwARCxDgGwCitYIdgb9FmwFhCxEgGwCitYIdgb9FkwMQEzIAAREAIjJzI2NSYmIyMRIxEhESMRIQT/dgEcATz15AKRkAHMznnB/TLABE8DQf7P/vD++P7nk8PLy9T9YQUS+u4FsAABAJH+5QawBDoAGABrshIZGhESOQCwCC+wAEVYsBcvG7EXGj5ZsABFWLAVLxuxFRI+WbAARViwEi8bsRISPlmyARcIERI5sAEvsAgQsQkBsAorWCHYG/RZsAEQsQ8BsAorWCHYG/RZsBcQsRMBsAorWCHYG/RZMDEBMzIAFQcGBgcnNjY1NCYjIxEjESERIxEhA/ag+AEiAxTRmTB8e7ygpLn+DroDZQKF/vzXJqPhG5Igln2Sp/4dA6H8XwQ6AAACAHH/5AWiBcUAKAA2AKCyGDc4ERI5sBgQsCnQALAARViwDS8bsQ0ePlmwAEVYsB8vG7EfHj5ZsABFWLAELxuxBBI+WbAA0LAAL7ICBB8REjmwAi+wDRCxDgGwCitYIdgb9FmwBBCxFQGwCitYIdgb9FmwAhCxLAGwCitYIdgb9FmyFwIsERI5siYsAhESObAAELEoAbAKK1gh2Bv0WbAfELEzAbAKK1gh2Bv0WTAxBSInBiMiJAI1NTQSNjMXIgYVFRQSMzI3JgI1NTQ2NjMyEhUVFAIHFjMBFBYXNjY1NTQmIyIGFQWi17OOrLL+5J910oQBdpTsv0Y4eYRovXa25m9maHn9fXh1Ymh5Y2F6HElCsgFCxKyxASKjpf7Zpuz+1w1hARWq45r9jf7M/eue/vZfGgI0mO1KSOeN+bHO0rIAAgBt/+sEnARPACQALwCnsgQwMRESObAEELAl0ACwAEVYsAwvG7EMGj5ZsABFWLAcLxuxHBo+WbAARViwBC8bsQQSPlmwAEVYsAAvG7EAEj5ZsgIEHBESObACL7AMELENAbAKK1gh2Bv0WbAEELEUAbAKK1gh2Bv0WbACELEnAbAKK1gh2Bv0WbIWFCcREjmwABCxJAGwCitYIdgb9FmyIickERI5sBwQsSwBsAorWCHYG/RZMDEFIicGIyImAjU1NBIzFSIGFRUUFjMyNyYRNTQ2MzIWFRUUBxYzARQXNjc1NCYiBgcEnLKMdo+M4X/Fm0ldqYkuLMGtj4yygE9h/g+fZgNJeEYBDDlClQESpzrNAQ6erZI4wfALogERXsDr+c5i450VAanWdHO6dYKejXr//wA5/pkE+AWwACYAPAAAAAcB4APXAAD//wAp/pkEBgQ6ACYAXAAAAAcB4ALlAAAAAQA0/qEGkwWwABMAXQCwES+wAEVYsAcvG7EHHj5ZsABFWLAMLxuxDB4+WbAARViwEy8bsRMSPlmwBxCxCAGwCitYIdgb9FmwANCwBxCwBdCwA9CwAtCwExCxCgGwCitYIdgb9FmwDtAwMQEhNSE1MxUhFSERIREzETMDIxEhAav+iQF3wQGB/n8CzsGYEqz71gUYlwEBl/uFBRP68f4AAV8AAQAf/r8FFgQ6AA8ATQCwDS+wAEVYsAMvG7EDGj5ZsABFWLAPLxuxDxI+WbADELEEAbAKK1gh2Bv0WbAA0LAPELEGAbAKK1gh2Bv0WbADELAI0LAGELAK0DAxASE1IRUjESERMxEzAyMRIQEx/u4CxPkB8rqAEqX80gOjl5f89AOj/F3+KAFB//8Alv6ZBWcFsAAmAOEAAAAHAeAERgAA//8AZ/6ZBF8EOwAmAPkAAAAHAeADPgAAAAEAlgAABMgFsAAXAFCyBBgZERI5ALAARViwAC8bsQAePlmwAEVYsAovG7EKHj5ZsABFWLAMLxuxDBI+WbIHAAwREjmwBy+wBNCwBxCxEAGwCitYIdgb9FmwE9AwMQERFhYzETMRNjcRMxEjEQYHFSM1IiYnEQFXAYmglXl4wcFyf5X47wQFsP4ymoQBNv7SDSECtvpQAlsiDe7o2doB1wABAIMAAAPZBDsAFgBQsgYXGBESOQCwAEVYsAsvG7ELGj5ZsABFWLAVLxuxFRo+WbAARViwAC8bsQASPlmyDxUAERI5sA8vsQcBsAorWCHYG/RZsATQsA8QsBLQMDEhIxEGBxUjNSYmJxEzERYXETMRNjcRMwPZukZTlrC7ArkFr5ZURboBiBMJh4UNzLUBQ/610xoBGP7qChECGgABAIkAAAS6BbAAEQBHsgUSExESOQCwAEVYsAEvG7EBHj5ZsABFWLAALxuxABI+WbAARViwCS8bsQkSPlmyBQEAERI5sAUvsQ4BsAorWCHYG/RZMDEzETMRNjMyFhcRIxEmJiMiBxGJwLnL+PIDwAGJo7zIBbD9pDXY3/4uAc2Yhjf9TAACAD//6gW9BcMAHQAlAGeyFyYnERI5sBcQsCTQALAARViwDy8bsQ8ePlmwAEVYsAAvG7EAEj5Zsh8PABESObAfL7ETAbAKK1gh2Bv0WbAE0LAfELAL0LAAELEYAbAKK1gh2Bv0WbAPELEjAbAKK1gh2Bv0WTAxBSAAETUmJjUzFBYXNBI2MyAAERUhFRQWMzI3FwYGASE1NCYjIgID6f7i/rOZpphQV479lgECARz8gt7Ms6YvQNL94AK+s6uewhYBUQEpWxPFolp9FLQBH6L+o/6+bF3c91OPLTUDWiHZ5f79AAAC/97/7ARjBE4AGQAhAHWyFCIjERI5sBQQsBvQALAARViwDS8bsQ0aPlmwAEVYsAAvG7EAEj5Zsh4NABESObAeL7S/Hs8eAl2xEQGwCitYIdgb9FmwA9CwHhCwCdCwABCxFQGwCitYIdgb9FmyFw0AERI5sA0QsRoBsAorWCHYG/RZMDEFIgA1JiY1MxQXPgIzMhIRFSEWFjMyNxcGASIGByE1JiYCvdz+7Hh3k2UUhMhw0+r9IwSziq5vcYj+2XCYEgIeCIgUASH6Ha6GkzCCyW7+6v79TaDFkljRA8qjkw6NmwABAKP+1gTMBbAAFgBfshUXGBESOQCwDi+wAEVYsAIvG7ECHj5ZsABFWLAGLxuxBh4+WbAARViwAC8bsQASPlmyBAACERI5sAQvsAjQsA4QsQ8BsAorWCHYG/RZsAQQsRYBsAorWCHYG/RZMDEhIxEzETMBMwEWABUQAiMnMjY1JiYnIQFkwcGFAgHi/fj4AQ355gKQkALHx/7sBbD9jwJx/YgW/tL6/vj+5JjBycrSAQAAAQCa/v4EGQQ6ABYAe7INFxgREjkAsAcvsABFWLARLxuxERo+WbAARViwFS8bsRUaPlmwAEVYsA8vG7EPEj5ZsBPQsBMvsp8TAV2y/xMBXbKfEwFxtL8TzxMCXbIvEwFdss8TAXGwANCwBxCxCAGwCitYIdgb9FmwExCxDgGwCitYIdgb9FkwMQEWFhUUBgYHJzY1NCYnIxEjETMRMwEzAn/DzmSscDD4raWyurpbAYrgAmQf4rRdxXwTkjnmipIC/jMEOv42AcoA//8AL/6bBagFsAAmAN0AAAAHABAEdP+9//8ALP6bBLcEOgAmAPIAAAAHABADg/+9AAEAsf5LBP4FsAAVAKmyChYXERI5ALAARViwAC8bsQAePlmwAEVYsAMvG7EDHj5ZsABFWLAILxuxCBQ+WbAARViwEy8bsRMSPlmwAtCwAi+yXwIBXbLPAgFdsh8CAXG0bwJ/AgJxtL8CzwICcbQPAh8CAnKy7wIBcbKfAgFxsk8CAXGy/wIBXbKvAgFdsi8CAV2yPwIBcrAIELENAbAKK1gh2Bv0WbACELERAbAKK1gh2Bv0WTAxAREhETMRFAYjIic3FjMyNjURIREjEQFyAszAq5w8Ng4lPUFI/TTBBbD9bgKS+f2ouhKaDmdcAtX9fwWwAAABAJH+SwP1BDoAFgChsgoXGBESOQCwAEVYsAAvG7EAGj5ZsABFWLADLxuxAxo+WbAARViwCC8bsQgUPlmwAEVYsBQvG7EUEj5ZsALQsAIvsm8CAV20vwLPAgJdsj8CAXG0zwLfAgJxsg8CAXK0nwKvAgJxsv8CAV2yDwIBcbKfAgFdsi8CAV20bwJ/AgJysAgQsQ4BsAorWCHYG/RZsAIQsRIBsAorWCHYG/RZMDEBESERMxEUBiMiJzcWFxcyNjURIREjEQFLAfG5q5g8NA8RPBRCSP4PugQ6/isB1fttqrISkwcFAWhcAif+MgQ6AP//AKn+mwW7BbAAJgAsAAAABwAQBIf/vf//AJz+mwS0BDoAJgD0AAAABwAQA4D/vf//AKn+mwb5BbAAJgAxAAAABwAQBcX/vf//AJ3+mwYHBDoAJgDzAAAABwAQBNP/vQACAF3/7AUSBcQAFwAfAGGyCCAhERI5sAgQsBjQALAARViwAC8bsQAePlmwAEVYsAgvG7EIEj5Zsg0ACBESObANL7AAELERAbAKK1gh2Bv0WbAIELEYAbAKK1gh2Bv0WbANELEbAbAKK1gh2Bv0WTAxASAAERUUAgQjIAARNSE1EAIjIgcHJzc2ATISNyEVFBYCgAEuAWSc/uqn/uP+wQP09N2liz0vFp4BIaneD/zP0wXE/of+sVTF/r+2AVkBRXUHAQIBHDoajw1Y+sYBBdsi2uQAAAEAaP/rBCwFsAAbAGqyCxwdERI5ALAARViwAi8bsQIePlmwAEVYsAsvG7ELEj5ZsAIQsQABsAorWCHYG/RZsATQsgUCCxESObAFL7ALELAQ0LALELETAbAKK1gh2Bv0WbAFELEZAbAKK1gh2Bv0WbAFELAb0DAxASE1IRcBFhYVFAQjIiYmNTMUFjMyNjU0JiMjNQMd/XYDawH+a9np/vPghtt2wJx7iaOmno0FEp59/h4O58bD6Gm+gnKaknidjpcAAQBp/nUEKAQ6ABoAXbILGxwREjkAsAsvsABFWLACLxuxAho+WbEAAbAKK1gh2Bv0WbAE0LIFAgsREjmwBS+wCxCwENCwCxCxEwGwCitYIdgb9FmwBRCxGAOwCitYIdgb9FmwBRCwGtAwMQEhNSEXARYWFRQEIyImJjUzFBYzMjY1ECUjNQMM/YgDZQH+ctTo/vTehNd6up59jaT+yaADoZl2/hEQ4cXD52a/g3GflXkBIgiXAP//ADr+SwR0BbAAJgCxRAAAJgHMq0AABwHhAPAAAP//ADv+SwOWBDoAJgDsTwAAJgHMrI4BBwHhAOEAAAAIALIABgFdMDH//wA5/ksFDgWwACYAPAAAAAcB4QOnAAD//wAp/ksEHAQ6ACYAXAAAAAcB4QK1AAAAAgBXAAAEZQWwAAoAEwBSsgQUFRESObAEELAN0ACwAEVYsAEvG7EBHj5ZsABFWLADLxuxAxI+WbIAAQMREjmwAC+wAxCxCwGwCitYIdgb9FmwABCxDAGwCitYIdgb9FkwMQERMxEhIiQ1NDY3AREhIgYVFBYXA6PC/d/k/vf/4AFt/qGMoZ+KA3MCPfpQ8svH6wT9KgI4loCCnwEAAgBZAAAGZwWwABcAHwBcsgcgIRESObAHELAY0ACwAEVYsAgvG7EIHj5ZsABFWLAALxuxABI+WbIHCAAREjmwBy+wABCxGAGwCitYIdgb9FmwCtCyEAAIERI5sAcQsRkBsAorWCHYG/RZMDEhIiQ1NCQ3IREzETc2Njc2JzMXFgcGBiMlESEiBhQWFwJH5f73AQHjAWrBWG9yAwRAuhYvAwTlw/7v/qCOnpiF9MnG7QMCPfrrAQKSe6KnRJduw+idAjiX/p8EAAACAGT/5wZuBhgAHwArAIayGiwtERI5sBoQsCrQALAARViwBi8bsQYgPlmwAEVYsAMvG7EDGj5ZsABFWLAYLxuxGBI+WbAARViwHC8bsRwSPlmyBQMYERI5sBgQsQsBsAorWCHYG/RZshEDGBESObIaAxgREjmwAxCxIgGwCitYIdgb9FmwHBCxKAGwCitYIdgb9FkwMRMQEjMyFxEzEQYWMzY2NzYnNxYWBw4CIwYnBiMiAjUBJiMiBhUUFjMyNydk4sS3arkCX06JlwQEQbMcKQICedmJ8k5s28DkAsdSoYeUkYinUwUCCQEIAT2DAk37QV94AtC9utgBZsdmqfmEBLq2ARv0ATGG396tv5M+AAEANv/jBdUFsAAnAGayECgpERI5ALAARViwCS8bsQkePlmwAEVYsCEvG7EhEj5ZsgEoCRESObABL7EAAbAKK1gh2Bv0WbAJELEHAbAKK1gh2Bv0WbIPAAEREjmwIRCxFQGwCitYIdgb9FmyGiEJERI5MDETNTM2NjU0ISE1IRYWFRQHFhMVFBYzNjY3NiczFxYHBgIjBAM1NCYn/pufk/7L/qABa+/87dsFU0F0hgQEQboXMAME9sf+vQ+HdQJ5ngJ7g/ueAdHJ6GJF/vxQT1sCzrm72Fi7gP3+1wgBTUB4kAEAAAEAMf/jBOgEOgAnAGOyDygpERI5ALAARViwHy8bsR8aPlmwAEVYsA4vG7EOEj5ZsQIBsAorWCHYG/RZsgcOHxESObIXKB8REjmwFy+xFAGwCitYIdgb9FmwHxCxHQGwCitYIdgb9FmyJRQXERI5MDElBjM2Njc2JzMWFgcGBiMGJic1NCMjJzM2NjU0JiMhJyEWFhUUBxYXAucCX3B2AwRCtC0YAQTnuIeJB9jNAsB6bn11/vsGARjE3Ly2BNVYApuJmaaGgDnN8ANwg0edlgFXSlVdlgOnmJ1KNLIAAAEAUv7XA/UFrwAhAGCyICIjERI5ALAXL7AARViwCS8bsQkePlmwAEVYsBovG7EaEj5ZsgEiCRESObABL7EAAbAKK1gh2Bv0WbAJELEHAbAKK1gh2Bv0WbIPAAEREjmwGhCwErAKK1jYG9xZMDETNTM2NjUQISE1IRYWFRQHFhMVMxUUBgcnNjcjJic1NCYjr6mkm/7K/vEBIej05d4EqWFNalEOazwDkncCeZcBfYUBBZcD0sniZEb++KmUYchASHNuNKuPfo0AAQB5/scD2QQ6ACAAYLIgISIREjkAsBcvsABFWLAILxuxCBo+WbAARViwGi8bsRoSPlmyASEIERI5sAEvsQABsAorWCHYG/RZsAgQsQYBsAorWCHYG/RZsg8AARESObAaELASsAorWNgb3FkwMRMnMzY1NCMhNSEWFxYVFAcWFxUzFRQGByc2NyMmJzU0I8IB2+n1/ukBJ91sVr69AZpiTWlUDWczAtoBuJcCobKWA2dThKFJNcpMlGHKPkh0fSGFXrQAAAEARP/rB3AFsAAjAGWyACQlERI5ALAARViwDi8bsQ4ePlmwAEVYsCAvG7EgEj5ZsABFWLAHLxuxBxI+WbAOELEAAbAKK1gh2Bv0WbAHELEIAbAKK1gh2Bv0WbAgELETAbAKK1gh2Bv0WbIZDiAREjkwMQEhAwICBgcjNTc+AjcTIREUFjMyNjc2JzcWFgcGAgcHIiY1BCf+GhoPWayQPyhdZDQLHgNfWU+ClwQCP7ocKQID6cMus7cFEv2//t7+3IkCnQIHa+rzAsL7rGB0zbzA0gFmx2bs/toSArq0AAEAP//rBjoEOgAhAGWyICIjERI5ALAARViwDC8bsQwaPlmwAEVYsB4vG7EeEj5ZsABFWLAGLxuxBhI+WbAMELEAAbAKK1gh2Bv0WbAGELEHAbAKK1gh2Bv0WbAeELERAbAKK1gh2Bv0WbIWHgwREjkwMQEhAwIGByM1NzY2NxMhERQWMzI2NzYnMxcWBw4CIyImJwMx/rsXFJylQTZVTQ0XAq9aT2x7BARBsxYwAwJsvniuswEDof5a/uvkAqMECqfTAg/9IWB5t6uyy1CxfJrmebixAAABAKn/5wdxBbAAHQCwshQeHxESOQCwAEVYsAAvG7EAHj5ZsABFWLAZLxuxGR4+WbAARViwES8bsRESPlmwAEVYsBcvG7EXEj5ZsBEQsQQBsAorWCHYG/RZsgoAERESObAXELAc0LAcL7LvHAFxsl8cAV2yzxwBXbIfHAFxtG8cfxwCcbS/HM8cAnGynxwBcbJPHAFxsv8cAV2yrxwBXbIvHAFdtA8cHxwCcrI/HAFysRUBsAorWCHYG/RZMDEBERQWMzY2NzYnNxYWBw4CIwYmJxEhESMRMxEhEQTpXUqGlAQEQrsbKwICe9iKq7UI/ULBwQK+BbD7rGVvAs26t9sBYspnqPuDBLi7ASf9fwWw/W4CkgABAJD/5wZNBDoAHAClshsdHhESOQCwAEVYsAQvG7EEGj5ZsABFWLAILxuxCBo+WbAARViwGS8bsRkSPlmwAEVYsAIvG7ECEj5ZsAfQsAcvsm8HAV20vwfPBwJdsj8HAXG0zwffBwJxsg8HAXK0nwevBwJxsv8HAV2yDwcBcbKfBwFdsi8HAV20bwd/BwJysQABsAorWCHYG/RZsBkQsQ0BsAorWCHYG/RZshIZCBESOTAxASERIxEzESERMxEUFjM2Njc2JzMXFgcGAiMGJicDQ/4GubkB+rlcTWx8BARBshcwAwTmu6ezCAHN/jMEOv4qAdb9IWR1ArWrrNFTsXnq/vEEt7sAAQB2/+sEoAXFACIASbIVIyQREjkAsABFWLAJLxuxCR4+WbAARViwAC8bsQASPlmwCRCxDgGwCitYIdgb9FmwABCxFgGwCitYIdgb9FmyGwAJERI5MDEFIiQCJxE0EiQzMhcHJiMiAhUVFBYWMzY2NzYnMxcWBw4CArmk/viVApQBCqXchzuGoqzXYrBxjZYDAzW6JhMBAnveFZsBGK0BEK8BHp1YikT+/tL+g9V1ApmGms+zW1uIyW0AAQBl/+sDxwROAB4ARrITHyAREjkAsABFWLATLxuxExo+WbAARViwCy8bsQsSPlmxAAGwCitYIdgb9FmyBQsTERI5sBMQsRgBsAorWCHYG/RZMDElNjY3NCczFgcGBiMiADU1NDY2MzIXByYjIgYVFRQWAlFgWgIUshwBBMSt3P7wdtaLuWAsY4qDm6aCAlBZenKWVpmpATL3Hpf5jEKQOtyzH6vbAAEAI//nBUcFsAAYAE+yBRkaERI5ALAARViwAi8bsQIePlmwAEVYsBUvG7EVEj5ZsAIQsQABsAorWCHYG/RZsATQsAXQsBUQsQkBsAorWCHYG/RZsg4CFRESOTAxASE1IRUhERQWMzY2Eic3FhYHDgIjBiYnAf7+JQSA/hxcTIaUCEK6GysDAnnZiaq3CAUSnp78SGByAtABbtsBYspnqfmEBLe8AAABAEb/5wS3BDoAGABPshYZGhESOQCwAEVYsAIvG7ECGj5ZsABFWLAVLxuxFRI+WbACELEAAbAKK1gh2Bv0WbAE0LAF0LAVELEJAbAKK1gh2Bv0WbIOFQIREjkwMQEhNSEVIREUFjM2Njc2JzMWFgcGBiMGJicBrP6aA4v+lV5NcXcDBECyKhsBBOi5qrMIA6SWlv21Y3QCnYmXrn2MPNDvBLm5AAEAlv/sBP8FxQApAHKyJCorERI5ALAARViwFi8bsRYePlmwAEVYsAsvG7ELEj5ZsQMBsAorWCHYG/RZsAsQsAbQsiULFhESObAlL7LPJQFdsp8lAXGxJgGwCitYIdgb9FmyECYlERI5sBYQsBvQsBYQsR4BsAorWCHYG/RZMDEBFBYzMjY1MxQGBiMgJDU0JSYmNTQkITIWFhUjNCYjIgYVFBYXMxUjBgYBWM+wm8zBjf6d/vv+xAEUeIYBJQEGk/WMwcGSp8Kto8TEsbUBkniSmHSDvmflxf9WMKZlxNtlunVnj4h2dX0CngJ+AP//AC/+SwWsBbAAJgDdAAAABwHhBEUAAP//ACz+SwS7BDoAJgDyAAAABwHhA1QAAAACAG8EcALJBdYABQANACMAsAsvsAfQsAcvsAHQsAEvsAsQsATQsAQvsAXQGbAFLxgwMQETMxUDIwEzFRYXByY1AZF0xN9Z/t6oA1BJsgSUAUIV/sMBUlt7VTtfuwD//wAlAh8CDQK2AAYAEQAA//8AJQIfAg0CtgAGABEAAP//AKMCiwSNAyIARgGv2QBMzUAA//8AkQKLBckDIgBGAa+EAGZmQAAAAgAN/msDoQAAAAMABwAIALIFAgMrMDEBITUhNSE1IQOh/GwDlPxsA5T+a5dnlwAAAQBgBDEBeAYTAAgAIbIICQoREjkAsABFWLAALxuxACA+WbIFCQAREjmwBS8wMQEXBgcVIzU0NgEOal0DuGEGE0h/k4h0ZsgAAQAwBBYBRwYAAAgAIbIICQoREjkAsABFWLAELxuxBCA+WbIACQQREjmwAC8wMRMnNjc1MxUGBplpXQO3AWEEFkiCkJCCZMcAAQAk/uUBOwC1AAgAH7IICQoREjkAsAkvsQQFsAorWCHYG/RZsADQsAAvMDETJzY3NTMVFAaNaVsDuWP+5Ul/knZkZcoAAAEATwQWAWcGAAAIAAwAsAgvsATQsAQvMDEBFRYXByYmJzUBBgRdak1fAgYAk5B/SEDCYYcA//8AaAQxArsGEwAmAYQIAAAHAYQBQwAA//8APAQWAoYGAAAmAYUMAAAHAYUBPwAAAAIAJP7TAmQA9gAIABEAMbIKEhMREjmwChCwBdAAsBIvsQQFsAorWCHYG/RZsADQsAAvsAnQsAkvsAQQsA3QMDETJzY3NTMVFAYXJzY3NTMVFAaNaVsDuWPdaVsDumH+00iJmbmkbNNASImZuaRr0QABAEYAAAQkBbAACwBMALAARViwCC8bsQgePlmwAEVYsAYvG7EGGj5ZsABFWLAKLxuxCho+WbAARViwAi8bsQISPlmwChCxAAGwCitYIdgb9FmwBNCwBdAwMQEhESMRITUhETMRIQQk/my6/nABkLoBlAOh/F8DoZkBdv6KAAABAFf+YAQ0BbAAEwB+ALAARViwDC8bsQwePlmwAEVYsAovG7EKGj5ZsABFWLAOLxuxDho+WbAARViwAi8bsQIUPlmwAEVYsAAvG7EAEj5ZsABFWLAELxuxBBI+WbEGAbAKK1gh2Bv0WbAOELEIAbAKK1gh2Bv0WbAJ0LAQ0LAR0LAGELAS0LAT0DAxISERIxEhNSERITUhETMRIRUhESEENP5quv5zAY3+cwGNugGW/moBlv5gAaCXAwqZAXb+ipn89gAAAQCKAhcCIgPLAA0AF7IKDg8REjkAsAMvsAqwCitY2BvcWTAxEzQ2MzIWFRUUBiMiJjWKb1xbcm5eXW8DBFdwbV0lV25vWAD//wCU//UDLwDRACYAEgQAAAcAEgG5AAD//wCU//UEzgDRACYAEgQAACcAEgG5AAAABwASA1gAAAABAFICAgEsAtUACwAZsgMMDRESOQCwAy+xCQWwCitYIdgb9FkwMRM0NjMyFhUUBiMiJlI2NjY4ODY2NgJrLT09LS08PAAABgBE/+sHVwXFABUAIwAnADUAQwBRALyyAlJTERI5sAIQsBvQsAIQsCbQsAIQsCjQsAIQsDbQsAIQsEnQALAARViwGS8bsRkePlmwAEVYsBIvG7ESEj5ZsAPQsAMvsAfQsAcvsBIQsA7QsA4vsBkQsCDQsCAvsiQSGRESObAkL7ImGRIREjmwJi+wEhCxKwSwCitYIdgb9FmwAxCxMgSwCitYIdgb9FmwKxCwOdCwMhCwQNCwIBCxRwSwCitYIdgb9FmwGRCxTgSwCitYIdgb9FkwMQE0NjMyFzYzMhYVFRQGIyInBiMiJjUBNDYzMhYVFRQGIyImNQEnARcDFBYzMjY1NTQmIyIGFQUUFjMyNjU1NCYjIgYVARQWMzI2NTU0JiMiBhUDN6eDmE1Pl4Oop4KZT0yXgqr9DaeDhKelhIKqAWloAsdos1hKSFZXSUdZActYSUhWV0lIV/tCWEpHV1ZKSFgBZYOpeXmoi0eDqXh4p4sDe4OqqohIgaqni/wcQgRyQvw3T2VjVUpPZGNUSk9lZlJKT2RkUwLqTmViVUlOZmVTAAABAGwAmQIgA7UABgAQALAFL7ICBwUREjmwAi8wMQEBIwE1ATMBHgECjf7ZASeNAib+cwGEEwGFAAEAWQCYAg4DtQAGABAAsAAvsgMHABESObADLzAxEwEVASMBAecBJ/7ZjgEC/v4Dtf57E/57AY4BjwABADsAbgNqBSIAAwAJALAAL7ACLzAxNycBF6NoAsdobkIEckIA//8ANgKbArsFsAMHAcYAAAKbABMAsABFWLAJLxuxCR4+WbAN0DAxAAABAHoCiwL4BboADwBUsgoQERESOQCwAEVYsAAvG7EAHj5ZsABFWLADLxuxAx4+WbAARViwDS8bsQ0WPlmwAEVYsAYvG7EGFj5ZsgENAxESObADELEKA7AKK1gh2Bv0WTAxExc2MyARESMRJiMiBxEjEfoeSpIBBKoDjW4sqgWre4r+xv4LAea5bf3OAyAAAQBbAAAEaAXEACkAmrIhKisREjkAsABFWLAZLxuxGR4+WbAARViwBi8bsQYSPlmyKRkGERI5sCkvsQACsAorWCHYG/RZsAYQsQQBsAorWCHYG/RZsAjQsAnQsAAQsA7QsCkQsBDQsCkQsBXQsBUvtg8VHxUvFQNdsRICsAorWCHYG/RZsBkQsB3QsBkQsSABsAorWCHYG/RZsBUQsCTQsBIQsCbQMDEBIRcUByEHITUzNjY3NScjNTMnIzUzJzQ2MzIWFSM0JiMiBhUXIRUhFyEDFf6xAz4C3QH7+E0oMgIDqqYEop0G9ci+3r9/b2mCBgFc/qkEAVMB1kSaW52dCYNgCEV9iH23x+7UsWt8mn23fYgABQAfAAAGNgWwABsAHwAjACYAKQCzALAARViwFy8bsRcePlmwAEVYsBovG7EaHj5ZsABFWLAMLxuxDBI+WbAARViwCS8bsQkSPlmyEAwXERI5sBAvsBTQsBQvtA8UHxQCXbAk0LAkL7AY0LAYL7AA0LAAL7AUELETAbAKK1gh2Bv0WbAf0LAj0LAD0LAQELAc0LAcL7Ag0LAgL7AE0LAEL7AQELEPAbAKK1gh2Bv0WbAL0LAp0LAH0LImFwwREjmyJwkaERI5MDEBMxUjFTMVIxEjASERIxEjNTM1IzUzETMBIREzASEnIwUzNSElMycBNSMFV9/f39/C/sH+YsDZ2dnZwAFRAY+//GEBO2HaAhTM/tT+THd3AuBoA6yYlJj+GAHo/hgB6JiUmAIE/fwCBPzQlJSUmLb8558AAAIAp//sBgMFsAAfACgAprIjKSoREjmwIxCwEdAAsABFWLAWLxuxFh4+WbAARViwGi8bsRoaPlmwAEVYsB4vG7EeGj5ZsABFWLAKLxuxChI+WbAARViwFC8bsRQSPlmwHhCxAAGwCitYIdgb9FmwChCxBQGwCitYIdgb9FmwABCwDtCwD9CyIRQWERI5sCEvsRIBsAorWCHYG/RZsB4QsB3QsB0vsBYQsScBsAorWCHYG/RZMDEBIxEUFjMyNxcGIyImNREjBgYHIxEjESEyFhczETMRMwEzMjY1NCYnIwX+yjZBIzQBSUZ8fo8U58fJuQF5yu0Uj7rK+2LAi4uHhMsDq/1hQUEMlhSWigKft70C/csFsMC2AQb++v6SjZeYjgL//wCo/+wIEAWwACYANgAAAAcAVwRVAAAABwAfAAAFzAWwAB8AIwAnACsAMAA1ADoA/rI5OzwREjmwORCwHtCwORCwItCwORCwJ9CwORCwK9CwORCwLdCwORCwM9AAsABFWLACLxuxAh4+WbAARViwDC8bsQwSPlmwAEVYsBAvG7EQEj5ZsggCDBESObAIL7AE0LAEL7AA0LAEELEGAbAKK1gh2Bv0WbAIELEKAbAKK1gh2Bv0WbAO0LAKELAS0LAIELAU0LAGELAW0LAEELAY0LACELAa0LAEELAc0LACELAe0LAIELAg0LAGELAi0LAIELAk0LAGELAm0LAIELAo0LAGELAq0LAKELAt0LIwAgwREjmwChCwMtCyNQIMERI5sAQQsDbQsjkCDBESOTAxATMTMwMzFSMHMxUjAyMDIwMjAyM1MycjNTMDMxMzEzMBMzcjBTM3IwUzJyMDNyMXFyU3IxcXATMnJwcDp+pYwWWHqCnR8Wa4VuVYuGfszCmjgmXAW/FWs/5IcCO4AnFsJLP+3K4iaNYCNwEXAmUBNQIb/sAyARgYA9QB3P4kmMKY/h4B4v4eAeKYwpgB3P4kAdz8ysLCwsLC/pwKBtLSBgfLAsQHrbEAAAIAjAAABZ4EOgANABsAZgCwAEVYsBYvG7EWGj5ZsABFWLAALxuxABo+WbAARViwCy8bsQsSPlmwAEVYsA4vG7EOEj5ZsREBsAorWCHYG/RZsgURABESObAFL7AAELEKAbAKK1gh2Bv0WbIPCgsREjmwDy8wMQEyFhcRIxE0JichESMRAREzESEyNjcRMxEGBgcCuq+oBLllb/69uQGJuQE+cWcBuQKlrQQ6wb/+owFMf3gB/F8EOvvGAt39u3V+Aq/9TsLEAgAAAQBf/+wEHAXEACMAi7IVJCUREjkAsABFWLAWLxuxFh4+WbAARViwCS8bsQkSPlmyIwkWERI5sCMvsQACsAorWCHYG/RZsAkQsQQBsAorWCHYG/RZsAAQsAzQsCMQsA/QsCMQsB/QsB8vtg8fHx8vHwNdsSACsAorWCHYG/RZsBDQsB8QsBPQsBYQsRsBsAorWCHYG/RZMDEBIRYWMzI3FwYjIgADIzUzNSM1MxIAMzIXByYjIgYHIRUhFSEDUf6ABLSldGYUeHj4/uMGsrKysgoBHfNqhxRtbqSxBgF//oABgAIdw9IioB4BJQEMfIl9AQYBHx+iI8u8fYkABAAfAAAFvAWwABkAHgAjACgAvACwAEVYsAsvG7ELHj5ZsABFWLABLxuxARI+WbALELEoAbAKK1gh2Bv0WbIkKAEREjmwJC+ycCQBcbYAJBAkICQDXbEcAbAKK1gh2Bv0WbAd0LAdL7JwHQFxtgAdEB0gHQNdsSABsAorWCHYG/RZsCHQsCEvsnAhAXGyICEBXbEAAbAKK1gh2Bv0WbAgELAD0LAdELAG0LAGL7AcELAH0LAkELAK0LAkELAP0LAcELAS0LAdELAU0LAULzAxAREjESM1MzUjNTM1ITIWFzMVIxcHMxUjBiEBJyEVIQchFSEyASEmIyEBpcDGxsbGAhmx6zbswwMCwuVr/owBRAT9bQKVP/2qAVms/fsCSlSe/qgCOv3GAzCXXpf0hHCXMiyX9gG3NF6XWQHlVgAAAQAqAAAD+AWwABoAaQCwAEVYsBkvG7EZHj5ZsABFWLAMLxuxDBI+WbAZELEYAbAKK1gh2Bv0WbAB0LAYELAU0LAUL7AD0LAUELETAbAKK1gh2Bv0WbAG0LATELAO0LAOL7EJAbAKK1gh2Bv0WbINCQ4REjkwMQEjFhczByMGBiMBFSMBJzM2NjchNyEmJyE3IQPK7EARyS6YEvbbAe3j/e4B+X2cFf29LgITMPb+5y8DnQUSUXWesrT9xAwCaX0Ba1yevgieAAABACD/7gQaBbAAHgCQALAARViwES8bsREePlmwAEVYsAUvG7EFEj5ZshMRBRESObATL7AX0LAXL7IAFwFdsRgBsAorWCHYG/RZsBnQsAjQsAnQsBcQsBbQsAvQsArQsBMQsRQBsAorWCHYG/RZsBXQsAzQsA3QsBMQsBLQsA/QsA7QsAUQsRoBsAorWCHYG/RZsh4FERESObAeLzAxARUGAgQjIicRBzU3NQc1NxEzETcVBxU3FQcRNhIRNQQaApD+969QbPT09PTA+/v7+77JAwNk0v7HphICWm+yb5lvsm8BWf7/c7JzmXOyc/3eAgEQAQlYAAABAF0AAATrBDoAFwBdsgAYGRESOQCwAEVYsBYvG7EWGj5ZsABFWLAELxuxBBI+WbAARViwCi8bsQoSPlmwAEVYsBAvG7EQEj5ZsgAKFhESObAAL7EJAbAKK1gh2Bv0WbAM0LAAELAV0DAxARYAERUjNSYCJxEjEQYCBxUjNRIANzUzAv/nAQW5Ap6TuY+fArkDAQffuQNxIf6N/tq3yN8BBSD9NALKIf712MbFAR0BbSLJAAACAB8AAAUDBbAAFgAfAHAAsABFWLAMLxuxDB4+WbAARViwAy8bsQMSPlmyBgMMERI5sAYvsQUBsAorWCHYG/RZsAHQsAYQsArQsAovtA8KHwoCXbEJAbAKK1gh2Bv0WbAU0LAGELAV0LAKELAX0LAMELEfAbAKK1gh2Bv0WTAxASERIxEjNTM1IzUzESEyBBUUBAchFSEBITI2NTQmJyEC/P6xv8/Pz88CGeoBEv758v6jAU/+sQFam6Koj/6gARP+7QETnomdAtnuy9XnAYkBJpKMf50BAAAEAHr/6wWDBcUAGwAnADUAOQC7shw6OxESObAcELAA0LAcELAo0LAcELA40ACwAEVYsAovG7EKHj5ZsABFWLAlLxuxJRI+WbAKELAD0LADL7IOCgMREjm2Kg46DkoOA12wChCxEQSwCitYIdgb9FmwAxCxGASwCitYIdgb9FmyGwMKERI5tDYbRhsCXbIlGwFdsCUQsB/QsB8vsCUQsSsEsAorWCHYG/RZsB8QsTIEsAorWCHYG/RZsjYlChESObA2L7I4CiUREjmwOC8wMQEUBiMiJjU1NDYzMhYVIzQmIyIGFRUUFjMyNjUBNDYgFhUVFAYgJjUXFBYzMjY1NTQmIyIGFQUnARcCqJh7eqGee3mciklCQU1PQT1MARCnAQaop/78qopYSkhWV0lHWf4GaQLHaQQebpCoiUeCq5FvOk1mUklOZUw6/UeDqaiLR4Opp4sGT2VjVUpPZGNU80IEckIAAAIAaP/rA2oGEwAXACEAZ7ITIiMREjmwExCwGNAAsABFWLAMLxuxDCA+WbAARViwAC8bsQASPlmyBgwAERI5sAYvsQUBsAorWCHYG/RZsBPQsAAQsRcBsAorWCHYG/RZsAYQsBjQsAwQsR8BsAorWCHYG/RZMDEFIiY1BiM1MjcRNjYzMhYVFRQCBxUUFjMDNjY1NTQmIyIHAszC0mJucV8BnYV4l86ra3DbWWcwJmcDFerrHLAjAiSyxq2TJcH+j2timo0CY1X1eydSTNEABACiAAAHxgXAAAMAEAAeACgAprIfKSoREjmwHxCwAdCwHxCwBNCwHxCwEdAAsABFWLAnLxuxJx4+WbAARViwJS8bsSUePlmwAEVYsAcvG7EHHj5ZsABFWLAiLxuxIhI+WbAARViwIC8bsSASPlmwBxCwDdCwAtCwAi+yEAIBXbEBA7AKK1gh2Bv0WbANELEUA7AKK1gh2Bv0WbAHELEbA7AKK1gh2Bv0WbIhJSAREjmyJiAlERI5MDEBITUhATQ2IBYVFRQGIyImNRcUFjMyNjc1NCYjIgYVASMBESMRMwERMwek/ZkCZ/11ugE4u7mcnrqjX1ZUXQFfVVRf/rzM/a+5ywJUtwGcjgI9m767o12duruhBWJramBlYWtrY/ubBG77kgWw+48EcQAAAgBnA5cEOAWwAAwAFABuALAARViwBi8bsQYePlmwAEVYsAkvG7EJHj5ZsABFWLATLxuxEx4+WbIBFQYREjmwAS+yAAkBERI5sgMBBhESObAE0LIIAQkREjmwARCwC9CwBhCwDbAKK1jYG9xZsAEQsA/QsA0QsBHQsBLQMDEBAyMDESMRMxMTMxEjASMRIxEjNSED3ow0jFpwkJBwWv4Lk1uUAYIFIf52AYn+dwIZ/nEBj/3nAcj+OAHIUQACAJj/7ASTBE4AFQAcAGWyAh0eERI5sAIQsBbQALAARViwCi8bsQoaPlmwAEVYsAIvG7ECEj5ZshoKAhESObAaL7EPCrAKK1gh2Bv0WbACELETCrAKK1gh2Bv0WbIVCgIREjmwChCxFgqwCitYIdgb9FkwMSUGIyImAjU0EjYzMhYWFxUhERYzMjcBIgcRIREmBBa3u5H0h5D4hIXjhAP9AHeaxKz+kJd6AhxzXnKdAQGTjwEDn4vzkD7+uG56Ayp6/usBHnEA//8AVP/1BbMFmwAnAcP/2gKGACcBlADmAAABBwHKAxQAAAAQALAARViwBS8bsQUePlkwMf//AGT/9QZTBbQAJwHFACYClAAnAZQBpQAAAQcBygO0AAAAEACwAEVYsA4vG7EOHj5ZMDH//wBj//UGSQWkACcBxwAIAo8AJwGUAYMAAAEHAcoDqgAAABAAsABFWLABLxuxAR4+WTAx//8AWf/1Bf0FpAAnAckAHwKPACcBlAEgAAABBwHKA14AAAAQALAARViwBS8bsQUePlkwMQACAGr/6wQyBewAGwAqAF6yFSssERI5sBUQsCPQALANL7AARViwFS8bsRUSPlmyAA0VERI5sAAvsgMAFRESObANELEHAbAKK1gh2Bv0WbAAELEcAbAKK1gh2Bv0WbAVELEjAbAKK1gh2Bv0WTAxATIWFy4CIyIHJzc2MyAAERUUAgYjIgA1NTQAFyIGFRUUFjMyNjU1JyYmAjxdpjoOaaZggZsQMXSXAQcBH3jekNr++AEA5Iyfn4qOnwQcoAP+TUSM2Xk7lxUw/k7+bjK8/talASP2DtwBEJi7oBCqz/nbPQ9aagABAKn/KwTlBbAABwAoALAEL7AARViwBi8bsQYePlmwBBCwAdCwBhCxAgGwCitYIdgb9FkwMQUjESERIxEhBOW5/Ta5BDzVBe36EwaFAAABAEX+8wSrBbAADAA3ALADL7AARViwCC8bsQgePlmwAxCxAgGwCitYIdgb9FmwBdCwCBCxCgGwCitYIdgb9FmwB9AwMQEBIRUhNQEBNSEVIQEDa/27A4X7mgJh/Z8EGfzHAkYCQf1KmI8CzALSkJj9QgABAKgCiwPrAyIAAwAcALAARViwAi8bsQIYPlmxAQGwCitYIdgb9FkwMQEhNSED6/y9A0MCi5cAAAEAPwAABJgFsAAIAD2yAwkKERI5ALAHL7AARViwAS8bsQEePlmwAEVYsAMvG7EDEj5ZsgABAxESObAHELEGAbAKK1gh2Bv0WTAxAQEzASMDIzUhAjABq7394o31uQE7ARwElPpQAnSaAAADAGL/6wfLBE4AHAAsADwAcbIHPT4REjmwBxCwJNCwBxCwNNAAsABFWLAELxuxBBI+WbAARViwCi8bsQoSPlmwE9CwEy+wGdCwGS+yBxkEERI5shYZBBESObAKELEgAbAKK1gh2Bv0WbATELEpAbAKK1gh2Bv0WbAw0LAgELA50DAxARQCBiMiJicGBiMiJgI1NTQSNjMyFhc2NjMyABUFFBYzMjY3NzUuAiMiBhUlNCYjIgYHBxUeAjMyNjUHy37fiZHuUFHskInegH7fiJHtUVDvks4BFvlQpohyuTQLGHKSUIamBfemhXO8NQkWdZBQiKUCD5P/AJG4sbO2jwEAlxiTAQCSt7Oxuf7B8w2x3LyjJypjwGHcuQiu372oHyphxWDeuAAB/7D+SwKOBhUAFQA/sgIWFxESOQCwAEVYsA4vG7EOID5ZsABFWLADLxuxAxQ+WbEIAbAKK1gh2Bv0WbAOELETAbAKK1gh2Bv0WTAxBRQGIyInNxYzMjURNDYzMhcHJiMiFQFlpJ45OhIuIZuxoTxUGCU2tmuiqBSRDbEFGaq+FY4L2wACAGUBGAQLA/QAFQArAJGyHCwtERI5sBwQsAXQALADL7IPAwFdsA3QsA0vsgANAV2xCAGwCitYIdgb9FmwAxCwCtCwCi+wAxCxEgGwCitYIdgb9FmwDRCwFdCwFS+wDRCwGdCwGS+wI9CwIy+yACMBXbEeAbAKK1gh2Bv0WbAZELAg0LAgL7AZELEoAbAKK1gh2Bv0WbAjELAr0LArLzAxEzY2MzYXFxYzMjcVBiMiJycmByIGBwc2NjM2FxcWMzI3FwYjIicnJgciBgdmMINCUkqYQk6GZmeFTkKhRE9CgzABMIJCUkqVRFCFZgFnhU5CmEpSQoMwA4UzOgIjTh+Avm0fUx8CRDzlMzsCI00hgL1tH04jAkQ8AAABAJgAmwPaBNUAEwA5ALATL7EAAbAKK1gh2Bv0WbAE0LATELAH0LATELAP0LAPL7EQAbAKK1gh2Bv0WbAI0LAPELAL0DAxASEHJzcjNSE3ITUhExcHMxUhByED2v3tjl9srgELlf5gAf6ZX3fD/t+UAbUBj/Q7uaD/oQEGO8uh/wD//wA+AAIDgQQ9AGYAIABhQAA5mgEHAa//lv13AB0AsABFWLAFLxuxBRo+WbAARViwCC8bsQgSPlkwMQD//wCFAAED3ARQAGYAIgBzQAA5mgEHAa//3f12AB0AsABFWLACLxuxAho+WbAARViwCC8bsQgSPlkwMQAAAgArAAAD3AWwAAUACQA4sggKCxESObAIELAB0ACwAEVYsAAvG7EAHj5ZsABFWLADLxuxAxI+WbIGAAMREjmyCAADERI5MDEBMwEBIwkEAbyMAZT+cI3+bAHW/ukBHAEYBbD9J/0pAtcCD/3x/fICDgD//wC1AKcBmwT1ACcAEgAlALIABwASACUEJAACAG4CeQIzBDoAAwAHACwAsABFWLACLxuxAho+WbAARViwBi8bsQYaPlmwAhCwANCwAC+wBNCwBdAwMRMjETMBIxEz+42NATiNjQJ5AcH+PwHBAAABAFz/XwFXAO8ACAAgsggJChESOQCwCS+wBNCwBC+0QARQBAJdsADQsAAvMDEXJzY3NTMVFAbFaUgCsU+hSG1/XExbswAAAgAfAAADzQYVABUAGQCFsggaGxESObAIELAX0ACwAEVYsAgvG7EIID5ZsABFWLADLxuxAxo+WbAARViwES8bsREaPlmwAEVYsBgvG7EYGj5ZsABFWLAALxuxABI+WbAARViwFi8bsRYSPlmwAxCxAQGwCitYIdgb9FmwCBCxDQGwCitYIdgb9FmwARCwE9CwFNAwMTMRIzUzNTQ2MzIXByYjIgYVFTMVIxEhIxEzyqurz71wqx99cXdp3d0CSbq6A6uPXLXKPZwya2tej/xVBDoAAQA8AAAD6QYVABYAXgCwAEVYsBIvG7ESID5ZsABFWLAGLxuxBho+WbAARViwCS8bsQkSPlmwAEVYsBYvG7EWEj5ZsBIQsQIBsAorWCHYG/RZsAYQsQcBsAorWCHYG/RZsAvQsAYQsA7QMDEBJiMiFRUzFSMRIxEjNTM1NjYzMgURIwMwfEzI5+e5q6sBwLFlASu5BWMU0muP/FUDq492rbg9+igAAAIAPAAABjIGFQAnACsAnwCwAEVYsBYvG7EWID5ZsABFWLAILxuxCCA+WbAARViwIC8bsSAaPlmwAEVYsBIvG7ESGj5ZsABFWLAELxuxBBo+WbAARViwKi8bsSoaPlmwAEVYsCkvG7EpEj5ZsABFWLAjLxuxIxI+WbAARViwJy8bsScSPlmwIBCxIQGwCitYIdgb9FmwJdCwAdCwCBCxDQGwCitYIdgb9FmwG9AwMTMRIzUzNTQ2MzIXByYjIgYVFSE1NDYzMhcHJiMiBhUVMxUjESMRIREhIxEz56uruqpAPwovNVpiAZDPvXCrH31yd2ne3rn+cASSubkDq49vrr4RlglpYnJctco9nDJqbF6P/FUDq/xVBDoAAAEAPAAABjIGFQAoAGwAsABFWLAILxuxCCA+WbAARViwIS8bsSEaPlmwAEVYsCgvG7EoEj5ZsCEQsSIBsAorWCHYG/RZsCbQsAHQsCEQsBLQsATQsAgQsQ0BsAorWCHYG/RZsAgQsBbQsCgQsCXQsBrQsA0QsB3QMDEzESM1MzU0NjMyFwcmIyIGFRUhNTY2MzIFESMRJiMiFRUzFSMRIxEhEeerq7qqQD8KLzVaYgGQAcCxZQEruXxMyOfnuf5wA6uPb66+EZYJaWJydq24PfooBWMU0muP/FUDq/xVABYAW/5yB+4FrgANABoAKAA3AD0AQwBJAE8AVgBaAF4AYgBmAGoAbgB2AHoAfgCCAIYAigCOAcayEI+QERI5sBAQsADQsBAQsBvQsBAQsDDQsBAQsDzQsBAQsD7QsBAQsEbQsBAQsErQsBAQsFDQsBAQsFfQsBAQsFvQsBAQsGHQsBAQsGPQsBAQsGfQsBAQsG3QsBAQsHDQsBAQsHfQsBAQsHvQsBAQsH/QsBAQsITQsBAQsIjQsBAQsIzQALA9L7AARViwRi8bsUYePlmyfkkDK7J6ewMrsoJ3AyuyfzoDK7IKPUYREjmwCi+wA9CwAy+wDtCwDi+wChCwD9CwDy+yUA4PERI5sFAvsW8HsAorWCHYG/RZshVQbxESObAKELEeB7AKK1gh2Bv0WbADELElB7AKK1gh2Bv0WbAPELAp0LApL7AOELAu0LAuL7E0B7AKK1gh2Bv0WbA9ELE8CrAKK1gh2Bv0WbA9ELBr0LBn0LBj0LA+0LA8ELBs0LBo0LBk0LA/0LA6ELBB0LBGELBg0LBc0LBY0LBL0LFKCrAKK1gh2Bv0WbBa0LBe0LBi0LBH0LBJELBO0LAOELFRB7AKK1gh2Bv0WbAPELF2B7AKK1gh2Bv0WbB3ELCE0LB6ELCF0LB7ELCI0LB+ELCJ0LB/ELCM0LCCELCN0DAxARQGIyImJzU0NjMyFhcTETMyFhUUBxYWFRQjATQmIyIGFRUUFjMyNjUBMxEUBiMiJjUzFDMyNjUBETMVMxUhNTM1MxEBESEVIxUlNSERIzUBFTMyNTQnEzUhFSE1IRUhNSEVATUhFSE1IRUhNSEVEzMyNTQmIyMBIzUzNSM1MxEjNTMlIzUzNSM1MxEjNTMDOYFkZoACfmhlgAJDvGJyVDI00P6PSkFASkpCQEkDulxpUlhtXWgpNvnEccQFKMdv+G0BNcQF7AE2b/xcfmdiywEW/VsBFf1cARQCCgEW/VsBFf1cARS8XXY6PF388XFxcXFxcQcib29vb29vAdRieXhedV98eF7+swIlSU1UIA1GLZsBSEVOTkVwRU5ORQFP/oZOXVFTWzYs/MkBO8pxccr+xQYfAR10qal0/uOp/LapU1IEA0p0dHR0dHT5OHFxcXFxcQPEUCke/tP8fvr8Ffl+/H76/BX5AAUAXP3VB9cIcwADABwAIAAkACgAUrMRERAEK7MEERwEK7MKERcEK7AEELAd0LAcELAe0ACwIS+wJS+yHB4DK7AlELAA0LAAL7AhELAC0LACL7INAAIREjmwDS+yHx4CERI5sB8vMDEJAwU0Njc2NjU0JiMiBgczNjYzMhYVFAcGBhUXIxUzAzMVIwMzFSMEGAO//EH8RAQPHiRKXKeVkKACywI6Kzk4XVsvysrKSwQEAgQEBlL8MfwxA8/xOjoYJ4dKgJeLfzM0QDRfPEFcTFuq/UwECp4EAAEAQgAAAqsDIAAWAFayCBcYERI5ALAARViwDi8bsQ4YPlmwAEVYsAAvG7EAEj5ZsRUCsAorWCHYG/RZsALQshQVDhESObIDDhQREjmwDhCxCAKwCitYIdgb9FmwDhCwC9AwMSEhNQE2NTQmIyIGFSM0NiAWFRQPAiECq/2pASxtQDxLR52nAQiaa1SwAY9sARpmRTE9TDlylH9uaGtPkQABAHoAAAHvAxUABgA2ALAARViwBS8bsQUYPlmwAEVYsAEvG7EBEj5ZsgQFARESObAEL7EDArAKK1gh2Bv0WbAC0DAxISMRBzUlMwHvndgBYxICWTmAdQAAAgBQ//UCnQMgAA0AFwBIsgMYGRESObADELAQ0ACwAEVYsAovG7EKGD5ZsABFWLADLxuxAxI+WbAKELEQArAKK1gh2Bv0WbADELEVArAKK1gh2Bv0WTAxARQGIyImJzU0NjMyFhcnNCMiBxUUMzI3Ap2YjYucAZuLjZgCnYqFBIuEBAFFoq6soI6jrqydB8C0s8K1AAEAPv/1ApoDIAAmAHQAsABFWLAOLxuxDhg+WbAARViwGS8bsRkSPlmyABkOERI5fLAALxi2gACQAKAAA12wDhCxBwKwCitYIdgb9FmyCgAHERI5sAAQsSYCsAorWCHYG/RZshQmABESObAZELEgArAKK1gh2Bv0WbIdJiAREjkwMQEzMjY1NCYjIgYVIzQ2MzIWFRQGBxYVFAYjIiY1MxQWMzI2NTQnIwEJVEpIP0Y5S52jfImcRkKVqoiEpp5PQ0ZJnFgByz0wLTozKWJ7eWg3Wxkpj2p9fmstPDwzcQIAAgA2AAACuwMVAAoADgBKALAARViwCS8bsQkYPlmwAEVYsAQvG7EEEj5ZsgEJBBESObABL7ECArAKK1gh2Bv0WbAG0LABELAL0LIICwYREjmyDQkEERI5MDEBMxUjFSM1IScBMwEzEQcCUGtrnf6JBgF5of6E3xEBK4KpqWYCBv4WASEcAAABAFv/9QKnAxUAGwBkALAARViwAS8bsQEYPlmwAEVYsA0vG7ENEj5ZsAEQsQQJsAorWCHYG/RZsgcNARESObAHL7EZArAKK1gh2Bv0WbIFBxkREjmwDRCwEdCwDRCxEwKwCitYIdgb9FmwBxCwG9AwMRMTIRUhBzYzMhYVFAYjIiYnMxYzMjY1NCYjIgdwMgHe/qMWQUqAj6CGeacGmwqBQUhOSkk7AYMBkoSqHYl5fJF+ZWNLRD5NKwACAFb/9QKrAx4AEwAfAFEAsABFWLAALxuxABg+WbAARViwDC8bsQwSPlmwABCxAQKwCitYIdgb9FmyBgwAERI5sAYvsRQCsAorWCHYG/RZsAwQsRsCsAorWCHYG/RZMDEBFSMEBzYzMhYVFAYjIiY1NTQ2NwMiBgcVFBYzMjY0JgIoEf70F0hydoefhIun3s1+M00RUz89TkcDHoMC202Rd3Sappcz0OQF/m4sICJUVU98TAABADoAAAKlAxUABgAzALAARViwBS8bsQUYPlmwAEVYsAIvG7ECEj5ZsAUQsQQCsAorWCHYG/RZsgAFBBESOTAxAQEjASE1IQKl/qOmAV3+OwJrArv9RQKTggADAE//9QKfAyAAEwAeACgAfQCwAEVYsBEvG7ERGD5ZsABFWLAGLxuxBhI+WbIkBhEREjmwJC+23yTvJP8kA122DyQfJC8kA12y/yQBcbQPJB8kAnKxFwKwCitYIdgb9FmyAiQXERI5sgwXJBESObAGELEdArAKK1gh2Bv0WbARELEfArAKK1gh2Bv0WTAxARQHFhUUBiAmNTQ2NyY1NDYzMhYDNCYjIgYVFBYyNgMiBhUUFjI2NCYCi3eLoP7woEpAd5d9fpeJTj4/S0x+TIw3Pz9wP0ACQ3Y3O4NqeXlqQmEbN3Zndnb+OjQ6OjQ1OjoB8DUwLjg4XDcAAgBJ//kClQMgABIAHgBdALAARViwCC8bsQgYPlmwAEVYsA8vG7EPEj5ZsgIPCBESObACL7YPAh8CLwIDXbAPELEQArAKK1gh2Bv0WbACELETArAKK1gh2Bv0WbAIELEZArAKK1gh2Bv0WTAxAQYjIiY1NDYzMhYXFRAFBzUyNicyNzU0JiMiBhUUFgH2RWV2jaOBiZwD/nM3loR7XipPPDtMSgFAQYp+eaCllD3+ZBQBf2KeRzxTUFRDQU4AAAEAjwKLAwsDIgADABIAsAIvsQEBsAorWCHYG/RZMDEBITUhAwv9hAJ8AouXAAADAJ4EQAJuBnIAAwAPABsAdACwAEVYsA0vG7ENGj5ZsAfQsAcvQAk/B08HXwdvBwRdsALQsAIvtj8CTwJfAgNdsADQsAAvQBEPAB8ALwA/AE8AXwBvAH8ACF2wAhCwA9AZsAMvGLANELETB7AKK1gh2Bv0WbAHELEZB7AKK1gh2Bv0WTAxATMHIwc0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBgGxvdxygmRIRGNhRkhkVTMkIzAwIyUyBnK410ZhXklHXF5FIzIxJCYyNAABALIAAAUdBbAADABpALAARViwBC8bsQQePlmwAEVYsAgvG7EIHj5ZsABFWLACLxuxAhI+WbAARViwCy8bsQsSPlmyBgIEERI5fLAGLxi0YwZzBgJdtDMGQwYCXbKTBgFdsQEBsAorWCHYG/RZsgoBBhESOTAxASMRIxEzETMBMwEBIwIjscDAlgH97/3UAlXrAo79cgWw/X4Cgv0+/RIAAQCfBI4BlgY7AAgADACwAC+wBNCwBC8wMQEXBgcVIzU0NgErazsDuVQGO1Njb4iCTa0AAAIAgQTfAuAGigANABEAYACwAy+wB9CwBy9ADQ8HHwcvBz8HTwdfBwZdsAMQsQoEsAorWCHYG/RZsAcQsA3QsA0vsAcQsBHQsBEvsA/QsA8vQA8PDx8PLw8/D08PXw9vDwddsBEQsBDQGbAQLxgwMQEUBiMiJjUzFBYzMjY1JTMXIwLgqIeIqJhPSUdP/qaacGUFsF9ycl83PT812sYAAvykBLz+zAaTABQAGACaALADL7IPAwFdsv8DAV2ycAMBXbAH0LAHL0ALDwcfBy8HPwdPBwVdsAMQsArQsAovsAcQsQ4DsAorWCHYG/RZsAMQsREDsAorWCHYG/RZsA4QsBTQsA4QsBfQsBcvQBk/F08XXxdvF38XjxefF68XvxfPF98X7xcMXbAV0LAVL0ALDxUfFS8VPxVPFQVdsBcQsBjQGbAYLxgwMQEUBiMiJiYjIgYVJzQ2MzIWMzI2NSczByP+zGBGNXEiFCMvVGBGL4EsIzCNq7Z4BX1KaUIJMyYVS2tLMyb+4QAAAgBuBOEEWAaVAAYACgBdALADL7IPAwFdsAXQsAUvsADQsAAvtg8AHwAvAANdsAMQsALQGbACLxiyBAMAERI5sAbQGbAGLxiwAxCwCdCwCS+wB9CwBy+2DwcfBy8HA12wCRCwCtAZsAovGDAxATMBIycHIwEzAyMBkpgBIsWpqsYDIsjJjQXo/vmfnwG0/v0AAv9eBM8DRgaCAAYACgBdALADL7IPAwFdsATQGbAELxiwANAZsAAvGLADELAB0LABL7AG0LAGL7YPBh8GLwYDXbICAwYREjmwAxCwCNCwCC+wB9AZsAcvGLAIELAK0LAKL7YPCh8KLwoDXTAxASMnByMBMwUjAzMDRsWqqsQBIpj+j4zIxwTPnp4BBlUBAgAAAgBpBOQD7AbPAAYAFQBzALADL7AF0LAFL7YPBR8FLwUDXbIEAwUREjkZsAQvGLAA0LADELAB0LABL7ICBQMREjmwB9B8sAcvGEANDwcfBy8HPwdPB18HBl2wDtCwDi9ADQ8OHw4vDj8OTw5fDgZdsA3QsggHDRESObIUDgcREjkwMQEjJwcjATMXJzY2NTQjNzIWFRQGBwcDRqrFxakBELy+AUE7jQWAhko8AQTkuroBBnyDBBohQ1xYSTtCBzwAAgBpBOQDRgbUAAYAGgCHALADL7AB0LABL7AG0LAGL0AJDwYfBi8GPwYEXbIEAwYREjkZsAQvGLAA0LICBgEREjmwBhCwCtCwCi+0PwpPCgJdsA3QsA0vQA0PDR8NLw0/DU8NXw0GXbAKELAQ0LAQL7ANELEUBLAKK1gh2Bv0WbAKELEXBLAKK1gh2Bv0WbAUELAa0DAxASMnByMlMzcUBiMiJiMiBhUnNDYzMhYzMjY1A0aqxcWpAS2Dw2BBNm4oHTZNYEAqfCYfNATknp705T5eRy4dEz9iRi0cAAIAgQTfAuAGigANABEAYACwAy+wB9CwBy9ADQ8HHwcvBz8HTwdfBwZdsAMQsQoEsAorWCHYG/RZsAcQsA3QsA0vsAcQsBDQsBAvsA/QsA8vQA8PDx8PLw8/D08PXw9vDwddsBAQsBHQGbARLxgwMQEUBiMiJjUzFBYzMjY1JzMHIwLgqIeIqJhPSUdPYJmkZgWwX3JyXzc9PzXaxgAAAgCBBOACygcDAA0AHABmALADL7AH0LAHL0ANDwcfBy8HPwdPB18HBl2wAxCxCgSwCitYIdgb9FmwBxCwDdCwDS+wBxCwDtCwDi+wFdCwFS9ADw8VHxUvFT8VTxVfFW8VB12wFNCyDxQOERI5shsOFRESOTAxARQGIyImNTMUFjMyNjUnJzY2NTQjNzIWFRQGBwcCyqGDhKGSSklFTMkBSkKgB5CUUUQBBbBecnNdNT49NhF8BBgdO1JOQjI7Bz7//wBQAo0CnQW4AwcBxAAAApgAEwCwAEVYsAovG7EKHj5ZsBDQMDEA//8ANgKYArsFrQMHAcYAAAKYABMAsABFWLAJLxuxCR4+WbAN0DAxAP//AFsCjQKnBa0DBwHHAAACmAAQALAARViwAS8bsQEePlkwMf//AFYCjQKrBbYDBwHIAAACmAATALAARViwAC8bsQAePlmwFNAwMQD//wA6ApgCpQWtAwcByQAAApgAEACwAEVYsAUvG7EFHj5ZMDH//wBPAo0CnwW4AwcBygAAApgAGQCwAEVYsBEvG7ERHj5ZsBfQsBEQsB/QMDEA//8ASQKRApUFuAMHAcsAAAKYABMAsABFWLAILxuxCB4+WbAZ0DAxAAACAIME2QLSBtAADQAhAH4AsAMvsAfQsAcvQA0PBx8HLwc/B08HXwcGXbADELEKBLAKK1gh2Bv0WbAHELAN0LANL7AHELAR0LARL7AU0LAUL0ALDxQfFC8UPxRPFAVdsBEQsBfQsBcvsBQQsRsEsAorWCHYG/RZsBEQsR4EsAorWCHYG/RZsBsQsCHQMDEBFAYjIiY1MxQWMzI2NRMUBiMiJiMiBhUnNDYzMhYzMjY1AtKhhoehlkpIR0qNYEY6dywiMFNgRTCBLCMwBa5fdnZfNkBANgEKSmlLMyYVS2tLMyYAAQBn/pkBIQCZAAMAEgCwBC+wAtCwAi+wAdCwAS8wMQEjETMBIbq6/pkCAAAB/7b+SwFnAJgADAAoALANL7AARViwBC8bsQQUPlmxCQGwCitYIdgb9FmwDRCwDNCwDC8wMSUVBgYjIic3FjMyNTUBZwGqlzs0Dh5DiZj1qLASnQ3C6QD//wB+/+wEFgWxAQYAGvoAABMAsABFWLAALxuxAB4+WbAV0DAxAP//AHD/7AQOBcQBBgAcAAAAGQCwAEVYsBUvG7EVHj5ZsBvQsBUQsCLQMDEA////tP5LAWUEOgAGAJwAAP///7T+SwFlBDoABgCcAAD//wCbAAABVQQ6AQYAjQAAABAAsABFWLACLxuxAho+WTAx////+v5ZAVoEOgAmAI0AAAAGAKTICv//AJsAAAFVBDoABgCNAAAAAQA7AAAD0gWwAAYAMwCwAEVYsAUvG7EFHj5ZsABFWLABLxuxARI+WbAFELEDAbAKK1gh2Bv0WbIAAwUREjkwMQEBIwEhNSED0v2+ugJA/SUDlwVI+rgFGJj//wBXAAAChgW3AAYAFa0A//8AJQIfAg0CtgIGABEAAAACAAcAAATkBbAADwAdAGkAsABFWLAFLxuxBR4+WbAARViwAC8bsQASPlmyBAAFERI5sAQvss8EAV2yLwQBXbKfBAFxsQEBsAorWCHYG/RZsBHQsAAQsRIBsAorWCHYG/RZsAUQsRsBsAorWCHYG/RZsAQQsBzQMDEzESM1MxEhMgQSFxUUAgQHEyMRMzISNzU0AicjETPHwMABm74BJJ8Bn/7ZxCn8yd73AenW4PwCmpcCf6j+ysldzv7KpgICmv4DARL5XfgBEwL+HwACAAcAAATkBbAADwAdAGkAsABFWLAFLxuxBR4+WbAARViwAC8bsQASPlmyBAAFERI5sAQvss8EAV2yLwQBXbKfBAFxsQEBsAorWCHYG/RZsBHQsAAQsRIBsAorWCHYG/RZsAUQsRsBsAorWCHYG/RZsAQQsBzQMDEzESM1MxEhMgQSFxUUAgQHEyMRMzISNzU0AicjETPHwMABm74BJJ8Bn/7ZxCn8yd73AenW4PwCmpcCf6j+ysldzv7KpgICmv4DARL5XfgBEwL+HwAB/+IAAAP9BgAAGQBsALAXL7AARViwBC8bsQQaPlmwAEVYsBAvG7EQEj5ZsABFWLAILxuxCBI+WbIvFwFdsg8XAV2yFRAXERI5sBUvsRIBsAorWCHYG/RZsAHQsgIQBBESObAEELEMAbAKK1gh2Bv0WbAVELAY0DAxASMRNjMgExEjESYmIyIGBxEjESM1MzUzFTMCXvt7xQFXA7kBaW9aiCa5yMi5+wTS/uWX/n39NQLMdXBgTvz9BNKXl5cAAQAxAAAElwWwAA8ATgCwAEVYsAovG7EKHj5ZsABFWLACLxuxAhI+WbIPCgIREjmwDy+xAAGwCitYIdgb9FmwBNCwDxCwBtCwChCxCAGwCitYIdgb9FmwDNAwMQEjESMRIzUzESE1IRUhETMDque/1tb+LQRm/iznAzf8yQM3lwFEnp7+vAAB//T/7AJwBUAAHQB2ALAARViwAS8bsQEaPlmwAEVYsBEvG7EREj5ZsAEQsADQsAAvsAEQsQQBsAorWCHYG/RZsAEQsAXQsAUvsgAFAV2xCAGwCitYIdgb9FmwERCxDAGwCitYIdgb9FmwCBCwFdCwBRCwGNCwBBCwGdCwARCwHNAwMQERMxUjFTMVIxEUFjMyNxUGIyImNREjNTM1IzUzEQGHysrp6TZBIDhJRXx+2trFxQVA/vqPupf+skFBDJYUlooBTpe6jwEGAP//ABwAAAUdBzYCJgAlAAABBwBEATABNgAUALAARViwBC8bsQQePlmxDAj0MDH//wAcAAAFHQc2AiYAJQAAAQcAdQG/ATYAFACwAEVYsAUvG7EFHj5ZsQ0I9DAx//8AHAAABR0HNgImACUAAAEHAJ4AyQE2ABQAsABFWLAELxuxBB4+WbEPBvQwMf//ABwAAAUdByICJgAlAAABBwClAMUBOgAUALAARViwBS8bsQUePlmxDgT0MDH//wAcAAAFHQb7AiYAJQAAAQcAagD5ATYAFwCwAEVYsAQvG7EEHj5ZsREE9LAb0DAxAP//ABwAAAUdB5ECJgAlAAABBwCjAVABQQAXALAARViwBC8bsQQePlmxDgb0sBjQMDEA//8AHAAABR0HlAImACUAAAAHAc0BWgEi//8Ad/5EBNgFxAImACcAAAAHAHkB0v/3//8AqQAABEYHQgImACkAAAEHAEQA+wFCABQAsABFWLAGLxuxBh4+WbENCPQwMf//AKkAAARGB0ICJgApAAABBwB1AYoBQgAUALAARViwBi8bsQYePlmxDgj0MDH//wCpAAAERgdCAiYAKQAAAQcAngCUAUIAFACwAEVYsAYvG7EGHj5ZsRAG9DAx//8AqQAABEYHBwImACkAAAEHAGoAxAFCABcAsABFWLAGLxuxBh4+WbESBPSwG9AwMQD////gAAABgQdCAiYALQAAAQcARP+nAUIAFACwAEVYsAIvG7ECHj5ZsQUI9DAx//8AsAAAAlEHQgImAC0AAAEHAHUANQFCABQAsABFWLADLxuxAx4+WbEGCPQwMf///+kAAAJGB0ICJgAtAAABBwCe/0ABQgAUALAARViwAi8bsQIePlmxCAb0MDH////VAAACXgcHAiYALQAAAQcAav9wAUIAFwCwAEVYsAIvG7ECHj5ZsQoE9LAU0DAxAP//AKkAAAUIByICJgAyAAABBwClAPsBOgAUALAARViwBi8bsQYePlmxDQT0MDH//wB2/+wFCQc4AiYAMwAAAQcARAFSATgAFACwAEVYsA0vG7ENHj5ZsSEI9DAx//8Adv/sBQkHOAImADMAAAEHAHUB4QE4ABQAsABFWLANLxuxDR4+WbEiCPQwMf//AHb/7AUJBzgCJgAzAAABBwCeAOsBOAAUALAARViwDS8bsQ0ePlmxIgb0MDH//wB2/+wFCQckAiYAMwAAAQcApQDnATwAFACwAEVYsA0vG7ENHj5ZsSME9DAx//8Adv/sBQkG/QImADMAAAEHAGoBGwE4ABcAsABFWLANLxuxDR4+WbEnBPSwMNAwMQD//wCM/+wEqgc2AiYAOQAAAQcARAErATYAFACwAEVYsAovG7EKHj5ZsRQI9DAx//8AjP/sBKoHNgImADkAAAEHAHUBugE2ABQAsABFWLASLxuxEh4+WbEVCPQwMf//AIz/7ASqBzYCJgA5AAABBwCeAMQBNgAUALAARViwCi8bsQoePlmxFwb0MDH//wCM/+wEqgb7AiYAOQAAAQcAagD0ATYAFwCwAEVYsAovG7EKHj5ZsRkE9LAj0DAxAP//AA8AAAS7BzYCJgA9AAABBwB1AYgBNgAUALAARViwAS8bsQEePlmxCwj0MDH//wBt/+wD6gYAAiYARQAAAQcARADVAAAAFACwAEVYsBcvG7EXGj5ZsSoJ9DAx//8Abf/sA+oGAAImAEUAAAEHAHUBZAAAABQAsABFWLAXLxuxFxo+WbErCfQwMf//AG3/7APqBgACJgBFAAABBgCebgAAFACwAEVYsBcvG7EXGj5ZsSsB9DAx//8Abf/sA+oF7AImAEUAAAEGAKVqBAAUALAARViwFy8bsRcaPlmxLAH0MDH//wBt/+wD6gXFAiYARQAAAQcAagCeAAAAFwCwAEVYsBcvG7EXGj5ZsTAB9LA50DAxAP//AG3/7APqBlsCJgBFAAABBwCjAPUACwAXALAARViwFy8bsRcaPlmxLAT0sDbQMDEA//8Abf/sA+oGXwImAEUAAAAHAc0A///t//8AXP5EA+wETgImAEcAAAAHAHkBP//3//8AXf/sA/MGAAImAEkAAAEHAEQAxQAAABQAsABFWLAILxuxCBo+WbEfCfQwMf//AF3/7APzBgACJgBJAAABBwB1AVQAAAAUALAARViwCC8bsQgaPlmxIAn0MDH//wBd/+wD8wYAAiYASQAAAQYAnl4AABQAsABFWLAILxuxCBo+WbEgAfQwMf//AF3/7APzBcUCJgBJAAABBwBqAI4AAAAXALAARViwCC8bsQgaPlmxJQH0sC7QMDEA////xgAAAWcF/wImAI0AAAEGAESN/wAUALAARViwAi8bsQIaPlmxBQn0MDH//wCWAAACNwX/AiYAjQAAAQYAdRv/ABQAsABFWLADLxuxAxo+WbEGCfQwMf///88AAAIsBf8CJgCNAAABBwCe/yb//wAUALAARViwAi8bsQIaPlmxCAH0MDH///+7AAACRAXEAiYAjQAAAQcAav9W//8AFwCwAEVYsAIvG7ECGj5ZsQsB9LAU0DAxAP//AIwAAAPfBewCJgBSAAABBgClYQQAFACwAEVYsAMvG7EDGj5ZsRUB9DAx//8AW//sBDQGAAImAFMAAAEHAEQAzwAAABQAsABFWLAELxuxBBo+WbEdCfQwMf//AFv/7AQ0BgACJgBTAAABBwB1AV4AAAAUALAARViwBC8bsQQaPlmxHgn0MDH//wBb/+wENAYAAiYAUwAAAQYAnmgAABQAsABFWLAELxuxBBo+WbEeAfQwMf//AFv/7AQ0BewCJgBTAAABBgClZAQAFACwAEVYsAQvG7EEGj5ZsR8B9DAx//8AW//sBDQFxQImAFMAAAEHAGoAmAAAABcAsABFWLAELxuxBBo+WbEjAfSwLNAwMQD//wCI/+wD3AYAAiYAWQAAAQcARADHAAAAFACwAEVYsAcvG7EHGj5ZsRIJ9DAx//8AiP/sA9wGAAImAFkAAAEHAHUBVgAAABQAsABFWLANLxuxDRo+WbETCfQwMf//AIj/7APcBgACJgBZAAABBgCeYAAAFACwAEVYsAcvG7EHGj5ZsRUB9DAx//8AiP/sA9wFxQImAFkAAAEHAGoAkAAAABcAsABFWLAHLxuxBxo+WbEYAfSwIdAwMQD//wAW/ksDsAYAAiYAXQAAAQcAdQEbAAAAFACwAEVYsAEvG7EBGj5ZsRIJ9DAx//8AFv5LA7AFxQImAF0AAAEGAGpVAAAXALAARViwDy8bsQ8aPlmxFwH0sCDQMDEA//8AHAAABR0G4wImACUAAAEHAHAAxwE+ABMAsABFWLAELxuxBB4+WbAM3DAxAP//AG3/7APqBa0CJgBFAAABBgBwbAgAEwCwAEVYsBcvG7EXGj5ZsCrcMDEA//8AHAAABR0HDgImACUAAAEHAKEA9AE3ABMAsABFWLAELxuxBB4+WbAN3DAxAP//AG3/7APqBdgCJgBFAAABBwChAJkAAQATALAARViwFy8bsRcaPlmwK9wwMQAAAgAc/k8FHQWwABYAGQBpALAARViwFi8bsRYePlmwAEVYsBQvG7EUEj5ZsABFWLABLxuxARI+WbAARViwDC8bsQwUPlmxBwOwCitYIdgb9FmwARCwEdCwES+yFxQWERI5sBcvsRMBsAorWCHYG/RZshkWFBESOTAxAQEjBwYVFDMyNxcGIyImNTQ3AyEDIwEDIQMC8AItJjpxTjA0DUZaWWeph/2eicYCLKMB7/gFsPpQLVtWSBp5LGhWkGwBc/6EBbD8agKpAAACAG3+TwPqBE4ALQA3AJQAsABFWLAXLxuxFxo+WbAARViwBC8bsQQSPlmwAEVYsB4vG7EeEj5ZsABFWLApLxuxKRQ+WbAeELAA0LAAL7ICBBcREjmyCxcEERI5sAsvsBcQsQ8BsAorWCHYG/RZshILFxESObApELEkA7AKK1gh2Bv0WbAEELEuAbAKK1gh2Bv0WbALELEzAbAKK1gh2Bv0WTAxJSYnBiMiJjU0JDMzNTQmIyIGFSM0NjYzMhYXERQXFSMHBhUUMzI3FwYjIiY1NCcyNjc1IyAVFBYDJA8HgbOgzQEB6bR0cWOGunPFdrvUBCYhOnFOMDQNRlpZZ4hXnCOR/qx0ByZFhrWLqbtVYXNkR1GXWLuk/g6VWBAtW1ZIGnksaFaQ8FpI3sdXYgD//wB3/+wE2AdXAiYAJwAAAQcAdQHGAVcAFACwAEVYsAsvG7ELHj5ZsR8I9DAx//8AXP/sA+wGAAImAEcAAAEHAHUBMwAAABQAsABFWLAQLxuxEBo+WbEgCfQwMf//AHf/7ATYB1cCJgAnAAABBwCeANABVwAUALAARViwCy8bsQsePlmxHwb0MDH//wBc/+wD7AYAAiYARwAAAQYAnj0AABQAsABFWLAQLxuxEBo+WbEgAfQwMf//AHf/7ATYBxkCJgAnAAABBwCiAa0BVwAUALAARViwCy8bsQsePlmxIwT0MDH//wBc/+wD7AXCAiYARwAAAQcAogEaAAAAFACwAEVYsBAvG7EQGj5ZsSQB9DAx//8Ad//sBNgHVwImACcAAAEHAJ8A5QFYABQAsABFWLALLxuxCx4+WbEhBvQwMf//AFz/7APsBgACJgBHAAABBgCfUgEAFACwAEVYsBAvG7EQGj5ZsSIB9DAx//8AqQAABMYHQgImACgAAAEHAJ8AngFDABQAsABFWLABLxuxAR4+WbEbBvQwMf//AF//7AUrBgIAJgBIAAABBwG6A9QFEwBIALLwHwFysh8fAV2ynx8BXbIfHwFxtM8f3x8CcbLfHwFysl8fAXKyTx8BcbLPHwFdtE8fXx8CXbJgHwFdsuAfAXGy4B8BXTAx//8AqQAABEYG7wImACkAAAEHAHAAkgFKABMAsABFWLAGLxuxBh4+WbAN3DAxAP//AF3/7APzBa0CJgBJAAABBgBwXAgAEwCwAEVYsAgvG7EIGj5ZsB/cMDEA//8AqQAABEYHGgImACkAAAEHAKEAvwFDABMAsABFWLAGLxuxBh4+WbAP3DAxAP//AF3/7APzBdgCJgBJAAABBwChAIkAAQATALAARViwCC8bsQgaPlmwIdwwMQD//wCpAAAERgcEAiYAKQAAAQcAogFxAUIAFACwAEVYsAYvG7EGHj5ZsRME9DAx//8AXf/sA/MFwgImAEkAAAEHAKIBOwAAABQAsABFWLAILxuxCBo+WbElAfQwMQABAKn+TwRGBbAAGwB6ALAARViwFi8bsRYePlmwAEVYsBUvG7EVEj5ZsABFWLAPLxuxDxQ+WbAARViwBC8bsQQSPlmyGhUWERI5sBovsQEBsAorWCHYG/RZsBUQsQIBsAorWCHYG/RZsA8QsQoDsAorWCHYG/RZsBYQsRkBsAorWCHYG/RZMDEBIREhFSMHBhUUMzI3FwYjIiY1NDchESEVIREhA+D9iQLdSTpxTjA0DUZaWWeb/V0Dk/0tAncCof38nS1bVkgaeSxoVoppBbCe/iwAAAIAXf5oA/METgAlAC0AfgCwAEVYsBovG7EaGj5ZsABFWLANLxuxDRQ+WbAARViwEi8bsRISPlmwBNCwDRCxCAOwCitYIdgb9FmyKhIaERI5sCovtL8qzyoCXbEeAbAKK1gh2Bv0WbASELEiAbAKK1gh2Bv0WbIlEhoREjmwGhCxJgGwCitYIdgb9FkwMSUGBzMHBhUUMzI3FwYjIiY1NDcmADU1NDY2MzISERUhFhYzMjY3ASIGByE1JiYD5UdzATpxTjA0DUZaWWdi2v71e92B0+r9IwSzimKIM/7CcJgSAh4IiL1uNi1bVkgaeSxoVmxaBAEh7yGh/Y/+6v79TaDFUEICoaOTDo2bAP//AKkAAARGB0ICJgApAAABBwCfAKkBQwAUALAARViwBi8bsQYePlmxEQb0MDH//wBd/+wD8wYAAiYASQAAAQYAn3MBABQAsABFWLAILxuxCBo+WbEiAfQwMf//AHr/7ATcB1cCJgArAAABBwCeAMgBVwAUALAARViwCy8bsQsePlmxIgb0MDH//wBg/lYD8gYAAiYASwAAAQYAnlUAABQAsABFWLADLxuxAxo+WbEnAfQwMf//AHr/7ATcBy8CJgArAAABBwChAPMBWAATALAARViwCy8bsQsePlmwItwwMQD//wBg/lYD8gXYAiYASwAAAQcAoQCAAAEAEwCwAEVYsAMvG7EDGj5ZsCfcMDEA//8Aev/sBNwHGQImACsAAAEHAKIBpQFXABQAsABFWLALLxuxCx4+WbEnBPQwMf//AGD+VgPyBcICJgBLAAABBwCiATIAAAAUALAARViwAy8bsQMaPlmxLAH0MDH//wB6/fYE3AXEAiYAKwAAAAcBugHa/pf//wBg/lYD8gaTAiYASwAAAQcBzwErAFgAEwCwAEVYsAMvG7EDGj5ZsCrcMDEA//8AqQAABQgHQgImACwAAAEHAJ4A8QFCABQAsABFWLAHLxuxBx4+WbEQBvQwMf//AIwAAAPfB0ECJgBMAAABBwCeAB0BQQAJALARL7AU3DAxAP///7cAAAJ6By4CJgAtAAABBwCl/zwBRgAUALAARViwAy8bsQMePlmxBwT0MDH///+dAAACYAXqAiYAjQAAAQcApf8iAAIAFACwAEVYsAMvG7EDGj5ZsQcB9DAx////zAAAAmwG7wImAC0AAAEHAHD/PgFKABMAsABFWLACLxuxAh4+WbAF3DAxAP///7IAAAJSBasCJgCNAAABBwBw/yQABgATALAARViwAi8bsQIaPlmwBdwwMQD////sAAACQwcaAiYALQAAAQcAof9rAUMAEwCwAEVYsAIvG7ECHj5ZsAfcMDEA////0gAAAikF1wImAI0AAAEHAKH/UQAAABMAsABFWLACLxuxAho+WbAH3DAxAP//ABj+WAF4BbACJgAtAAAABgCk5gn////7/k8BaAXEAiYATQAAAAYApMkA//8AqQAAAYQHBAImAC0AAAEHAKIAHAFCABQAsABFWLACLxuxAh4+WbELBPQwMf//ALf/7AX5BbAAJgAtAAAABwAuAi0AAP//AI3+SwNKBcQAJgBNAAAABwBOAfEAAP//ADX/7ASCBzUCJgAuAAABBwCeAXwBNQAUALAARViwAC8bsQAePlmxFAb0MDH///+0/ksCOQXYAiYAnAAAAQcAnv8z/9gAFACwAEVYsA0vG7ENGj5ZsRIE9DAx//8Aqf5YBQUFsAImAC8AAAAHAboBlP75//8Ajf5FBAwGAAImAE8AAAAHAboBEf7m//8AoQAABBwHMQImADAAAAEHAHUAJgExABQAsABFWLAFLxuxBR4+WbEICPQwMf//AJMAAAI0B5YCJgBQAAABBwB1ABgBlgAUALAARViwAy8bsQMgPlmxBgn0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AHUBhwE2ABQAsABFWLAHLxuxBx4+WbEMCPQwMf//AFgAAAOzBgACJgBeAAABBwB1ASEAAAAUALAARViwBy8bsQcaPlmxDAn0MDH//wBWAAAEegb4AiYAPgAAAQcAogFuATYAFACwAEVYsAcvG7EHHj5ZsREE9DAx//8AWAAAA7MFwgImAF4AAAEHAKIBCAAAABQAsABFWLAHLxuxBxo+WbERAfQwMf//AFYAAAR6BzYCJgA+AAABBwCfAKYBNwAUALAARViwBy8bsQcePlmxDwb0MDH//wBYAAADswYAAiYAXgAAAQYAn0ABABQAsABFWLAHLxuxBxo+WbEPAfQwMf////IAAAdXB0ICJgCBAAABBwB1AskBQgAUALAARViwBi8bsQYePlmxFQj0MDH//wBO/+wGfAYBAiYAhgAAAQcAdQJ6AAEAFACwAEVYsB0vG7EdGj5ZsUAJ9DAx//8Adv+jBR0HgAImAIMAAAEHAHUB6QGAABQAsABFWLAQLxuxEB4+WbEsCPQwMf//AFv/egQ0BgACJgCJAAABBwB1ATcAAAAUALAARViwBC8bsQQaPlmxKQn0MDH//wAcAAAFHQY/AiYAJQAAAAYArgQA////KQAABEYGPwImACkAAAAHAK7+cgAA////NwAABQgGQQImACwAAAAHAK7+gAAC////PQAAAXcGQAImAC0AAAAHAK7+hgAB////5v/sBR0GPwAmADMUAAAHAK7/LwAA////FAAABR8GPwAmAD1kAAAHAK7+XQAA////6QAABN8GPwAmALoUAAAHAK7/MgAA////m//0Aq0GdAImAMMAAAEHAK//Kv/sAB0AsABFWLAMLxuxDBo+WbEYAfSwD9CwGBCwIdAwMQD//wAcAAAFHQWwAgYAJQAA//8AqQAABIgFsAIGACYAAP//AKkAAARGBbACBgApAAD//wBWAAAEegWwAgYAPgAA//8AqQAABQgFsAIGACwAAP//ALcAAAF3BbACBgAtAAD//wCpAAAFBQWwAgYALwAA//8AqQAABlIFsAIGADEAAP//AKkAAAUIBbACBgAyAAD//wB2/+wFCQXEAgYAMwAA//8AqQAABMAFsAIGADQAAP//ADEAAASXBbACBgA4AAD//wAPAAAEuwWwAgYAPQAA//8AOQAABM4FsAIGADwAAP///9UAAAJeBwcCJgAt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BH4AZAHwAIYBsQApBBEASARkAJgELgCGA8cASwcvAGoFOAAcBPsAqQU1AHcFPwCpBIwAqQRsAKkFcwB6BbQAqQItALcEagA1BQQAqQROAKkG/ACpBbQAqQWAAHYFDACpBYAAbQTtAKgEvwBQBMYAMQUwAIwFFwAcBxkAPQUEADkEzgAPBMoAVgIfAJIDSAAoAh8ACQNYAEADnAAEAnkAOQRaAG0EfQCMBDAAXASDAF8EPQBdAscAPAR9AGAEaACMAfEAjQHp/78EDgCNAfEAnAcDAIsEagCMBJAAWwR9AIwEjABfArUAjAQgAF8CnQAJBGkAiAPgACEGAwArA/cAKQPJABYD9wBYArUAQAHzAK8CtQATBXEAgwHzAIsEYABpBKYAWwW0AGkEMwAPAesAkwToAFoDWABlBkkAWwOTAJMDwQBmBG4AfwZKAFoDqgCOAv0AggRGAGEC7wBCAu8APgKCAHsEiACaA+kAQwIWAJMB+wB0Au8AegOjAHoDwABmBdwAVQY1AFAGOQBvA8kARAd6//IERABZBYAAdgS6AKYEwgCLBsEATgSwAH4EkQBHBIgAWwScAJUExwBfBZoAHQH6AJsEcwCaBE8AIgIpACIFiwCiBIgAkQehAGgHRABhAfwAoAWHAF0Cuf/kBX4AZQSSAFsFkACMBPMAiAID/7QENwBiA8QAqQONAI0DqwCOA2oAgQHxAI0CrQB5AioAMgPGAHsC/ABeAloAfgAA/KcAAP1vAAD8iwAA/V4AAPwnAAD9OAINALcECwBxAhcAkwRzALEFpAAfBXEAZwU+ADIEkQB4BbUAsgSRAEUFuwBNBYkAWgVSAHEEhQBkBL0AoAQCAC4EiABgBFAAYwQlAG0EiACRBI4AegKXAMMEbgAlA+wAZQTEACkEiACRBE0AZQSIAGAELABRBF0AjwWjAFcFmgBfBpcAegShAHkEQv/aBkgASgX/ACoFZAB7CJEAMQikALEGggA+BbQAsAULAKIGBAAyB0MAGwS/AFAFtACxBakALwUHAE0GLABTBdkArwV6AJYHhwCwB8AAsAYSABAG6wCyBQUAowVkAJMHJwC3BRgAWQRsAGEEkgCdA1sAmgTUAC4GIAAVBBAAWASeAJwEUgCcBKAALAXvAJ0EnQCcBJ4AnAPYACgFzQBkBL0AnARZAGcGeACcBp4AkQT3AB4GNgCdBFgAnQRNAGQGhwCdBGQALwRo/+gETQBnBskAJwbkAJwEif/9BJ4AnAcIAJwGKwCBBFb/3AcrALcF+ACZBNIAKARGAA8HCwDJBgsAvAbRAJMF4QCWCQQAtgfRAJsEIwBQA9sATAVxAGcEiwBbBQoAFgQDAC4FcQBnBIgAWwcBAJwGJAB+BwgAnAYrAIEFMgB1BEcAZAT9AHQAAPxnAAD8cQAA/WYAAP2kAAD6GwAA+iwGCQCxBO0AnARW/9wFGwCoBIkAjARjAKIDkACRBNsAsQQFAJEHogAbBmEAFQWaALIEuACcBQkAowR+AJoGjABEBYMAPgX/AKkE2QCcB88AqAW0AJEIMQCwBvQAkQXuAHEE0wBtBRgAOQQqACkHLAA0BVwAHwW8AJYElgBnBW8AlgRqAIMFbwCJBi8APwS9/94FCQCjBFoAmgX+AC8E7wAsBbIAsQSIAJEGEgCpBOwAnAdPAKkGPgCdBYcAXQSoAGgEqABpBLcAOgOrADsFLgA5BEAAKQT2AFcGlABZBuQAZAZWADYFKwAxBEkAUgQHAHkHwQBEBnUAPwf7AKkGoQCQBPYAdgQdAGUFrQAjBSAARgVkAJYGAgAvBPIALAMgAG8EFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAAjQAJQI0ACUFQACiBj8AkAOlAA0BmQBgAZkAMAGXACQBmQBPAtQAaALbADwCwQAkBGkARgSPAFcCsgCKA8QAlAVaAJQBfgBSB6oARAJmAGwCZgBZA6MAOwLvADYDYAB6BKYAWwZVAB8GkACnCHYAqAXrAB8GKwCMBH4AXwXaAB8EIgAqBHQAIAVIAF0FTwAfBecAegPOAGgIOgCiBQEAZwUXAJgGJgBUBtcAZAbPAGMGagBZBI8AagWOAKkErwBFBJIAqATFAD8IOgBiAgz/sASCAGUEZACYBBEAPgQvAIUECAArAkwAtQKPAG4CAwBcBG4AHwSLADwG1AA8BtQAPAAAAAAIMwBbCDUAXALvAEIC7wB6Au8AUALvAD4C7wA2Au8AWwLvAFYC7wA6Au8ATwLvAEkDlgCPArUAngUkALIB/QCfA6QAgQAA/KQD7wBuA/P/XgQOAGkD9ABpA58AgQOeAIEC7wBQAu8ANgLvAFsC7wBWAu8AOgLvAE8C7wBJA6QAgwGRAGcB/P+2BH8AfgR/AHACBv+0AgT/tAH7AJsB+//6AfsAmwQgADsDeQBXAfsAAAI1ACUFXQAHBV0ABwSG/+IExgAxAp3/9AU4ABwFOAAcBTgAHAU4ABwFOAAcBTgAHAU4ABwFNQB3BIwAqQSMAKkEjACpBIwAqQIt/+ACLQCwAi3/6QIt/9UFtACpBYAAdgWAAHYFgAB2BYAAdgWAAHYFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABcBD0AXQQ9AF0EPQBdBD0AXQH6/8YB+gCWAfr/zwH6/7sEagCMBJAAWwSQAFsEkABbBJAAWwSQAFsEaQCIBGkAiARpAIgEaQCIA8kAFgPJABYFOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FNQB3BDAAXAU1AHcEMABcBTUAdwQwAFwFNQB3BDAAXAU/AKkFGQBfBIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQVzAHoEfQBgBXMAegR9AGAFcwB6BH0AYAVzAHoEfQBgBbQAqQRoAIwCLf+3Afr/nQIt/8wB+v+yAi3/7AH6/9ICLQAYAfH/+wItAKkGlwC3A9oAjQRqADUCA/+0BQQAqQQOAI0ETgChAfEAkwROAKkB8QBXBE4AqQKHAJwETgCpAs0AnAW0AKkEagCMBbQAqQRqAIwFtACpBGoAjARq/7wFgAB2BJAAWwWAAHYEkABbBYAAdgSQAFsE7QCoArUAjATtAKgCtQBTBO0AqAK1AGMEvwBQBCAAXwS/AFAEIABfBL8AUAQgAF8EvwBQBCAAXwS/AFAEIABfBMYAMQKdAAkExgAxAp0ACQTGADECxQAJBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBxkAPQYDACsEzgAPA8kAFgTOAA8EygBWA/cAWATKAFYD9wBYBMoAVgP3AFgHev/yBsEATgWAAHYEiABbBTgAHASM/ykFtP83Ai3/PQWU/+YFMv8UBWb/6QKX/5sFOAAcBPsAqQSMAKkEygBWBbQAqQItALcFBACpBvwAqQW0AKkFgAB2BQwAqQTGADEEzgAPBQQAOQIt/9UEzgAPBIUAZARQAGMEiACRApcAwwRdAI8EcwCaBJAAWwSIAJoD4AAhA/cAKQKX/+UEXQCPBJAAWwRdAI8GlwB6BIwAqQRzALEEvwBQAi0AtwIt/9UEagA1BSQAsgUEAKkFBwBNBTgAHAT7AKkEcwCxBIwAqQW0ALEG/ACpBbQAqQWAAHYFtQCyBQwAqQU1AHcExgAxBQQAOQRaAG0EPQBdBJ4AnASQAFsEfQCMBDAAXAPJABYD9wApBD0AXQNbAJoEIABfAfEAjQH6/7sB6f+/BFIAnAPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFlAGcCjwCIBB4AoAID/7QBmQAwBvwAqQcDAIsFOAAcBFoAbQSMAKkFtACxBD0AXQSeAJwFiQBaBZoAXwUKABYEA//7CFkAWwlJAHYEvwBQBBAAWAU1AHcEMABcBM4ADwQCAC4CLQC3B0MAGwYgABUCLQC3BTgAHARaAG0FOAAcBFoAbQd6//IGwQBOBIwAqQQ9AF0FhwBdBDcAYgQ3AGIHQwAbBiAAFQS/AFAEEABYBbQAsQSeAJwFtACxBJ4AnAWAAHYEkABbBXEAZwSLAFsFcQBnBIsAWwVkAJMETQBkBQcATQPJABYFBwBNA8kAFgUHAE0DyQAWBXoAlgRZAGcG6wCyBjYAnQSDAF8FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFr/ygU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQSM//AEPf+6BIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdAi0AtwH6AJsCLQCjAfEAhQWAAHYEkABbBYAAdgSQAFsFgAB2BJAAWwWAAEcEkP/EBYAAdgSQAFsFgAB2BJAAWwWAAHYEkABbBX4AZQSSAFsFfgBlBJIAWwV+AGUEkgBbBX4AZQSSAFsFfgBlBJIAWwUwAIwEaQCIBTAAjARpAIgFkACMBPMAiAWQAIwE8wCIBZAAjATzAIgFkACMBPMAiAWQAIwE8wCIBM4ADwPJABYEzgAPA8kAFgTOAA8DyQAWBKEAXwTGADED2AAoBXoAlgRZAGcEcwCxA1sAmgYvAD8Evf/eBGgAjAUF/9QFBf/UBHMAAwNb//wFOP/3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AYcBiQCJAe0B7gCMAfAB8ACOAfICBwCPAgwCEwClAhUCGACtAh0CIgCxAicCLwC3AjECMQDAAjMCMwDBAjUCNQDCAjcCNwDDAjkCQgDEAksCTQDOAk8CTwDRAlECUQDSAlMCUwDTAlUCVQDUAloCWgDVAlwCXADWAl4CXgDXAmACYADYAmICYgDZAmQCcADaAnICcgDnAnQCdADoAnYCdgDpAoECgQDqAoMCgwDrAoUChQDsApMCkwDtApUCmADuApoCmgDyApwCnADzAqICpwD0AqoCuQD6ArwCvAEKAsACwAELAsICwgEMAsYCxgENAskCygEOAswCzQEQAs8C1QESAtcC2QEZAtsC4AEcAuIC4wEiAuUC6AEkAu4C7wEoAvEC8QEqAvMC8wErAvUC+AEsAvsDAAEwAwIDAgE2AwYDBwE3AwwDDAE5Aw4DFwE6AxoDGwFEAx0DIAFGAycDKAFKAywDLAFMAy4DNAFNAzoDYgFUA2QDZAF9A2YDcwF+A3sDewGMA4wDkQGNA5MDkwGTA5cDmAGUA5sDmwGWA50DngGXA6ADoAGZA6IDogGaA7MDtwGbA7kDuQGgA7sDvAGhA74DvgGjA8IDxAGkA8YDxgGnA8gDygGoA8wDzAGrA84DzgGsA9AD1gGtA9gD2AG0A9sD2wG1A94D4gG2A+QD5AG7A+YD5gG8AAsAOP/YANL/2ADW/9gBOf/YAUX/2AKB/9gCg//YAoX/2ALd/9gDk//YA9v/2AAYADoAFAA7ABIAPQAWARkAFAIMABYCkwASApUAFgKXABYCpwAWArYAFgK5ABYC7wASAvEAEgLzABIC9QAWAwYAFAMOABYDjAAWA44AFgOQABYDogAWA94AFAPgABQD4gASAAEAE/8gANcAEP8WABL/FgAl/1YALv74ADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/VgC0/1YAu//rAL3/6ADI/+sAyf/rAMv/6gDSABQA1gAUAPf/6wED/+sBDf9WARj/6wEa/+gBHv/rASL/6wE5ABQBQv/rAUUAFAFg/+sBYf/rAWv/6wGG/xYBiv8WAY7/FgGP/xYB8v9WAfP/VgH0/1YB9f9WAfb/VgH3/1YB+P9WAg3/3gIO/94CD//eAhD/3gIR/94CEv/eAhP/3gIU/+sCFf/rAhb/6wIX/+sCGP/rAh7/6wIf/+sCIP/rAiH/6wIi/+sCI//qAiT/6gIl/+oCJv/qAif/6AIo/+gCKf9WAir/3gIr/1YCLP/eAi3/VgIu/94CMP/rAjL/6wI0/+sCNv/rAjj/6wI6/+sCPP/rAj7/6wJA/+sCQv/rAkT/6wJG/+sCSP/rAkr/6wJY/vgCbP/rAm7/6wJw/+sCgQAUAoMAFAKFABQCiP/qAor/6gKM/+oCjv/qApD/6gKS/+oClv/oAqL/VgKq/1YCuv/rAr7/6gLA/+sCwv/oAsX/6gLG/+sCx//qAs7++ALS/1YC3QAUAt//3gLg/+sC4v/rAuT/6wLl/+gC5//rAu7/6AL2/+gC/v9WAv//3gMC/+sDB//oAwj/6wMN/+sDD//oAxT/VgMV/94DFv9WAxf/3gMb/+sDHf/rAx7/6wMo/+sDKv/rAyz/6wMw/+gDMv/oAzT/6AM5/+sDOv9WAzv/3gM8/1YDPf/eAz7/VgM//94DQP9WA0H/3gNC/1YDQ//eA0T/VgNF/94DRv9WA0f/3gNI/1YDSf/eA0r/VgNL/94DTP9WA03/3gNO/1YDT//eA1D/VgNR/94DU//rA1X/6wNX/+sDWf/rA1v/6wNd/+sDX//rA2H/6wNn/+sDaf/rA2v/6wNt/+sDb//rA3H/6wNz/+sDdf/rA3f/6wN5/+sDe//rA33/6wN//+oDgf/qA4P/6gOF/+oDh//qA4n/6gOL/+oDjf/oA4//6AOR/+gDkwAUA7X/VgO2/94DuP/rA7z/6wPA/+oDxf/rA8f/6wPbABQD3//oA+H/6AAjADj/1QA6/+QAO//sAD3/3QDS/9UA1v/VARn/5AE5/9UBRf/VAgz/3QKB/9UCg//VAoX/1QKT/+wClf/dApf/3QKn/90Ctv/dArn/3QLd/9UC7//sAvH/7ALz/+wC9f/dAwb/5AMO/90DjP/dA47/3QOQ/90Dk//VA6L/3QPb/9UD3v/kA+D/5APi/+wAHQA4/7AAOv/tAD3/0ADS/7AA1v+wARn/7QE5/7ABRf+wAgz/0AKB/7ACg/+wAoX/sAKV/9ACl//QAqf/0AK2/9ACuf/QAt3/sAL1/9ADBv/tAw7/0AOM/9ADjv/QA5D/0AOT/7ADov/QA9v/sAPe/+0D4P/tABEALv/uADn/7gII/+4CCf/uAgr/7gIL/+4CWP/uAof/7gKJ/+4Ci//uAo3/7gKP/+4Ckf/uAs7/7gN+/+4DgP/uA93/7gBNAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oALv/6ADI/+gAyf/oAPf/6AED/+gBHv/oASL/6AFC/+gBYP/oAWH/6AFr/+gBhAAQAYUAEAGHABABiAAQAYkAEAIU/+gCFf/oAhb/6AIX/+gCGP/oAjD/6AIy/+gCNP/oAjb/6AI4/+gCOv/oAjz/6AI+/+gCQP/oAkL/6AJE/+gCRv/oAkj/6AJK/+gCuv/oAuD/6ALk/+gC5//oAvcAEAL4ABAC+wAQAwL/6AMI/+gDDf/oAxv/6AMd/+gDHv/oAyr/6AM5/+gDU//oA1X/6ANX/+gDWf/oA1v/6ANd/+gDX//oA2H/6AN1/+gDd//oA3n/6AN9/+gDuP/oA8X/6APH/+gAQABH/+wASP/sAEn/7ABL/+wAVf/sAJT/7ACZ/+wAu//sAMj/7ADJ/+wA9//sAQP/7AEe/+wBIv/sAUL/7AFg/+wBYf/sAWv/7AIU/+wCFf/sAhb/7AIX/+wCGP/sAjD/7AIy/+wCNP/sAjb/7AI4/+wCOv/sAjz/7AI+/+wCQP/sAkL/7AJE/+wCRv/sAkj/7AJK/+wCuv/sAuD/7ALk/+wC5//sAwL/7AMI/+wDDf/sAxv/7AMd/+wDHv/sAyr/7AM5/+wDU//sA1X/7ANX/+wDWf/sA1v/7ANd/+wDX//sA2H/7AN1/+wDd//sA3n/7AN9/+wDuP/sA8X/7APH/+wAGABT/+wBGP/sAh7/7AIf/+wCIP/sAiH/7AIi/+wCbP/sAm7/7AJw/+wCwP/sAsb/7ALi/+wDKP/sAyz/7ANn/+wDaf/sA2v/7ANt/+wDb//sA3H/7ANz/+wDe//sA7z/7AAGABD/hAAS/4QBhv+EAYr/hAGO/4QBj/+EABEALv/sADn/7AII/+wCCf/sAgr/7AIL/+wCWP/sAof/7AKJ/+wCi//sAo3/7AKP/+wCkf/sAs7/7AN+/+wDgP/sA93/7AAgAAb/8gAL//IAWv/zAF3/8wC9//MA9v/1ARr/8wGE//IBhf/yAYf/8gGI//IBif/yAif/8wIo//MClv/zAsL/8wLl//MC7v/zAvb/8wL3//IC+P/yAvv/8gMH//MDD//zAzD/8wMy//MDNP/zA43/8wOP//MDkf/zA9//8wPh//MAOwAn//MAK//zADP/8wA1//MAg//zAJP/8wCY//MAs//zAMQADQDT//MBCP/zARf/8wEb//MBHf/zAR//8wEh//MBQf/zAWr/8wH5//MCA//zAgT/8wIF//MCBv/zAgf/8wIv//MCMf/zAjP/8wI1//MCQ//zAkX/8wJH//MCSf/zAmv/8wJt//MCb//zAqD/8wKm//MCs//zAtn/8wLc//MDCf/zAwz/8wMn//MDKf/zAyv/8wNm//MDaP/zA2r/8wNs//MDbv/zA3D/8wNy//MDdP/zA3b/8wN4//MDev/zA3z/8wO7//MD1P/zADwAJ//mACv/5gAz/+YANf/mAIP/5gCT/+YAmP/mALP/5gC4/8IAxAAQANP/5gEI/+YBF//mARv/5gEd/+YBH//mASH/5gFB/+YBav/mAfn/5gID/+YCBP/mAgX/5gIG/+YCB//mAi//5gIx/+YCM//mAjX/5gJD/+YCRf/mAkf/5gJJ/+YCa//mAm3/5gJv/+YCoP/mAqb/5gKz/+YC2f/mAtz/5gMJ/+YDDP/mAyf/5gMp/+YDK//mA2b/5gNo/+YDav/mA2z/5gNu/+YDcP/mA3L/5gN0/+YDdv/mA3j/5gN6/+YDfP/mA7v/5gPU/+YAOAAl/+QAPP/SAD3/0wCy/+QAtP/kAMT/4gDa/9IBDf/kATP/0gFD/9IBXf/SAfL/5AHz/+QB9P/kAfX/5AH2/+QB9//kAfj/5AIM/9MCKf/kAiv/5AIt/+QClf/TApf/0wKi/+QCp//TAqr/5AK2/9MCt//SArn/0wLS/+QC3v/SAvX/0wL+/+QDDv/TAxH/0gMU/+QDFv/kAx//0gM6/+QDPP/kAz7/5ANA/+QDQv/kA0T/5ANG/+QDSP/kA0r/5ANM/+QDTv/kA1D/5AOM/9MDjv/TA5D/0wOi/9MDtf/kACgAEP8eABL/HgAl/80Asv/NALT/zQDH//IBDf/NAYb/HgGK/x4Bjv8eAY//HgHy/80B8//NAfT/zQH1/80B9v/NAff/zQH4/80CKf/NAiv/zQIt/80Cov/NAqr/zQLS/80C/v/NAxT/zQMW/80DOv/NAzz/zQM+/80DQP/NA0L/zQNE/80DRv/NA0j/zQNK/80DTP/NA07/zQNQ/80Dtf/NAAEAxAAOAAIAyv/tAPb/wAC6AEf/3ABI/9wASf/cAEv/3ABR//MAUv/zAFP/1gBU//MAVf/cAFn/3QBa/+EAXf/hAJT/3ACZ/9wAm//dALv/3AC9/+EAvv/uAL//5gDB//MAwv/rAMP/6QDF//AAxv/nAMj/3ADJ/9wAyv/jAMv/3QDM/84Azf/UAM7/2wDs//MA8P/zAPH/8wDz//MA9P/zAPX/8wD3/9wA+P/zAPr/8wD7//MA/v/zAQD/8wED/9wBBf/zARj/1gEa/+EBHv/cASL/3AEr//MBNv/zATz/8wE+//MBQv/cAVP/8wFV//MBV//zAVz/8wFg/9wBYf/cAWv/3AIU/9wCFf/cAhb/3AIX/9wCGP/cAh3/8wIe/9YCH//WAiD/1gIh/9YCIv/WAiP/3QIk/90CJf/dAib/3QIn/+ECKP/hAjD/3AIy/9wCNP/cAjb/3AI4/9wCOv/cAjz/3AI+/9wCQP/cAkL/3AJE/9wCRv/cAkj/3AJK/9wCZf/zAmf/8wJp//MCav/zAmz/1gJu/9YCcP/WAoj/3QKK/90CjP/dAo7/3QKQ/90Ckv/dApb/4QK6/9wCvP/zAr7/3QLA/9YCwv/hAsX/3QLG/9YCx//dAuD/3ALh//MC4v/WAuP/8wLk/9wC5f/hAuf/3ALo//MC7f/zAu7/4QL2/+EC/f/zAwL/3AMD//MDB//hAwj/3AMN/9wDD//hAxv/3AMd/9wDHv/cAyT/8wMm//MDKP/WAyr/3AMs/9YDMP/hAzL/4QM0/+EDOP/zAzn/3ANT/9wDVf/cA1f/3ANZ/9wDW//cA13/3ANf/9wDYf/cA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/9wDd//cA3n/3AN7/9YDff/cA3//3QOB/90Dg//dA4X/3QOH/90Dif/dA4v/3QON/+EDj//hA5H/4QOY//MDtP/zA7j/3AO8/9YDwP/dA8X/3APH/9wD0f/zA9P/8wPf/+ED4f/hAHwABv/aAAv/2gBH//AASP/wAEn/8ABL//AAVf/wAFn/7wBa/9wAXf/cAJT/8ACZ//AAm//vALv/8AC9/9wAwv/sAMQADwDG/+oAyP/wAMn/8ADK/8QAy//vAMz/5wD3//ABA//wARr/3AEe//ABIv/wAUL/8AFg//ABYf/wAWv/8AGE/9oBhf/aAYf/2gGI/9oBif/aAhT/8AIV//ACFv/wAhf/8AIY//ACI//vAiT/7wIl/+8CJv/vAif/3AIo/9wCMP/wAjL/8AI0//ACNv/wAjj/8AI6//ACPP/wAj7/8AJA//ACQv/wAkT/8AJG//ACSP/wAkr/8AKI/+8Civ/vAoz/7wKO/+8CkP/vApL/7wKW/9wCuv/wAr7/7wLC/9wCxf/vAsf/7wLg//AC5P/wAuX/3ALn//AC7v/cAvb/3AL3/9oC+P/aAvv/2gMC//ADB//cAwj/8AMN//ADD//cAxv/8AMd//ADHv/wAyr/8AMw/9wDMv/cAzT/3AM5//ADU//wA1X/8ANX//ADWf/wA1v/8ANd//ADX//wA2H/8AN1//ADd//wA3n/8AN9//ADf//vA4H/7wOD/+8Dhf/vA4f/7wOJ/+8Di//vA43/3AOP/9wDkf/cA7j/8APA/+8Dxf/wA8f/8APf/9wD4f/cADwABv+gAAv/oABK/+kAWf/xAFr/xQBd/8UAm//xAL3/xQDC/+4AxAAQAMb/7ADK/yAAy//xARr/xQGE/6ABhf+gAYf/oAGI/6ABif+gAiP/8QIk//ECJf/xAib/8QIn/8UCKP/FAoj/8QKK//ECjP/xAo7/8QKQ//ECkv/xApb/xQK+//ECwv/FAsX/8QLH//EC5f/FAu7/xQL2/8UC9/+gAvj/oAL7/6ADB//FAw//xQMw/8UDMv/FAzT/xQN///EDgf/xA4P/8QOF//EDh//xA4n/8QOL//EDjf/FA4//xQOR/8UDwP/xA9//xQPh/8UAQQBH/+cASP/nAEn/5wBL/+cAVf/nAJT/5wCZ/+cAu//nAMQADwDI/+cAyf/nAPf/5wED/+cBHv/nASL/5wFC/+cBYP/nAWH/5wFr/+cCFP/nAhX/5wIW/+cCF//nAhj/5wIw/+cCMv/nAjT/5wI2/+cCOP/nAjr/5wI8/+cCPv/nAkD/5wJC/+cCRP/nAkb/5wJI/+cCSv/nArr/5wLg/+cC5P/nAuf/5wMC/+cDCP/nAw3/5wMb/+cDHf/nAx7/5wMq/+cDOf/nA1P/5wNV/+cDV//nA1n/5wNb/+cDXf/nA1//5wNh/+cDdf/nA3f/5wN5/+cDff/nA7j/5wPF/+cDx//nAAUAyv/qAO3/7gD2/6sBOv/sAW3/7AABAPb/1QABAMoACwB7AAYADAALAAwAR//oAEj/6ABJ/+gASgAMAEv/6ABT/+oAVf/oAFoACwBdAAsAlP/oAJn/6AC7/+gAvQALAL7/7QDGAAsAyP/oAMn/6ADKAAwA9//oAQP/6AEY/+oBGgALAR7/6AEi/+gBQv/oAWD/6AFh/+gBa//oAYQADAGFAAwBhwAMAYgADAGJAAwCFP/oAhX/6AIW/+gCF//oAhj/6AIe/+oCH//qAiD/6gIh/+oCIv/qAicACwIoAAsCMP/oAjL/6AI0/+gCNv/oAjj/6AI6/+gCPP/oAj7/6AJA/+gCQv/oAkT/6AJG/+gCSP/oAkr/6AJs/+oCbv/qAnD/6gKWAAsCuv/oAsD/6gLCAAsCxv/qAuD/6ALi/+oC5P/oAuUACwLn/+gC7gALAvYACwL3AAwC+AAMAvsADAMC/+gDBwALAwj/6AMN/+gDDwALAxv/6AMd/+gDHv/oAyj/6gMq/+gDLP/qAzAACwMyAAsDNAALAzn/6ANT/+gDVf/oA1f/6ANZ/+gDW//oA13/6ANf/+gDYf/oA2f/6gNp/+oDa//qA23/6gNv/+oDcf/qA3P/6gN1/+gDd//oA3n/6AN7/+oDff/oA40ACwOPAAsDkQALA7j/6AO8/+oDxf/oA8f/6APfAAsD4QALAAEA9v/YAA4AXP/tAF7/7QDu/+0A9v+qATT/7QFE/+0BXv/tApn/7QKb/+0Cnf/tAub/7QMS/+0DIP/tA+X/7QANAFz/8gBe//IA7v/yATT/8gFE//IBXv/yApn/8gKb//ICnf/yAub/8gMS//IDIP/yA+X/8gAiAFr/9ABc//IAXf/0AF7/8wC9//QA7v/yARr/9AE0//IBRP/yAV7/8gIn//QCKP/0Apb/9AKZ//MCm//zAp3/8wLC//QC5f/0Aub/8gLu//QC9v/0Awf/9AMP//QDEv/yAyD/8gMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0A+X/8wCMAAb/ygAL/8oAOP/SADr/1AA8//QAPf/TAFH/0QBS/9EAVP/RAFr/5gBc/+8AXf/mAL3/5gDB/9EA0v/SANb/0gDa//QA3v/tAOH/4QDm/9QA7P/RAO7/7wDw/9EA8f/RAPP/0QD0/9EA9f/RAPb/yQD4/9EA+v/RAPv/0QD+/9EBAP/RAQX/0QEJ/+UBGf/UARr/5gEg/+MBK//RATP/9AE0/+8BNv/RATn/0gE6/8QBPP/RAT7/0QFD//QBRP/vAUX/0gFH/+EBSf/hAVP/0QFV/9EBV//RAVz/0QFd//QBXv/vAWL/1AFj//UBZP/nAWz/0gFt/8kBhP/KAYX/ygGH/8oBiP/KAYn/ygIM/9MCHf/RAif/5gIo/+YCZf/RAmf/0QJp/9ECav/RAoH/0gKD/9IChf/SApX/0wKW/+YCl//TAqf/0wK2/9MCt//0Arn/0wK8/9ECwv/mAtH/7QLd/9IC3v/0AuH/0QLj/9EC5f/mAub/7wLo/9EC7f/RAu7/5gL1/9MC9v/mAvf/ygL4/8oC+//KAv3/0QMD/9EDBv/UAwf/5gMO/9MDD//mAxH/9AMS/+8DH//0AyD/7wMk/9EDJv/RAy//7QMw/+YDMf/tAzL/5gMz/+0DNP/mAzX/4QM4/9EDjP/TA43/5gOO/9MDj//mA5D/0wOR/+YDk//SA5X/4QOY/9EDov/TA7T/0QPR/9ED0//RA9v/0gPe/9QD3//mA+D/1APh/+YAKAA4/74AWv/vAF3/7wC9/+8A0v++ANb/vgDm/8kA9v/fAQn/7QEa/+8BIP/rATn/vgE6/98BRf++AUz/6QFj//UBbf/gAif/7wIo/+8Cgf++AoP/vgKF/74Clv/vAsL/7wLd/74C5f/vAu7/7wL2/+8DB//vAw//7wMw/+8DMv/vAzT/7wON/+8Dj//vA5H/7wOT/74D2/++A9//7wPh/+8APwA4/+YAOv/nADz/8gA9/+cAXP/xANL/5gDW/+YA2v/yAN7/7gDh/+gA5v/mAO7/8QD2/9ABGf/nATP/8gE0//EBOf/mATr/zgFD//IBRP/xAUX/5gFH/+gBSf/oAV3/8gFe//EBYv/nAWT/7QFs/+YBbf/QAgz/5wKB/+YCg//mAoX/5gKV/+cCl//nAqf/5wK2/+cCt//yArn/5wLR/+4C3f/mAt7/8gLm//EC9f/nAwb/5wMO/+cDEf/yAxL/8QMf//IDIP/xAy//7gMx/+4DM//uAzX/6AOM/+cDjv/nA5D/5wOT/+YDlf/oA6L/5wPb/+YD3v/nA+D/5wCUACUAEAAn/+gAK//oADP/6AA1/+gAOP/gADr/4AA9/98Ag//oAJP/6ACY/+gAsgAQALP/6AC0ABAA0v/gANP/6ADUABAA1v/gANkAFADdABAA4f/hAOb/4ADtABMA8gAQAPn/4AEEABABCP/oAQ0AEAEX/+gBGf/gARv/6AEd/+gBH//oASH/6AE5/+ABQf/oAUX/4AFH/+EBSP/gAUn/4QFK/+ABTf/hAVAAEAFRABABWP/pAWL/3wFk/94BZgAQAWr/6AFs/98Bbv/yAW8AEAFwABAB8gAQAfMAEAH0ABAB9QAQAfYAEAH3ABAB+AAQAfn/6AID/+gCBP/oAgX/6AIG/+gCB//oAgz/3wIpABACKwAQAi0AEAIv/+gCMf/oAjP/6AI1/+gCQ//oAkX/6AJH/+gCSf/oAmv/6AJt/+gCb//oAoH/4AKD/+AChf/gApX/3wKX/98CoP/oAqIAEAKm/+gCp//fAqoAEAKz/+gCtv/fArn/3wLSABAC2f/oAtz/6ALd/+AC9f/fAv4AEAMG/+ADCf/oAwz/6AMO/98DFAAQAxYAEAMn/+gDKf/oAyv/6AM1/+EDNv/gAzoAEAM8ABADPgAQA0AAEANCABADRAAQA0YAEANIABADSgAQA0wAEANOABADUAAQA2b/6ANo/+gDav/oA2z/6ANu/+gDcP/oA3L/6AN0/+gDdv/oA3j/6AN6/+gDfP/oA4z/3wOO/98DkP/fA5P/4AOV/+EDlv/gA6L/3wO1ABADu//oA9T/6APb/+AD3v/gA+D/4AA1ABv/8gA4//EAOv/0ADz/9AA9//AA0v/xANT/9QDW//EA2v/0AN3/9QDe//MA5v/xARn/9AEz//QBOf/xAUP/9AFF//EBUP/1AV3/9AFi//IBZP/yAWb/9QFs//IBb//1Agz/8AKB//ECg//xAoX/8QKV//ACl//wAqf/8AK2//ACt//0Arn/8ALR//MC3f/xAt7/9AL1//ADBv/0Aw7/8AMR//QDH//0Ay//8wMx//MDM//zA4z/8AOO//ADkP/wA5P/8QOi//AD2//xA97/9APg//QAagAlAA8AOP/mADr/5gA8AA4APf/mALIADwC0AA8A0v/mANQADgDW/+YA2QATANoADgDdAA4A3gALAOH/5QDm/+YA5//0AO0AEgDyAA8A9v/nAPn/6AEEAA8BDQAPARn/5gEzAA4BOf/mATr/5wFDAA4BRf/mAUf/5QFI/+gBSf/lAUr/6AFM/+QBUAAOAVEADwFdAA4BYv/mAWT/5gFmAA4BbP/mAW3/5wFvAA4BcAAPAfIADwHzAA8B9AAPAfUADwH2AA8B9wAPAfgADwIM/+YCKQAPAisADwItAA8Cgf/mAoP/5gKF/+YClf/mApf/5gKiAA8Cp//mAqoADwK2/+YCtwAOArn/5gLRAAsC0gAPAt3/5gLeAA4C9f/mAv4ADwMG/+YDDv/mAxEADgMUAA8DFgAPAx8ADgMvAAsDMQALAzMACwM1/+UDNv/oAzoADwM8AA8DPgAPA0AADwNCAA8DRAAPA0YADwNIAA8DSgAPA0wADwNOAA8DUAAPA4z/5gOO/+YDkP/mA5P/5gOV/+UDlv/oA6L/5gO1AA8D2//mA97/5gPg/+YAMQA4/+MAPP/lAD3/5ADS/+MA1P/lANb/4wDZ/+IA2v/lAN3/5QDe/+kA8v/qAQT/6gEz/+UBOf/jAUP/5QFF/+MBUP/lAVH/6gFd/+UBZv/lAWz/5AFv/+UBcP/qAgz/5AKB/+MCg//jAoX/4wKV/+QCl//kAqf/5AK2/+QCt//lArn/5ALR/+kC3f/jAt7/5QL1/+QDDv/kAxH/5QMf/+UDL//pAzH/6QMz/+kDjP/kA47/5AOQ/+QDk//jA6L/5APb/+MAJAA4/+IAPP/kANL/4gDU/+QA1v/iANn/4QDa/+QA3f/kAN7/6QDt/+QA8v/rAQT/6wEz/+QBOf/iAUP/5AFF/+IBUP/kAVH/6wFd/+QBZv/kAW//5AFw/+sCgf/iAoP/4gKF/+ICt//kAtH/6QLd/+IC3v/kAxH/5AMf/+QDL//pAzH/6QMz/+kDk//iA9v/4gAYADj/6wA9//MA0v/rANb/6wE5/+sBRf/rAgz/8wKB/+sCg//rAoX/6wKV//MCl//zAqf/8wK2//MCuf/zAt3/6wL1//MDDv/zA4z/8wOO//MDkP/zA5P/6wOi//MD2//rADkAUf/vAFL/7wBU/+8AXP/wAMH/7wDs/+8A7f/uAO7/8ADw/+8A8f/vAPP/7wD0/+8A9f/vAPb/7gD4/+8A+v/vAPv/7wD+/+8BAP/vAQX/7wEJ//QBIP/xASv/7wE0//ABNv/vATr/7wE8/+8BPv/vAUT/8AFT/+8BVf/vAVf/7wFc/+8BXv/wAW3/7wId/+8CZf/vAmf/7wJp/+8Cav/vArz/7wLh/+8C4//vAub/8ALo/+8C7f/vAv3/7wMD/+8DEv/wAyD/8AMk/+8DJv/vAzj/7wOY/+8DtP/vA9H/7wPT/+8AIwAG//IAC//yAFr/9QBd//UAvf/1APb/9AEJ//UBGv/1ATr/9QFt//UBhP/yAYX/8gGH//IBiP/yAYn/8gIn//UCKP/1Apb/9QLC//UC5f/1Au7/9QL2//UC9//yAvj/8gL7//IDB//1Aw//9QMw//UDMv/1AzT/9QON//UDj//1A5H/9QPf//UD4f/1AAoA7QAUAPb/7QD5/+0A/P/iATr/7QFI/+0BSv/tAW3/7QM2/+0Dlv/tAFkAR//wAEj/8ABJ//AAS//wAFP/6wBV//AAlP/wAJn/8AC7//AAyP/wAMn/8AD3//ABA//wARj/6wEc/+sBHv/wASL/8AFC//ABYP/wAWH/8AFr//ACFP/wAhX/8AIW//ACF//wAhj/8AIe/+sCH//rAiD/6wIh/+sCIv/rAjD/8AIy//ACNP/wAjb/8AI4//ACOv/wAjz/8AI+//ACQP/wAkL/8AJE//ACRv/wAkj/8AJK//ACbP/rAm7/6wJw/+sCuv/wAsD/6wLG/+sC4P/wAuL/6wLk//AC5//wAwL/8AMI//ADDf/wAxv/8AMd//ADHv/wAyj/6wMq//ADLP/rAzn/8ANT//ADVf/wA1f/8ANZ//ADW//wA13/8ANf//ADYf/wA2f/6wNp/+sDa//rA23/6wNv/+sDcf/rA3P/6wN1//ADd//wA3n/8AN7/+sDff/wA7j/8AO8/+sDxf/wA8f/8ACgAAYADQALAA0ARf/wAEf/sABI/7AASf+wAEoADQBL/7AAU//WAFX/sABaAAsAXQALAJT/sACZ/7AAu/+wAL0ACwC+/7AAx/+rAMj/wADJ/7AAzP/VAO3/qgDy/68A9/+wAQP/sAEE/68BGP/WARoACwEc/+IBHv+wASAADAEi/7ABQv+wAVH/rwFg/7ABYf+wAWMACwFlAAsBa/+wAXD/rwGEAA0BhQANAYcADQGIAA0BiQANAg3/8AIO//ACD//wAhD/8AIR//ACEv/wAhP/8AIU/7ACFf+wAhb/sAIX/7ACGP+wAh7/1gIf/9YCIP/WAiH/1gIi/9YCJwALAigACwIq//ACLP/wAi7/8AIw/7ACMv+wAjT/sAI2/7ACOP+wAjr/sAI8/7ACPv+wAkD/sAJC/7ACRP+wAkb/sAJI/7ACSv+wAmz/1gJu/9YCcP/WApYACwK6/7ACwP/WAsIACwLG/9YC3//wAuD/sALi/9YC5P+wAuUACwLn/7AC7gALAvYACwL3AA0C+AANAvsADQL///ADAv+wAwcACwMI/7ADDf+wAw8ACwMV//ADF//wAxv/sAMd/7ADHv+wAyj/1gMq/7ADLP/WAzAACwMyAAsDNAALAzn/sAM7//ADPf/wAz//8ANB//ADQ//wA0X/8ANH//ADSf/wA0v/8ANN//ADT//wA1H/8ANT/7ADVf+wA1f/sANZ/7ADW/+wA13/sANf/7ADYf+wA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/7ADd/+wA3n/sAN7/9YDff+wA40ACwOPAAsDkQALA7b/8AO4/7ADvP/WA8X/sAPH/7AD3wALA+EACwAOAO0AFADyABAA9v/wAPn/8AEBAAwBBAAQATr/8AFI//ABSv/mAVEAEAFt//ABcAAQAzb/8AOW//AATQBHAAwASAAMAEkADABLAAwAVQAMAJQADACZAAwAuwAMAMgADADJAAwA7QA6APIAGAD2/+MA9wAMAPn/9wEDAAwBBAAYAR4ADAEiAAwBOv/iAUIADAFI//cBSv/jAVEAGAFgAAwBYQAMAWsADAFt/+MBcAAYAhQADAIVAAwCFgAMAhcADAIYAAwCMAAMAjIADAI0AAwCNgAMAjgADAI6AAwCPAAMAj4ADAJAAAwCQgAMAkQADAJGAAwCSAAMAkoADAK6AAwC4AAMAuQADALnAAwDAgAMAwgADAMNAAwDGwAMAx0ADAMeAAwDKgAMAzb/9wM5AAwDUwAMA1UADANXAAwDWQAMA1sADANdAAwDXwAMA2EADAN1AAwDdwAMA3kADAN9AAwDlv/3A7gADAPFAAwDxwAMACIAWv/0AFz/8ABd//QAvf/0AO3/7wDu//AA8v/zAQT/8wEa//QBNP/wAUT/8AFR//MBXv/wAXD/8wIn//QCKP/0Apb/9ALC//QC5f/0Aub/8ALu//QC9v/0Awf/9AMP//QDEv/wAyD/8AMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0AAoABv/WAAv/1gGE/9YBhf/WAYf/1gGI/9YBif/WAvf/1gL4/9YC+//WAAgA9v+6AQn/zwEg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AAAAHAAAABwABwAAAAAAAAAAABwAHAAAAAAAAAAAABwAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAADABsACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAHwAYAAAAAAAQABIACwAAAAsAAAALAAAAAAAAAAAAAAAAAAAAAAAAABAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAQABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXABcAHgAXABcAFwAeAAAAAAAAAB4AHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAANAAAAAgACAAIAAgACAAIAAgARAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQAKAAoACgAKAAwABgAGAAYABgAGAAYABgAVAAgACAAIAAgAAAAAAAAAAAAEAAMAAwADAAMAAwAAAAAAAAAAAAkACQACAAYAAgAGAAIABgARABUAEQAVABEAFQARABUAAQAAAAUACAAFAAgABQAIAAUACAAFAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAWAAAAFgAAABYAAAAWAAAAAAAEAAAABAAAAAQABAABAAMAAQADAAEAAwAAABMAAAATAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAANAAAADQAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAABkAAAAMAAkADAAPAA4ADwAOAA8ADgAAAAAAAAAAAAIABQAAAAAAAQAMAAAAAAACABoABQAPAAAAAAALAAAAAAABABQADQAMABAAAAAMAAAAAAAEAAAAAAAAAAMAAAAJAAAAAAAAAAMAAAAAAAUAHwAAAAAAAAAKAAsACwAgAAIAGgAfAAUAAAAAAAAAAQAAABQAEQANABAABgAIAAAAAwAHABUACQASAAgAGAAAAAAAAAAAAAAACQAZAAAAGQAAABkAAAAMAAkAFwAXAAAAAAAXAAAABAACAAYABQAAAAgAAAAAAAAAGwAJAAAAAAAAAAAAEQAVAAwACQAAABAAEgAAAAIABgACAAYAAAAAAAUACAAAAAgACAAQABIAAAAAAAAAAAAAAAAAAQADAAAAAAAAAAMAAAAHACAACQAgAAkAIAAJAAAAAAAAAAAAAAACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgAFAAgABQAIAAUACAAFAAgABQAIAAUACAAFAAgABQAIAAAAAAAAAAAAAQADAAEAAwABAAMAAQADAAEAAwABAAMAAQADAAAAAAAAAAAAAAAAAAAAAwAAAAAACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwACQAMAAkADAAJAAAADQAAAAAAAAAfABgAAAAAAAQAAAAdAB8AAAALAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACAAYABQAAAAAAAAABAAMAAAATAAAAAAAAABoABwABAAAAAQAAAAAABAALAAAACwAAABYAAAAAAAQAAAAEAAEAFAAHAAAAEwAAAAAADQAAAAoAGwAJABsACQAZAAAADwAOAAEAAQAGA+AAEQAAAAAAAAAAABEAAAAAAAAAAAAVABgAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAACAAAAAAAcAAAAAAAAAAAAAgAAAAIAAAAOAAoACQAXABMADwALABAAAAAAAAAAAAAAAAAABwAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAwADAAQAAwABAAAADAAAAAUACAAAABIACAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAAAAAAAAAIAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAIABgAAAAAAAAAAAAAAAAABAAAACAAAAAAAAAADAAAAAAAAAAAAAAAAAAEAAQAAAAUAAAAAAAAAAAAAAAAACgACABQAAAAKAAAAAAAAAA8AAAAAABQAGwAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAASAAAAAwADABYAAwADAAMAAAABAAMAGgADAAMAAAAAAAMAAAADAAAAAAABABYAAwAAAAAAAgAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAgAEABcACAACAAAAAgABAAIAAAACAAEAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAPABIAAAADAAAAAAAKAAAAAAADAAAAAwAAAAAAAgABAA8AEgAKAAAAGQAaAAAAAAAAAAAAAAAAAAAAFAAWAAAAAwAAAAMAAAADAAAAAAAAAAAAAwAPABIAAAABAAEAAAAAAAAAAAAUAAAAAAAAAAIAAQAAAAAAAAAUABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAAAARABEAFQARABEAEQAVAAAAAAAAABUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAABgAGAAYABgAGAAYABgACAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgAJAAkACQAJAAsABwAHAAcABwAHAAcABwABAAEAAQABAAEAAAAAAAAAAAADAAQABAAEAAQABAAFAAUABQAFAAgACAAGAAcABgAHAAYABwACAAEAAgABAAIAAQACAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAgABAAIAAQACAAEAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAA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";
45693
45736
  var Lang = _enum([
@@ -45761,6 +45804,9 @@ object$1({
45761
45804
  "schemas.text.max": string$1(),
45762
45805
  "schemas.text.fit": string$1(),
45763
45806
  "schemas.text.dynamicFontSize": string$1(),
45807
+ "schemas.text.overflow": string$1(),
45808
+ "schemas.text.overflowVisible": string$1(),
45809
+ "schemas.text.overflowExpand": string$1(),
45764
45810
  "schemas.text.format": string$1(),
45765
45811
  "schemas.text.plain": string$1(),
45766
45812
  "schemas.text.inlineMarkdown": string$1(),
@@ -45835,6 +45881,10 @@ var Schema$1 = object$1({
45835
45881
  start: number$1(),
45836
45882
  end: number$1().optional()
45837
45883
  }).optional(),
45884
+ __textLineRange: object$1({
45885
+ start: number$1(),
45886
+ end: number$1().optional()
45887
+ }).optional(),
45838
45888
  __isSplit: boolean$1().optional()
45839
45889
  }).passthrough();
45840
45890
  var SchemaForUIAdditionalInfo = object$1({ id: string$1() });
@@ -46141,198 +46191,6 @@ var checkTemplate = (template) => {
46141
46191
  migrateTemplate(template);
46142
46192
  checkProps(template, Template);
46143
46193
  };
46144
- /** Floating point tolerance for comparisons */
46145
- var EPSILON = .01;
46146
- /** Calculate the content height of a page (drawable area excluding padding) */
46147
- var getContentHeight = (basePdf) => basePdf.height - basePdf.padding[0] - basePdf.padding[2];
46148
- /** Get the input value for a schema */
46149
- var getSchemaValue = (schema, input) => (schema.readOnly ? schema.content : input?.[schema.name]) || "";
46150
- /**
46151
- * Normalize schemas within a single page into layout items.
46152
- * Returns items sorted by Y coordinate with their order preserved.
46153
- */
46154
- function normalizePageSchemas(pageSchemas, paddingTop) {
46155
- const items = [];
46156
- const orderMap = /* @__PURE__ */ new Map();
46157
- pageSchemas.forEach((schema, index) => {
46158
- const localY = Math.max(0, schema.position.y - paddingTop);
46159
- items.push({
46160
- schema: cloneDeep$1(schema),
46161
- baseY: localY,
46162
- height: schema.height,
46163
- dynamicLayout: { heights: [schema.height] }
46164
- });
46165
- orderMap.set(schema.name, index);
46166
- });
46167
- items.sort((a, b) => {
46168
- if (Math.abs(a.baseY - b.baseY) > EPSILON) return a.baseY - b.baseY;
46169
- return (orderMap.get(a.schema.name) ?? 0) - (orderMap.get(b.schema.name) ?? 0);
46170
- });
46171
- return {
46172
- items,
46173
- orderMap
46174
- };
46175
- }
46176
- /**
46177
- * Place height units on pages, splitting across pages as needed.
46178
- * @returns The final global Y coordinate after placement
46179
- */
46180
- function placeUnitsOnPages(schema, dynamicLayout, startGlobalY, contentHeight, paddingTop, pages) {
46181
- const dynamicHeights = dynamicLayout.heights;
46182
- let currentUnitIndex = 0;
46183
- let currentPageIndex = Math.floor(startGlobalY / contentHeight);
46184
- let currentYInPage = startGlobalY % contentHeight;
46185
- if (currentYInPage < 0) currentYInPage = 0;
46186
- let actualGlobalEndY = 0;
46187
- const isSplittable = dynamicHeights.length > 1;
46188
- while (currentUnitIndex < dynamicHeights.length) {
46189
- while (pages.length <= currentPageIndex) pages.push([]);
46190
- const spaceLeft = contentHeight - currentYInPage;
46191
- if (dynamicHeights[currentUnitIndex] > spaceLeft + EPSILON) {
46192
- if (!(Math.abs(spaceLeft - contentHeight) <= EPSILON)) {
46193
- currentPageIndex++;
46194
- currentYInPage = 0;
46195
- continue;
46196
- }
46197
- }
46198
- let chunkHeight = 0;
46199
- const startUnitIndex = currentUnitIndex;
46200
- while (currentUnitIndex < dynamicHeights.length) {
46201
- const h = dynamicHeights[currentUnitIndex];
46202
- if (currentYInPage + chunkHeight + h <= contentHeight + EPSILON) {
46203
- chunkHeight += h;
46204
- currentUnitIndex++;
46205
- } else break;
46206
- }
46207
- const isAtPageTop = currentYInPage <= EPSILON;
46208
- if (dynamicLayout.avoidFirstUnitOnly && isSplittable && startUnitIndex === 0 && currentUnitIndex === 1 && dynamicHeights.length > 1 && !isAtPageTop) {
46209
- currentUnitIndex = 0;
46210
- currentPageIndex++;
46211
- currentYInPage = 0;
46212
- continue;
46213
- }
46214
- if (currentUnitIndex === startUnitIndex) {
46215
- chunkHeight += dynamicHeights[currentUnitIndex];
46216
- currentUnitIndex++;
46217
- }
46218
- const patch = dynamicLayout.patchSplitSchema?.({
46219
- schema,
46220
- start: startUnitIndex,
46221
- end: currentUnitIndex,
46222
- isSplit: startUnitIndex > 0,
46223
- chunkHeight
46224
- }) ?? {};
46225
- const newSchema = {
46226
- ...schema,
46227
- ...patch,
46228
- height: chunkHeight,
46229
- position: {
46230
- ...schema.position,
46231
- y: currentYInPage + paddingTop
46232
- }
46233
- };
46234
- pages[currentPageIndex].push(newSchema);
46235
- currentYInPage += chunkHeight;
46236
- if (currentYInPage >= contentHeight - EPSILON) {
46237
- currentPageIndex++;
46238
- currentYInPage = 0;
46239
- }
46240
- actualGlobalEndY = currentPageIndex * contentHeight + currentYInPage;
46241
- }
46242
- return actualGlobalEndY;
46243
- }
46244
- /** Sort elements within each page by their original order */
46245
- function sortPagesByOrder(pages, orderMap) {
46246
- pages.forEach((page) => {
46247
- page.sort((a, b) => (orderMap.get(a.name) ?? 0) - (orderMap.get(b.name) ?? 0));
46248
- });
46249
- }
46250
- /** Remove trailing empty pages */
46251
- function removeTrailingEmptyPages(pages) {
46252
- while (pages.length > 1 && pages[pages.length - 1].length === 0) pages.pop();
46253
- }
46254
- /**
46255
- * Process a single template page that has dynamic content.
46256
- * Uses the same layout algorithm as the original implementation,
46257
- * but scoped to a single page's schemas.
46258
- */
46259
- function processDynamicPage(items, orderMap, contentHeight, paddingTop) {
46260
- const pages = [];
46261
- let totalYOffset = 0;
46262
- for (const item of items) {
46263
- const currentGlobalStartY = item.baseY + totalYOffset;
46264
- totalYOffset = placeUnitsOnPages(item.schema, item.dynamicLayout, currentGlobalStartY, contentHeight, paddingTop, pages) - (item.baseY + item.height);
46265
- }
46266
- sortPagesByOrder(pages, orderMap);
46267
- removeTrailingEmptyPages(pages);
46268
- return pages;
46269
- }
46270
- var normalizeDynamicLayoutResult = (result) => {
46271
- const dynamicLayout = Array.isArray(result) ? { heights: result } : result;
46272
- return {
46273
- ...dynamicLayout,
46274
- heights: dynamicLayout.heights.length === 0 ? [0] : dynamicLayout.heights
46275
- };
46276
- };
46277
- /**
46278
- * Process a template containing tables with dynamic heights
46279
- * and generate a new template with proper page breaks.
46280
- *
46281
- * Processing is done page-by-page:
46282
- * - Pages with height changes are processed with full layout calculations
46283
- * - Pages without height changes are copied as-is (no offset propagation between pages)
46284
- *
46285
- * This reduces computation cost by:
46286
- * 1. Limiting layout calculations to pages that need them
46287
- * 2. Avoiding cross-page offset propagation for static pages
46288
- */
46289
- var getDynamicTemplate = async (arg) => {
46290
- const { template, input, options, _cache, getDynamicHeights } = arg;
46291
- const basePdf = template.basePdf;
46292
- if (!isBlankPdf(basePdf)) return template;
46293
- const contentHeight = getContentHeight(basePdf);
46294
- const paddingTop = basePdf.padding[0];
46295
- const resultPages = [];
46296
- const PARALLEL_LIMIT = 10;
46297
- for (let pageIndex = 0; pageIndex < template.schemas.length; pageIndex++) {
46298
- const pageSchemas = template.schemas[pageIndex];
46299
- const { items, orderMap } = normalizePageSchemas(pageSchemas, paddingTop);
46300
- for (let i = 0; i < items.length; i += PARALLEL_LIMIT) {
46301
- const chunk = items.slice(i, i + PARALLEL_LIMIT);
46302
- const chunkResults = await Promise.all(chunk.map((item) => {
46303
- return getDynamicHeights(getSchemaValue(item.schema, input), {
46304
- schema: item.schema,
46305
- basePdf,
46306
- options,
46307
- _cache
46308
- }).then(normalizeDynamicLayoutResult);
46309
- }));
46310
- for (let j = 0; j < chunkResults.length; j++) items[i + j].dynamicLayout = chunkResults[j];
46311
- }
46312
- const processedPages = processDynamicPage(items, orderMap, contentHeight, paddingTop);
46313
- resultPages.push(...processedPages);
46314
- }
46315
- removeTrailingEmptyPages(resultPages);
46316
- if (resultPages.length === template.schemas.length) {
46317
- let unchanged = true;
46318
- for (let i = 0; i < resultPages.length && unchanged; i++) {
46319
- if (resultPages[i].length !== template.schemas[i].length) {
46320
- unchanged = false;
46321
- break;
46322
- }
46323
- for (let j = 0; j < resultPages[i].length && unchanged; j++) {
46324
- const orig = template.schemas[i][j];
46325
- const result = resultPages[i][j];
46326
- if (Math.abs(orig.height - result.height) > EPSILON || Math.abs(orig.position.y - result.position.y) > EPSILON) unchanged = false;
46327
- }
46328
- }
46329
- if (unchanged) return template;
46330
- }
46331
- return {
46332
- basePdf,
46333
- schemas: resultPages
46334
- };
46335
- };
46336
46194
  var expressionCache = /* @__PURE__ */ new Map();
46337
46195
  /**
46338
46196
  * Parse each string value in `data` as JSON, falling back to the original
@@ -46650,6 +46508,206 @@ var replacePlaceholders = (arg) => {
46650
46508
  context
46651
46509
  });
46652
46510
  };
46511
+ /** Floating point tolerance for comparisons */
46512
+ var EPSILON = .01;
46513
+ /** Calculate the content height of a page (drawable area excluding padding) */
46514
+ var getContentHeight = (basePdf) => basePdf.height - basePdf.padding[0] - basePdf.padding[2];
46515
+ /** Get the input value for a schema */
46516
+ var getSchemaValue = (schema, input, schemas) => {
46517
+ if (!schema.readOnly) return input?.[schema.name] || "";
46518
+ if (schema.type !== "text" && schema.type !== "multiVariableText") return schema.content || "";
46519
+ return replacePlaceholders({
46520
+ content: schema.content || "",
46521
+ variables: input,
46522
+ schemas
46523
+ });
46524
+ };
46525
+ /**
46526
+ * Normalize schemas within a single page into layout items.
46527
+ * Returns items sorted by Y coordinate with their order preserved.
46528
+ */
46529
+ function normalizePageSchemas(pageSchemas, paddingTop) {
46530
+ const items = [];
46531
+ const orderMap = /* @__PURE__ */ new Map();
46532
+ pageSchemas.forEach((schema, index) => {
46533
+ const localY = Math.max(0, schema.position.y - paddingTop);
46534
+ items.push({
46535
+ schema: cloneDeep$1(schema),
46536
+ baseY: localY,
46537
+ height: schema.height,
46538
+ dynamicLayout: { heights: [schema.height] }
46539
+ });
46540
+ orderMap.set(schema.name, index);
46541
+ });
46542
+ items.sort((a, b) => {
46543
+ if (Math.abs(a.baseY - b.baseY) > EPSILON) return a.baseY - b.baseY;
46544
+ return (orderMap.get(a.schema.name) ?? 0) - (orderMap.get(b.schema.name) ?? 0);
46545
+ });
46546
+ return {
46547
+ items,
46548
+ orderMap
46549
+ };
46550
+ }
46551
+ /**
46552
+ * Place height units on pages, splitting across pages as needed.
46553
+ * @returns The final global Y coordinate after placement
46554
+ */
46555
+ function placeUnitsOnPages(schema, dynamicLayout, startGlobalY, contentHeight, paddingTop, pages) {
46556
+ const dynamicHeights = dynamicLayout.heights;
46557
+ let currentUnitIndex = 0;
46558
+ let currentPageIndex = Math.floor(startGlobalY / contentHeight);
46559
+ let currentYInPage = startGlobalY % contentHeight;
46560
+ if (currentYInPage < 0) currentYInPage = 0;
46561
+ let actualGlobalEndY = 0;
46562
+ const isSplittable = dynamicHeights.length > 1;
46563
+ while (currentUnitIndex < dynamicHeights.length) {
46564
+ while (pages.length <= currentPageIndex) pages.push([]);
46565
+ const spaceLeft = contentHeight - currentYInPage;
46566
+ if (dynamicHeights[currentUnitIndex] > spaceLeft + EPSILON) {
46567
+ if (!(Math.abs(spaceLeft - contentHeight) <= EPSILON)) {
46568
+ currentPageIndex++;
46569
+ currentYInPage = 0;
46570
+ continue;
46571
+ }
46572
+ }
46573
+ let chunkHeight = 0;
46574
+ const startUnitIndex = currentUnitIndex;
46575
+ while (currentUnitIndex < dynamicHeights.length) {
46576
+ const h = dynamicHeights[currentUnitIndex];
46577
+ if (currentYInPage + chunkHeight + h <= contentHeight + EPSILON) {
46578
+ chunkHeight += h;
46579
+ currentUnitIndex++;
46580
+ } else break;
46581
+ }
46582
+ const isAtPageTop = currentYInPage <= EPSILON;
46583
+ if (dynamicLayout.avoidFirstUnitOnly && isSplittable && startUnitIndex === 0 && currentUnitIndex === 1 && dynamicHeights.length > 1 && !isAtPageTop) {
46584
+ currentUnitIndex = 0;
46585
+ currentPageIndex++;
46586
+ currentYInPage = 0;
46587
+ continue;
46588
+ }
46589
+ if (currentUnitIndex === startUnitIndex) {
46590
+ chunkHeight += dynamicHeights[currentUnitIndex];
46591
+ currentUnitIndex++;
46592
+ }
46593
+ const patch = dynamicLayout.patchSplitSchema?.({
46594
+ schema,
46595
+ start: startUnitIndex,
46596
+ end: currentUnitIndex,
46597
+ isSplit: startUnitIndex > 0,
46598
+ chunkHeight
46599
+ }) ?? {};
46600
+ const newSchema = {
46601
+ ...schema,
46602
+ ...patch,
46603
+ height: chunkHeight,
46604
+ position: {
46605
+ ...schema.position,
46606
+ y: currentYInPage + paddingTop
46607
+ }
46608
+ };
46609
+ pages[currentPageIndex].push(newSchema);
46610
+ currentYInPage += chunkHeight;
46611
+ if (currentYInPage >= contentHeight - EPSILON) {
46612
+ currentPageIndex++;
46613
+ currentYInPage = 0;
46614
+ }
46615
+ actualGlobalEndY = currentPageIndex * contentHeight + currentYInPage;
46616
+ }
46617
+ return actualGlobalEndY;
46618
+ }
46619
+ /** Sort elements within each page by their original order */
46620
+ function sortPagesByOrder(pages, orderMap) {
46621
+ pages.forEach((page) => {
46622
+ page.sort((a, b) => (orderMap.get(a.name) ?? 0) - (orderMap.get(b.name) ?? 0));
46623
+ });
46624
+ }
46625
+ /** Remove trailing empty pages */
46626
+ function removeTrailingEmptyPages(pages) {
46627
+ while (pages.length > 1 && pages[pages.length - 1].length === 0) pages.pop();
46628
+ }
46629
+ /**
46630
+ * Process a single template page that has dynamic content.
46631
+ * Uses the same layout algorithm as the original implementation,
46632
+ * but scoped to a single page's schemas.
46633
+ */
46634
+ function processDynamicPage(items, orderMap, contentHeight, paddingTop) {
46635
+ const pages = [];
46636
+ let totalYOffset = 0;
46637
+ for (const item of items) {
46638
+ const currentGlobalStartY = item.baseY + totalYOffset;
46639
+ totalYOffset = placeUnitsOnPages(item.schema, item.dynamicLayout, currentGlobalStartY, contentHeight, paddingTop, pages) - (item.baseY + item.height);
46640
+ }
46641
+ sortPagesByOrder(pages, orderMap);
46642
+ removeTrailingEmptyPages(pages);
46643
+ return pages;
46644
+ }
46645
+ var normalizeDynamicLayoutResult = (result) => {
46646
+ const dynamicLayout = Array.isArray(result) ? { heights: result } : result;
46647
+ return {
46648
+ ...dynamicLayout,
46649
+ heights: dynamicLayout.heights.length === 0 ? [0] : dynamicLayout.heights
46650
+ };
46651
+ };
46652
+ /**
46653
+ * Process a template containing tables with dynamic heights
46654
+ * and generate a new template with proper page breaks.
46655
+ *
46656
+ * Processing is done page-by-page:
46657
+ * - Pages with height changes are processed with full layout calculations
46658
+ * - Pages without height changes are copied as-is (no offset propagation between pages)
46659
+ *
46660
+ * This reduces computation cost by:
46661
+ * 1. Limiting layout calculations to pages that need them
46662
+ * 2. Avoiding cross-page offset propagation for static pages
46663
+ */
46664
+ var getDynamicTemplate = async (arg) => {
46665
+ const { template, input, options, _cache, getDynamicHeights } = arg;
46666
+ const basePdf = template.basePdf;
46667
+ if (!isBlankPdf(basePdf)) return template;
46668
+ const contentHeight = getContentHeight(basePdf);
46669
+ const paddingTop = basePdf.padding[0];
46670
+ const resultPages = [];
46671
+ const PARALLEL_LIMIT = 10;
46672
+ for (let pageIndex = 0; pageIndex < template.schemas.length; pageIndex++) {
46673
+ const pageSchemas = template.schemas[pageIndex];
46674
+ const { items, orderMap } = normalizePageSchemas(pageSchemas, paddingTop);
46675
+ for (let i = 0; i < items.length; i += PARALLEL_LIMIT) {
46676
+ const chunk = items.slice(i, i + PARALLEL_LIMIT);
46677
+ const chunkResults = await Promise.all(chunk.map((item) => {
46678
+ return getDynamicHeights(getSchemaValue(item.schema, input, template.schemas), {
46679
+ schema: item.schema,
46680
+ basePdf,
46681
+ options,
46682
+ _cache
46683
+ }).then(normalizeDynamicLayoutResult);
46684
+ }));
46685
+ for (let j = 0; j < chunkResults.length; j++) items[i + j].dynamicLayout = chunkResults[j];
46686
+ }
46687
+ const processedPages = processDynamicPage(items, orderMap, contentHeight, paddingTop);
46688
+ resultPages.push(...processedPages);
46689
+ }
46690
+ removeTrailingEmptyPages(resultPages);
46691
+ if (resultPages.length === template.schemas.length) {
46692
+ let unchanged = true;
46693
+ for (let i = 0; i < resultPages.length && unchanged; i++) {
46694
+ if (resultPages[i].length !== template.schemas[i].length) {
46695
+ unchanged = false;
46696
+ break;
46697
+ }
46698
+ for (let j = 0; j < resultPages[i].length && unchanged; j++) {
46699
+ const orig = template.schemas[i][j];
46700
+ const result = resultPages[i][j];
46701
+ if (Math.abs(orig.height - result.height) > EPSILON || Math.abs(orig.position.y - result.position.y) > EPSILON) unchanged = false;
46702
+ }
46703
+ }
46704
+ if (unchanged) return template;
46705
+ }
46706
+ return {
46707
+ basePdf,
46708
+ schemas: resultPages
46709
+ };
46710
+ };
46653
46711
  /**
46654
46712
  * Wraps plugins collection with utility methods
46655
46713
  */
@@ -81547,6 +81605,9 @@ var dictionaries = {
81547
81605
  "schemas.text.max": "Max",
81548
81606
  "schemas.text.fit": "Fit",
81549
81607
  "schemas.text.dynamicFontSize": "Dynamic Font Size",
81608
+ "schemas.text.overflow": "Overflow",
81609
+ "schemas.text.overflowVisible": "Visible",
81610
+ "schemas.text.overflowExpand": "Expand",
81550
81611
  "schemas.text.format": "Format",
81551
81612
  "schemas.text.plain": "Plain",
81552
81613
  "schemas.text.inlineMarkdown": "Use Inline Markdown",
@@ -81647,6 +81708,9 @@ var dictionaries = {
81647
81708
  "schemas.text.max": "最大",
81648
81709
  "schemas.text.fit": "适应",
81649
81710
  "schemas.text.dynamicFontSize": "动态字体大小",
81711
+ "schemas.text.overflow": "溢出",
81712
+ "schemas.text.overflowVisible": "可见",
81713
+ "schemas.text.overflowExpand": "扩展",
81650
81714
  "schemas.text.format": "格式",
81651
81715
  "schemas.text.plain": "纯文本",
81652
81716
  "schemas.text.inlineMarkdown": "使用内联 Markdown",
@@ -81747,6 +81811,9 @@ var dictionaries = {
81747
81811
  "schemas.text.max": "最大",
81748
81812
  "schemas.text.fit": "フィット",
81749
81813
  "schemas.text.dynamicFontSize": "動的フォントサイズ",
81814
+ "schemas.text.overflow": "オーバーフロー",
81815
+ "schemas.text.overflowVisible": "表示",
81816
+ "schemas.text.overflowExpand": "拡張",
81750
81817
  "schemas.text.format": "書式",
81751
81818
  "schemas.text.plain": "プレーン",
81752
81819
  "schemas.text.inlineMarkdown": "インラインMarkdownを使う",
@@ -81847,6 +81914,9 @@ var dictionaries = {
81847
81914
  "schemas.text.max": "최대",
81848
81915
  "schemas.text.fit": "맞춤",
81849
81916
  "schemas.text.dynamicFontSize": "동적 폰트 크기",
81917
+ "schemas.text.overflow": "오버플로",
81918
+ "schemas.text.overflowVisible": "표시",
81919
+ "schemas.text.overflowExpand": "확장",
81850
81920
  "schemas.text.format": "형식",
81851
81921
  "schemas.text.plain": "일반 텍스트",
81852
81922
  "schemas.text.inlineMarkdown": "인라인 Markdown 사용",
@@ -81947,6 +82017,9 @@ var dictionaries = {
81947
82017
  "schemas.text.max": "الحد الأقصى",
81948
82018
  "schemas.text.fit": "ملاءمة",
81949
82019
  "schemas.text.dynamicFontSize": "حجم الخط الديناميكي",
82020
+ "schemas.text.overflow": "تجاوز",
82021
+ "schemas.text.overflowVisible": "مرئي",
82022
+ "schemas.text.overflowExpand": "توسيع",
81950
82023
  "schemas.text.format": "تنسيق",
81951
82024
  "schemas.text.plain": "نص عادي",
81952
82025
  "schemas.text.inlineMarkdown": "استخدام ماركداون مضمن",
@@ -82047,6 +82120,9 @@ var dictionaries = {
82047
82120
  "schemas.text.max": "สูงสุด",
82048
82121
  "schemas.text.fit": "พอดี",
82049
82122
  "schemas.text.dynamicFontSize": "ขนาดตัวอักษรแบบไดนามิก",
82123
+ "schemas.text.overflow": "การล้น",
82124
+ "schemas.text.overflowVisible": "แสดง",
82125
+ "schemas.text.overflowExpand": "ขยาย",
82050
82126
  "schemas.text.format": "รูปแบบ",
82051
82127
  "schemas.text.plain": "ข้อความธรรมดา",
82052
82128
  "schemas.text.inlineMarkdown": "ใช้ Markdown แบบอินไลน์",
@@ -82147,6 +82223,9 @@ var dictionaries = {
82147
82223
  "schemas.text.max": "Massimo",
82148
82224
  "schemas.text.fit": "Adatta",
82149
82225
  "schemas.text.dynamicFontSize": "Dimensione font dinamica",
82226
+ "schemas.text.overflow": "Overflow",
82227
+ "schemas.text.overflowVisible": "Visibile",
82228
+ "schemas.text.overflowExpand": "Espandi",
82150
82229
  "schemas.text.format": "Formato",
82151
82230
  "schemas.text.plain": "Testo semplice",
82152
82231
  "schemas.text.inlineMarkdown": "Usa Markdown inline",
@@ -82247,6 +82326,9 @@ var dictionaries = {
82247
82326
  "schemas.text.max": "Maksimum",
82248
82327
  "schemas.text.fit": "Dopasowanie",
82249
82328
  "schemas.text.dynamicFontSize": "Dynamiczny rozmiar czcionki",
82329
+ "schemas.text.overflow": "Przepełnienie",
82330
+ "schemas.text.overflowVisible": "Widoczne",
82331
+ "schemas.text.overflowExpand": "Rozszerz",
82250
82332
  "schemas.text.format": "Format",
82251
82333
  "schemas.text.plain": "Zwykły tekst",
82252
82334
  "schemas.text.inlineMarkdown": "Użyj Markdown inline",
@@ -82347,6 +82429,9 @@ var dictionaries = {
82347
82429
  "schemas.text.max": "Max",
82348
82430
  "schemas.text.fit": "Anpassen",
82349
82431
  "schemas.text.dynamicFontSize": "Dynamische Schriftgröße",
82432
+ "schemas.text.overflow": "Überlauf",
82433
+ "schemas.text.overflowVisible": "Sichtbar",
82434
+ "schemas.text.overflowExpand": "Erweitern",
82350
82435
  "schemas.text.format": "Format",
82351
82436
  "schemas.text.plain": "Einfacher Text",
82352
82437
  "schemas.text.inlineMarkdown": "Inline-Markdown verwenden",
@@ -82447,6 +82532,9 @@ var dictionaries = {
82447
82532
  "schemas.text.max": "Máx",
82448
82533
  "schemas.text.fit": "Ajustar",
82449
82534
  "schemas.text.dynamicFontSize": "Tamaño de fuente dinámico",
82535
+ "schemas.text.overflow": "Desbordamiento",
82536
+ "schemas.text.overflowVisible": "Visible",
82537
+ "schemas.text.overflowExpand": "Expandir",
82450
82538
  "schemas.text.format": "Formato",
82451
82539
  "schemas.text.plain": "Texto sin formato",
82452
82540
  "schemas.text.inlineMarkdown": "Usar Markdown en línea",
@@ -82547,6 +82635,9 @@ var dictionaries = {
82547
82635
  "schemas.text.max": "Max",
82548
82636
  "schemas.text.fit": "Ajustement",
82549
82637
  "schemas.text.dynamicFontSize": "Taille de police dynamique",
82638
+ "schemas.text.overflow": "Débordement",
82639
+ "schemas.text.overflowVisible": "Visible",
82640
+ "schemas.text.overflowExpand": "Agrandir",
82550
82641
  "schemas.text.format": "Format",
82551
82642
  "schemas.text.plain": "Texte brut",
82552
82643
  "schemas.text.inlineMarkdown": "Utiliser Markdown en ligne",
@@ -82594,6 +82685,7 @@ var getDict = (lang) => dictionaries[lang] || dictionaries["en"];
82594
82685
  var i18n = (key, dict) => (dict || getDict("en"))[key];
82595
82686
  //#endregion
82596
82687
  //#region ../../node_modules/restructure/src/DecodeStream.js
82688
+ var import_react_dom$5 = /* @__PURE__ */ __toESM(require_react_dom());
82597
82689
  var ENCODING_MAPPING = {
82598
82690
  utf16le: "utf-16le",
82599
82691
  ucs2: "utf-16le",
@@ -83423,7 +83515,6 @@ function _define_property(obj, key, value) {
83423
83515
  }
83424
83516
  //#endregion
83425
83517
  //#region ../../node_modules/tslib/tslib.es6.mjs
83426
- var import_react_dom$5 = /* @__PURE__ */ __toESM(require_react_dom());
83427
83518
  var __assign$9 = function() {
83428
83519
  __assign$9 = Object.assign || function __assign(t) {
83429
83520
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -83912,6 +84003,7 @@ var require_unicode_trie = /* @__PURE__ */ __commonJSMin(((exports, module) => {
83912
84003
  }));
83913
84004
  //#endregion
83914
84005
  //#region ../../node_modules/unicode-properties/dist/module.mjs
84006
+ var import_fast_deep_equal = /* @__PURE__ */ __toESM(require_fast_deep_equal(), 1);
83915
84007
  var import_base64_js = /* @__PURE__ */ __toESM(require_base64_js(), 1);
83916
84008
  var import_unicode_trie = /* @__PURE__ */ __toESM(require_unicode_trie(), 1);
83917
84009
  function $parcel$interopDefault$1(a) {
@@ -87338,7 +87430,6 @@ var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
87338
87430
  }));
87339
87431
  //#endregion
87340
87432
  //#region ../../node_modules/fontkit/dist/browser-module.mjs
87341
- var import_fast_deep_equal = /* @__PURE__ */ __toESM(require_fast_deep_equal(), 1);
87342
87433
  var import_dfa = /* @__PURE__ */ __toESM(require_dfa(), 1);
87343
87434
  var import_clone = /* @__PURE__ */ __toESM(require_clone(), 1);
87344
87435
  var import_tiny_inflate = /* @__PURE__ */ __toESM(require_tiny_inflate(), 1);
@@ -98538,7 +98629,7 @@ $d636bc798e7178db$export$36b2f24e97d43be($21ee218f84ac7f32$export$2e2bcd8739ae03
98538
98629
  $d636bc798e7178db$export$36b2f24e97d43be($cd5853a56c68fec7$export$2e2bcd8739ae039);
98539
98630
  $d636bc798e7178db$export$36b2f24e97d43be($05f49f930186144e$export$2e2bcd8739ae039);
98540
98631
  //#endregion
98541
- //#region ../schemas/dist/helper-6FilIoVM.js
98632
+ //#region ../schemas/dist/helper-CBd9plP_.js
98542
98633
  var ALIGN_LEFT = "left";
98543
98634
  var ALIGN_CENTER = "center";
98544
98635
  var ALIGN_RIGHT = "right";
@@ -98551,6 +98642,9 @@ var PLACEHOLDER_FONT_COLOR = "#A0A0A0";
98551
98642
  var TEXT_FORMAT_PLAIN = "plain";
98552
98643
  var TEXT_FORMAT_INLINE_MARKDOWN = "inline-markdown";
98553
98644
  var DEFAULT_TEXT_FORMAT = TEXT_FORMAT_PLAIN;
98645
+ var TEXT_OVERFLOW_VISIBLE = "visible";
98646
+ var TEXT_OVERFLOW_EXPAND = "expand";
98647
+ var DEFAULT_TEXT_OVERFLOW = TEXT_OVERFLOW_VISIBLE;
98554
98648
  var FONT_VARIANT_FALLBACK_SYNTHETIC = "synthetic";
98555
98649
  var FONT_VARIANT_FALLBACK_PLAIN = "plain";
98556
98650
  var FONT_VARIANT_FALLBACK_ERROR = "error";
@@ -98909,7 +99003,578 @@ var filterEndJP = (lines) => {
98909
99003
  } else return filtered;
98910
99004
  };
98911
99005
  //#endregion
98912
- //#region ../schemas/dist/dynamicTemplate-DslOH4FZ.js
99006
+ //#region ../schemas/dist/measure-h-7PUE2B.js
99007
+ var MARKDOWN_ESCAPABLE_CHARS = new Set([
99008
+ "\\",
99009
+ "*",
99010
+ "~",
99011
+ "`",
99012
+ "[",
99013
+ "]",
99014
+ "(",
99015
+ ")"
99016
+ ]);
99017
+ var MARKDOWN_ESCAPE_PATTERN = /[\\*~`[\]()]/g;
99018
+ var MARKDOWN_UNESCAPE_PATTERN = /\\([\\*~`[\]()])/g;
99019
+ var sameStyle = (a, b) => Boolean(a.bold) === Boolean(b.bold) && Boolean(a.italic) === Boolean(b.italic) && Boolean(a.strikethrough) === Boolean(b.strikethrough) && Boolean(a.code) === Boolean(b.code) && a.href === b.href;
99020
+ var appendRun = (runs, text, style) => {
99021
+ if (!text) return;
99022
+ const lastRun = runs.at(-1);
99023
+ if (lastRun && sameStyle(lastRun, style)) {
99024
+ lastRun.text += text;
99025
+ return;
99026
+ }
99027
+ runs.push({
99028
+ text,
99029
+ ...style.bold ? { bold: true } : {},
99030
+ ...style.italic ? { italic: true } : {},
99031
+ ...style.strikethrough ? { strikethrough: true } : {},
99032
+ ...style.code ? { code: true } : {},
99033
+ ...style.href ? { href: style.href } : {}
99034
+ });
99035
+ };
99036
+ var findClosingDelimiter = (value, delimiter, from) => {
99037
+ for (let i = from; i < value.length; i++) {
99038
+ if (value[i] === "\\") {
99039
+ i += 1;
99040
+ continue;
99041
+ }
99042
+ if (delimiter !== "`" && value[i] === "`") {
99043
+ const codeEnd = findClosingDelimiter(value, "`", i + 1);
99044
+ if (codeEnd === -1) continue;
99045
+ i = codeEnd;
99046
+ continue;
99047
+ }
99048
+ if (value.startsWith(delimiter, i)) return i;
99049
+ }
99050
+ return -1;
99051
+ };
99052
+ var getDelimiter = (value, index) => {
99053
+ if (value[index] === "`") return "`";
99054
+ if (value.startsWith("***", index)) return "***";
99055
+ if (value.startsWith("**", index)) return "**";
99056
+ if (value.startsWith("~~", index)) return "~~";
99057
+ if (value[index] === "*") return "*";
99058
+ return "";
99059
+ };
99060
+ var findLinkLabelEnd = (value, from, to) => {
99061
+ for (let index = from; index < to; index += 1) {
99062
+ if (value[index] === "\\") {
99063
+ index += 1;
99064
+ continue;
99065
+ }
99066
+ if (value[index] === "]") return index;
99067
+ }
99068
+ return -1;
99069
+ };
99070
+ var findLinkDestinationEnd = (value, from, to) => {
99071
+ let depth = 0;
99072
+ for (let index = from; index < to; index += 1) {
99073
+ if (value[index] === "\\") {
99074
+ index += 1;
99075
+ continue;
99076
+ }
99077
+ if (value[index] === "(") {
99078
+ depth += 1;
99079
+ continue;
99080
+ }
99081
+ if (value[index] === ")") {
99082
+ if (depth === 0) return index;
99083
+ depth -= 1;
99084
+ }
99085
+ }
99086
+ return -1;
99087
+ };
99088
+ var parseLinkAt = (value, index, to) => {
99089
+ if (value[index] !== "[") return void 0;
99090
+ const labelEnd = findLinkLabelEnd(value, index + 1, to);
99091
+ if (labelEnd === -1 || value[labelEnd + 1] !== "(") return void 0;
99092
+ const destinationStart = labelEnd + 2;
99093
+ const destinationEnd = findLinkDestinationEnd(value, destinationStart, to);
99094
+ if (destinationEnd === -1) return void 0;
99095
+ const safeHref = normalizeLinkHref(value.slice(destinationStart, destinationEnd).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"));
99096
+ if (!safeHref) return void 0;
99097
+ return {
99098
+ labelStart: index + 1,
99099
+ labelEnd,
99100
+ href: safeHref,
99101
+ end: destinationEnd + 1
99102
+ };
99103
+ };
99104
+ var mergeStyle = (style, delimiter) => {
99105
+ if (delimiter === "***") return {
99106
+ ...style,
99107
+ bold: true,
99108
+ italic: true
99109
+ };
99110
+ if (delimiter === "**") return {
99111
+ ...style,
99112
+ bold: true
99113
+ };
99114
+ if (delimiter === "*") return {
99115
+ ...style,
99116
+ italic: true
99117
+ };
99118
+ if (delimiter === "~~") return {
99119
+ ...style,
99120
+ strikethrough: true
99121
+ };
99122
+ return style;
99123
+ };
99124
+ var parseRange = (value, from, to, style) => {
99125
+ const runs = [];
99126
+ let buffer = "";
99127
+ const flush = () => {
99128
+ appendRun(runs, buffer, style);
99129
+ buffer = "";
99130
+ };
99131
+ for (let index = from; index < to; index++) {
99132
+ const char = value[index];
99133
+ if (char === "\\" && index + 1 < to && MARKDOWN_ESCAPABLE_CHARS.has(value[index + 1])) {
99134
+ buffer += value[index + 1];
99135
+ index += 1;
99136
+ continue;
99137
+ }
99138
+ const link = style.href ? void 0 : parseLinkAt(value, index, to);
99139
+ if (link) {
99140
+ flush();
99141
+ parseRange(value, link.labelStart, link.labelEnd, {
99142
+ ...style,
99143
+ href: link.href
99144
+ }).forEach((run) => appendRun(runs, run.text, run));
99145
+ index = link.end - 1;
99146
+ continue;
99147
+ }
99148
+ const delimiter = getDelimiter(value, index);
99149
+ if (!delimiter) {
99150
+ buffer += char;
99151
+ continue;
99152
+ }
99153
+ const closingIndex = findClosingDelimiter(value, delimiter, index + delimiter.length);
99154
+ if (closingIndex === -1 || closingIndex + delimiter.length > to) {
99155
+ buffer += char;
99156
+ continue;
99157
+ }
99158
+ flush();
99159
+ if (delimiter === "`") appendRun(runs, value.slice(index + 1, closingIndex).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"), {
99160
+ ...style,
99161
+ code: true
99162
+ });
99163
+ else parseRange(value, index + delimiter.length, closingIndex, mergeStyle(style, delimiter)).forEach((run) => appendRun(runs, run.text, run));
99164
+ index = closingIndex + delimiter.length - 1;
99165
+ }
99166
+ flush();
99167
+ return runs;
99168
+ };
99169
+ var parseInlineMarkdown = (value) => {
99170
+ if (!value) return [];
99171
+ return parseRange(value, 0, value.length, {});
99172
+ };
99173
+ var escapeInlineMarkdown = (value) => value.replace(MARKDOWN_ESCAPE_PATTERN, (char) => `\\${char}`);
99174
+ var stripInlineMarkdown = (value) => parseInlineMarkdown(value).map((run) => run.text).join("");
99175
+ var richTextWordSegmenter = new Intl.Segmenter(void 0, { granularity: "word" });
99176
+ var richTextGraphemeSegmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
99177
+ var getBaseFontName = (schema, font) => schema.fontName && font[schema.fontName] ? schema.fontName : getFallbackFontName(font);
99178
+ var getLoadedFontName = (font, fontName) => fontName && font[fontName] ? fontName : void 0;
99179
+ var isInlineMarkdownTextSchema = (schema) => schema.textFormat === "inline-markdown" && !(schema.type === "text" && schema.readOnly !== true);
99180
+ var resolveFontVariant = (run, schema, font) => {
99181
+ const baseFontName = getBaseFontName(schema, font);
99182
+ const variants = schema.fontVariants ?? {};
99183
+ const fallback = schema.fontVariantFallback ?? "synthetic";
99184
+ let fontName = baseFontName;
99185
+ let needsBold = Boolean(run.bold);
99186
+ let needsItalic = Boolean(run.italic);
99187
+ if (run.code) fontName = getLoadedFontName(font, variants.code) ?? baseFontName;
99188
+ else if (run.bold && run.italic) {
99189
+ const boldItalic = getLoadedFontName(font, variants.boldItalic);
99190
+ const italic = getLoadedFontName(font, variants.italic);
99191
+ const bold = getLoadedFontName(font, variants.bold);
99192
+ if (boldItalic) {
99193
+ fontName = boldItalic;
99194
+ needsBold = false;
99195
+ needsItalic = false;
99196
+ } else if (italic) {
99197
+ fontName = italic;
99198
+ needsItalic = false;
99199
+ } else if (bold) {
99200
+ fontName = bold;
99201
+ needsBold = false;
99202
+ }
99203
+ } else if (run.bold) {
99204
+ const bold = getLoadedFontName(font, variants.bold);
99205
+ if (bold) {
99206
+ fontName = bold;
99207
+ needsBold = false;
99208
+ }
99209
+ } else if (run.italic) {
99210
+ const italic = getLoadedFontName(font, variants.italic);
99211
+ if (italic) {
99212
+ fontName = italic;
99213
+ needsItalic = false;
99214
+ }
99215
+ }
99216
+ if ((needsBold || needsItalic || run.code && !getLoadedFontName(font, variants.code)) && fallback === "error") throw new Error(`[@pdfme/schemas] Missing font variant for markdown text in field "${schema.name}".`);
99217
+ return {
99218
+ fontName,
99219
+ syntheticBold: fallback !== "plain" && needsBold,
99220
+ syntheticItalic: fallback !== "plain" && needsItalic
99221
+ };
99222
+ };
99223
+ var resolveRichTextRuns = async (arg) => {
99224
+ const { runs, schema, font, _cache } = arg;
99225
+ const fontKitCache = /* @__PURE__ */ new Map();
99226
+ const getResolvedFontKitFont = async (fontName) => {
99227
+ const cached = fontKitCache.get(fontName);
99228
+ if (cached) return cached;
99229
+ const fontKitFont = await getFontKitFont(fontName, font, _cache);
99230
+ fontKitCache.set(fontName, fontKitFont);
99231
+ return fontKitFont;
99232
+ };
99233
+ return Promise.all(runs.map(async (run) => {
99234
+ const resolution = resolveFontVariant(run, schema, font);
99235
+ return {
99236
+ ...run,
99237
+ ...resolution,
99238
+ fontKitFont: await getResolvedFontKitFont(resolution.fontName)
99239
+ };
99240
+ }));
99241
+ };
99242
+ var measureRunText = (run, text, fontSize, characterSpacing) => {
99243
+ const syntheticBoldWidth = run.syntheticBold ? fontSize * SYNTHETIC_BOLD_OFFSET_RATIO * 2 : 0;
99244
+ const syntheticItalicWidth = run.syntheticItalic ? heightOfFontAtSize(run.fontKitFont, fontSize) * Math.tan(12 * Math.PI / 180) : 0;
99245
+ return widthOfTextAtSize(text, run.fontKitFont, fontSize, characterSpacing) + syntheticBoldWidth + syntheticItalicWidth;
99246
+ };
99247
+ var createLine = () => ({
99248
+ runs: [],
99249
+ width: 0,
99250
+ hardBreak: false
99251
+ });
99252
+ var pushRunToLine = (line, run, text, fontSize, characterSpacing) => {
99253
+ if (!text) return;
99254
+ const width = measureRunText(run, text, fontSize, characterSpacing);
99255
+ if (line.runs.length > 0) line.width += characterSpacing;
99256
+ line.runs.push({
99257
+ ...run,
99258
+ text,
99259
+ width
99260
+ });
99261
+ line.width += width;
99262
+ };
99263
+ var measurePiecesWidth = (pieces, fontSize, characterSpacing) => {
99264
+ let width = 0;
99265
+ let hasText = false;
99266
+ pieces.forEach((piece) => {
99267
+ if (!piece.text) return;
99268
+ if (hasText) width += characterSpacing;
99269
+ width += measureRunText(piece.run, piece.text, fontSize, characterSpacing);
99270
+ hasText = true;
99271
+ });
99272
+ return width;
99273
+ };
99274
+ var sliceRunPieces = (pieces, startIndex, endIndex) => {
99275
+ const result = [];
99276
+ let offset = 0;
99277
+ pieces.forEach((piece) => {
99278
+ const pieceStart = offset;
99279
+ const pieceEnd = pieceStart + piece.text.length;
99280
+ const sliceStart = Math.max(startIndex, pieceStart);
99281
+ const sliceEnd = Math.min(endIndex, pieceEnd);
99282
+ if (sliceStart < sliceEnd) result.push({
99283
+ run: piece.run,
99284
+ text: piece.text.slice(sliceStart - pieceStart, sliceEnd - pieceStart)
99285
+ });
99286
+ offset = pieceEnd;
99287
+ });
99288
+ return result;
99289
+ };
99290
+ var segmentRunPiecesByWord = (runs, onSegment, onHardBreak) => {
99291
+ let paragraphPieces = [];
99292
+ const flushParagraph = () => {
99293
+ if (paragraphPieces.length === 0) return;
99294
+ const paragraphText = paragraphPieces.map((piece) => piece.text).join("");
99295
+ Array.from(richTextWordSegmenter.segment(paragraphText), ({ segment, index }) => {
99296
+ const pieces = sliceRunPieces(paragraphPieces, index, index + segment.length);
99297
+ if (pieces.length > 0) onSegment(pieces);
99298
+ });
99299
+ paragraphPieces = [];
99300
+ };
99301
+ runs.forEach((run) => {
99302
+ run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
99303
+ if (part === "\r\n" || part === "\r" || part === "\n") {
99304
+ flushParagraph();
99305
+ onHardBreak();
99306
+ return;
99307
+ }
99308
+ if (part) paragraphPieces.push({
99309
+ run,
99310
+ text: part
99311
+ });
99312
+ });
99313
+ });
99314
+ flushParagraph();
99315
+ };
99316
+ var splitIntoGraphemes = (value) => Array.from(richTextGraphemeSegmenter.segment(value), ({ segment }) => segment);
99317
+ var countRichTextLineGraphemes = (line) => splitIntoGraphemes(line.runs.map((run) => run.text).join("")).length;
99318
+ var layoutRichTextLines = (arg) => {
99319
+ const { runs, fontSize, characterSpacing, boxWidthInPt } = arg;
99320
+ const lines = [];
99321
+ let currentLine = createLine();
99322
+ const pushCurrentLine = (hardBreak) => {
99323
+ currentLine.hardBreak = hardBreak;
99324
+ lines.push(currentLine);
99325
+ currentLine = createLine();
99326
+ };
99327
+ const pushPiecesToLine = (pieces) => {
99328
+ pieces.forEach((piece) => {
99329
+ pushRunToLine(currentLine, piece.run, piece.text, fontSize, characterSpacing);
99330
+ });
99331
+ };
99332
+ const pushOversizedText = (run, text) => {
99333
+ let remainingText = text;
99334
+ while (remainingText.length > 0) {
99335
+ const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
99336
+ const remainingWidth = Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0);
99337
+ const remainingTextWidth = measureRunText(run, remainingText, fontSize, characterSpacing);
99338
+ if (remainingTextWidth <= remainingWidth || currentLine.runs.length === 0 && remainingTextWidth <= boxWidthInPt) {
99339
+ pushRunToLine(currentLine, run, remainingText, fontSize, characterSpacing);
99340
+ return;
99341
+ }
99342
+ if (currentLine.runs.length > 0 && remainingTextWidth <= boxWidthInPt) {
99343
+ pushCurrentLine(false);
99344
+ continue;
99345
+ }
99346
+ const graphemes = splitIntoGraphemes(remainingText);
99347
+ let fittingText = "";
99348
+ let fittingLength = 0;
99349
+ for (const grapheme of graphemes) {
99350
+ const candidate = fittingText + grapheme;
99351
+ const candidateWidth = measureRunText(run, candidate, fontSize, characterSpacing);
99352
+ const maxWidth = currentLine.runs.length === 0 ? boxWidthInPt : remainingWidth;
99353
+ if (candidateWidth > maxWidth) {
99354
+ if (fittingText) break;
99355
+ if (currentLine.runs.length > 0) break;
99356
+ }
99357
+ fittingText = candidate;
99358
+ fittingLength += grapheme.length;
99359
+ if (candidateWidth > maxWidth) break;
99360
+ }
99361
+ if (!fittingText) {
99362
+ pushCurrentLine(false);
99363
+ continue;
99364
+ }
99365
+ pushRunToLine(currentLine, run, fittingText, fontSize, characterSpacing);
99366
+ remainingText = remainingText.slice(fittingLength);
99367
+ if (remainingText.length > 0) pushCurrentLine(false);
99368
+ }
99369
+ };
99370
+ const pushSegment = (pieces) => {
99371
+ const segmentWidth = measurePiecesWidth(pieces, fontSize, characterSpacing);
99372
+ const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
99373
+ if (segmentWidth <= Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0) || currentLine.runs.length === 0 && segmentWidth <= boxWidthInPt) {
99374
+ pushPiecesToLine(pieces);
99375
+ return;
99376
+ }
99377
+ if (currentLine.runs.length > 0) {
99378
+ pushCurrentLine(false);
99379
+ if (segmentWidth <= boxWidthInPt) {
99380
+ pushPiecesToLine(pieces);
99381
+ return;
99382
+ }
99383
+ }
99384
+ pieces.forEach((piece) => pushOversizedText(piece.run, piece.text));
99385
+ };
99386
+ segmentRunPiecesByWord(runs, pushSegment, () => pushCurrentLine(true));
99387
+ if (currentLine.runs.length > 0 || lines.length === 0) pushCurrentLine(false);
99388
+ return lines;
99389
+ };
99390
+ var measureParagraphWidths = (runs, fontSize, characterSpacing) => {
99391
+ const widths = [];
99392
+ let paragraphPieces = [];
99393
+ const pushWidth = () => {
99394
+ widths.push(measurePiecesWidth(paragraphPieces, fontSize, characterSpacing));
99395
+ paragraphPieces = [];
99396
+ };
99397
+ runs.forEach((run) => {
99398
+ run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
99399
+ if (part === "\r\n" || part === "\r" || part === "\n") {
99400
+ pushWidth();
99401
+ return;
99402
+ }
99403
+ if (part) paragraphPieces.push({
99404
+ run,
99405
+ text: part
99406
+ });
99407
+ });
99408
+ });
99409
+ pushWidth();
99410
+ return widths;
99411
+ };
99412
+ var getLineHeightAtSize = (line, fontSize) => {
99413
+ if (line.runs.length === 0) return fontSize;
99414
+ return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
99415
+ };
99416
+ var calculateDynamicRichTextFontSize = async (arg) => {
99417
+ const { value, schema, font, _cache, startingFontSize } = arg;
99418
+ const { fontSize: schemaFontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing: schemaCharacterSpacing, width: boxWidth, height: boxHeight, lineHeight = 1 } = schema;
99419
+ const fontSize = startingFontSize || schemaFontSize || 13;
99420
+ if (!dynamicFontSizeSetting) return fontSize;
99421
+ if (dynamicFontSizeSetting.max < dynamicFontSizeSetting.min) return fontSize;
99422
+ const resolvedRuns = await resolveRichTextRuns({
99423
+ runs: parseInlineMarkdown(value),
99424
+ schema,
99425
+ font,
99426
+ _cache
99427
+ });
99428
+ const characterSpacing = schemaCharacterSpacing ?? 0;
99429
+ const dynamicFontFit = dynamicFontSizeSetting.fit ?? "vertical";
99430
+ const boxWidthInPt = mm2pt(boxWidth);
99431
+ let dynamicFontSize = fontSize;
99432
+ if (dynamicFontSize < dynamicFontSizeSetting.min) dynamicFontSize = dynamicFontSizeSetting.min;
99433
+ else if (dynamicFontSize > dynamicFontSizeSetting.max) dynamicFontSize = dynamicFontSizeSetting.max;
99434
+ const calculateConstraints = (size) => {
99435
+ let totalWidthInMm = 0;
99436
+ let totalHeightInMm = 0;
99437
+ layoutRichTextLines({
99438
+ runs: resolvedRuns,
99439
+ fontSize: size,
99440
+ characterSpacing,
99441
+ boxWidthInPt
99442
+ }).forEach((line, lineIndex) => {
99443
+ if (dynamicFontFit === "vertical") totalWidthInMm = Math.max(totalWidthInMm, pt2mm(line.width));
99444
+ if (lineIndex === 0) totalHeightInMm += pt2mm(getLineHeightAtSize(line, size) * lineHeight);
99445
+ else totalHeightInMm += pt2mm(size * lineHeight);
99446
+ });
99447
+ if (dynamicFontFit === "horizontal") measureParagraphWidths(resolvedRuns, size, characterSpacing).forEach((paragraphWidth) => {
99448
+ totalWidthInMm = Math.max(totalWidthInMm, pt2mm(paragraphWidth));
99449
+ });
99450
+ return {
99451
+ totalWidthInMm,
99452
+ totalHeightInMm
99453
+ };
99454
+ };
99455
+ const shouldFontGrowToFit = (totalWidthInMm, totalHeightInMm) => {
99456
+ if (dynamicFontSize >= dynamicFontSizeSetting.max) return false;
99457
+ if (dynamicFontFit === "horizontal") return totalWidthInMm < boxWidth;
99458
+ return totalHeightInMm < boxHeight;
99459
+ };
99460
+ const shouldFontShrinkToFit = (totalWidthInMm, totalHeightInMm) => {
99461
+ if (dynamicFontSize <= dynamicFontSizeSetting.min || dynamicFontSize <= 0) return false;
99462
+ return totalWidthInMm > boxWidth || totalHeightInMm > boxHeight;
99463
+ };
99464
+ let { totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize);
99465
+ while (shouldFontGrowToFit(totalWidthInMm, totalHeightInMm)) {
99466
+ dynamicFontSize += FONT_SIZE_ADJUSTMENT;
99467
+ const { totalWidthInMm: newWidth, totalHeightInMm: newHeight } = calculateConstraints(dynamicFontSize);
99468
+ if (newHeight < boxHeight) {
99469
+ totalWidthInMm = newWidth;
99470
+ totalHeightInMm = newHeight;
99471
+ } else {
99472
+ dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
99473
+ break;
99474
+ }
99475
+ }
99476
+ while (shouldFontShrinkToFit(totalWidthInMm, totalHeightInMm)) {
99477
+ dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
99478
+ ({totalWidthInMm, totalHeightInMm} = calculateConstraints(dynamicFontSize));
99479
+ }
99480
+ return dynamicFontSize;
99481
+ };
99482
+ var applyTextLineRange = (lines, range) => {
99483
+ if (!range) return lines;
99484
+ return lines.slice(range.start, range.end ?? lines.length);
99485
+ };
99486
+ var plainTextLinesToValue = (lines) => lines.map((line) => line.replace(/[\r\n]+$/g, "")).join("\n");
99487
+ var splitReplacementTextToLines = (value) => {
99488
+ const lines = [];
99489
+ let start = 0;
99490
+ for (let i = 0; i < value.length; i += 1) {
99491
+ const charCode = value.charCodeAt(i);
99492
+ if (charCode !== 10 && charCode !== 13) continue;
99493
+ lines.push(value.slice(start, i));
99494
+ if (charCode === 13 && value.charCodeAt(i + 1) === 10) i += 1;
99495
+ start = i + 1;
99496
+ }
99497
+ lines.push(value.slice(start));
99498
+ return lines;
99499
+ };
99500
+ var measureTextLines = async ({ value, schema, font = getDefaultFont(), _cache = /* @__PURE__ */ new Map(), ignoreDynamicFontSize = false }) => {
99501
+ const fontSize = schema.fontSize ?? 13;
99502
+ const lineHeight = schema.lineHeight ?? 1;
99503
+ const characterSpacing = schema.characterSpacing ?? 0;
99504
+ const boxWidthInPt = mm2pt(schema.width);
99505
+ if (isInlineMarkdownTextSchema(schema)) {
99506
+ const resolvedRuns = await resolveRichTextRuns({
99507
+ runs: parseInlineMarkdown(value),
99508
+ schema,
99509
+ font,
99510
+ _cache
99511
+ });
99512
+ const resolvedFontSize = schema.dynamicFontSize && schema.height > 0 && !ignoreDynamicFontSize ? await calculateDynamicRichTextFontSize({
99513
+ value,
99514
+ schema,
99515
+ font,
99516
+ _cache
99517
+ }) : fontSize;
99518
+ const lines = layoutRichTextLines({
99519
+ runs: resolvedRuns,
99520
+ fontSize: resolvedFontSize,
99521
+ characterSpacing,
99522
+ boxWidthInPt
99523
+ });
99524
+ return {
99525
+ lines: lines.map((line) => line.runs.map((run) => run.text).join("")),
99526
+ lineHeights: measureRichTextLineHeights(lines, resolvedFontSize, lineHeight)
99527
+ };
99528
+ }
99529
+ const fontKitFont = await getFontKitFont(schema.fontName, font, _cache);
99530
+ const resolvedFontSize = schema.dynamicFontSize && schema.height > 0 && !ignoreDynamicFontSize ? calculateDynamicFontSize({
99531
+ textSchema: schema,
99532
+ fontKitFont,
99533
+ value
99534
+ }) : fontSize;
99535
+ const lines = splitTextToSize({
99536
+ value,
99537
+ characterSpacing,
99538
+ fontSize: resolvedFontSize,
99539
+ fontKitFont,
99540
+ boxWidthInPt
99541
+ });
99542
+ return {
99543
+ lines,
99544
+ lineHeights: measurePlainTextLineHeights(lines, fontKitFont, resolvedFontSize, lineHeight)
99545
+ };
99546
+ };
99547
+ var mergeTextLineRangeValue = async ({ value, replacement, schema, font = getDefaultFont(), _cache = /* @__PURE__ */ new Map() }) => {
99548
+ if (!schema.__textLineRange) return replacement;
99549
+ const { lines } = await measureTextLines({
99550
+ value,
99551
+ schema,
99552
+ font,
99553
+ _cache,
99554
+ ignoreDynamicFontSize: true
99555
+ });
99556
+ const { start, end = lines.length } = schema.__textLineRange;
99557
+ const nextLines = [...lines];
99558
+ nextLines.splice(start, end - start, ...splitReplacementTextToLines(replacement));
99559
+ return plainTextLinesToValue(nextLines);
99560
+ };
99561
+ var sumLineHeights = (lineHeights) => lineHeights.reduce((sum, height) => sum + height, 0);
99562
+ var measurePlainTextLineHeights = (lines, fontKitFont, fontSize, lineHeight) => {
99563
+ if (lines.length === 0) return [];
99564
+ const firstLineHeight = heightOfFontAtSize(fontKitFont, fontSize) * lineHeight;
99565
+ const otherLineHeight = fontSize * lineHeight;
99566
+ return lines.map((_, index) => pt2mm(index === 0 ? firstLineHeight : otherLineHeight));
99567
+ };
99568
+ var measureRichTextLineHeights = (lines, fontSize, lineHeight) => {
99569
+ if (lines.length === 0) return [];
99570
+ return lines.map((line, index) => pt2mm((index === 0 ? getRichTextLineHeight(line, fontSize) : fontSize) * lineHeight));
99571
+ };
99572
+ var getRichTextLineHeight = (line, fontSize) => {
99573
+ if (line.runs.length === 0) return fontSize;
99574
+ return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
99575
+ };
99576
+ //#endregion
99577
+ //#region ../schemas/dist/dynamicTemplate-CkrZKlg-.js
98913
99578
  function _typeof$18(o) {
98914
99579
  "@babel/helpers - typeof";
98915
99580
  return _typeof$18 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -99759,480 +100424,7 @@ var Underline = [["path", { d: "M6 4v6a6 6 0 0 0 12 0V4" }], ["line", {
99759
100424
  y2: "20"
99760
100425
  }]];
99761
100426
  //#endregion
99762
- //#region ../schemas/dist/builtins-BpOyUs31.js
99763
- var MARKDOWN_ESCAPABLE_CHARS = new Set([
99764
- "\\",
99765
- "*",
99766
- "~",
99767
- "`",
99768
- "[",
99769
- "]",
99770
- "(",
99771
- ")"
99772
- ]);
99773
- var MARKDOWN_UNESCAPE_PATTERN = /\\([\\*~`[\]()])/g;
99774
- var sameStyle = (a, b) => Boolean(a.bold) === Boolean(b.bold) && Boolean(a.italic) === Boolean(b.italic) && Boolean(a.strikethrough) === Boolean(b.strikethrough) && Boolean(a.code) === Boolean(b.code) && a.href === b.href;
99775
- var appendRun = (runs, text, style) => {
99776
- if (!text) return;
99777
- const lastRun = runs.at(-1);
99778
- if (lastRun && sameStyle(lastRun, style)) {
99779
- lastRun.text += text;
99780
- return;
99781
- }
99782
- runs.push({
99783
- text,
99784
- ...style.bold ? { bold: true } : {},
99785
- ...style.italic ? { italic: true } : {},
99786
- ...style.strikethrough ? { strikethrough: true } : {},
99787
- ...style.code ? { code: true } : {},
99788
- ...style.href ? { href: style.href } : {}
99789
- });
99790
- };
99791
- var findClosingDelimiter = (value, delimiter, from) => {
99792
- for (let i = from; i < value.length; i++) {
99793
- if (value[i] === "\\") {
99794
- i += 1;
99795
- continue;
99796
- }
99797
- if (delimiter !== "`" && value[i] === "`") {
99798
- const codeEnd = findClosingDelimiter(value, "`", i + 1);
99799
- if (codeEnd === -1) continue;
99800
- i = codeEnd;
99801
- continue;
99802
- }
99803
- if (value.startsWith(delimiter, i)) return i;
99804
- }
99805
- return -1;
99806
- };
99807
- var getDelimiter = (value, index) => {
99808
- if (value[index] === "`") return "`";
99809
- if (value.startsWith("***", index)) return "***";
99810
- if (value.startsWith("**", index)) return "**";
99811
- if (value.startsWith("~~", index)) return "~~";
99812
- if (value[index] === "*") return "*";
99813
- return "";
99814
- };
99815
- var findLinkLabelEnd = (value, from, to) => {
99816
- for (let index = from; index < to; index += 1) {
99817
- if (value[index] === "\\") {
99818
- index += 1;
99819
- continue;
99820
- }
99821
- if (value[index] === "]") return index;
99822
- }
99823
- return -1;
99824
- };
99825
- var findLinkDestinationEnd = (value, from, to) => {
99826
- let depth = 0;
99827
- for (let index = from; index < to; index += 1) {
99828
- if (value[index] === "\\") {
99829
- index += 1;
99830
- continue;
99831
- }
99832
- if (value[index] === "(") {
99833
- depth += 1;
99834
- continue;
99835
- }
99836
- if (value[index] === ")") {
99837
- if (depth === 0) return index;
99838
- depth -= 1;
99839
- }
99840
- }
99841
- return -1;
99842
- };
99843
- var parseLinkAt = (value, index, to) => {
99844
- if (value[index] !== "[") return void 0;
99845
- const labelEnd = findLinkLabelEnd(value, index + 1, to);
99846
- if (labelEnd === -1 || value[labelEnd + 1] !== "(") return void 0;
99847
- const destinationStart = labelEnd + 2;
99848
- const destinationEnd = findLinkDestinationEnd(value, destinationStart, to);
99849
- if (destinationEnd === -1) return void 0;
99850
- const safeHref = normalizeLinkHref(value.slice(destinationStart, destinationEnd).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"));
99851
- if (!safeHref) return void 0;
99852
- return {
99853
- labelStart: index + 1,
99854
- labelEnd,
99855
- href: safeHref,
99856
- end: destinationEnd + 1
99857
- };
99858
- };
99859
- var mergeStyle = (style, delimiter) => {
99860
- if (delimiter === "***") return {
99861
- ...style,
99862
- bold: true,
99863
- italic: true
99864
- };
99865
- if (delimiter === "**") return {
99866
- ...style,
99867
- bold: true
99868
- };
99869
- if (delimiter === "*") return {
99870
- ...style,
99871
- italic: true
99872
- };
99873
- if (delimiter === "~~") return {
99874
- ...style,
99875
- strikethrough: true
99876
- };
99877
- return style;
99878
- };
99879
- var parseRange = (value, from, to, style) => {
99880
- const runs = [];
99881
- let buffer = "";
99882
- const flush = () => {
99883
- appendRun(runs, buffer, style);
99884
- buffer = "";
99885
- };
99886
- for (let index = from; index < to; index++) {
99887
- const char = value[index];
99888
- if (char === "\\" && index + 1 < to && MARKDOWN_ESCAPABLE_CHARS.has(value[index + 1])) {
99889
- buffer += value[index + 1];
99890
- index += 1;
99891
- continue;
99892
- }
99893
- const link = style.href ? void 0 : parseLinkAt(value, index, to);
99894
- if (link) {
99895
- flush();
99896
- parseRange(value, link.labelStart, link.labelEnd, {
99897
- ...style,
99898
- href: link.href
99899
- }).forEach((run) => appendRun(runs, run.text, run));
99900
- index = link.end - 1;
99901
- continue;
99902
- }
99903
- const delimiter = getDelimiter(value, index);
99904
- if (!delimiter) {
99905
- buffer += char;
99906
- continue;
99907
- }
99908
- const closingIndex = findClosingDelimiter(value, delimiter, index + delimiter.length);
99909
- if (closingIndex === -1 || closingIndex + delimiter.length > to) {
99910
- buffer += char;
99911
- continue;
99912
- }
99913
- flush();
99914
- if (delimiter === "`") appendRun(runs, value.slice(index + 1, closingIndex).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"), {
99915
- ...style,
99916
- code: true
99917
- });
99918
- else parseRange(value, index + delimiter.length, closingIndex, mergeStyle(style, delimiter)).forEach((run) => appendRun(runs, run.text, run));
99919
- index = closingIndex + delimiter.length - 1;
99920
- }
99921
- flush();
99922
- return runs;
99923
- };
99924
- var parseInlineMarkdown = (value) => {
99925
- if (!value) return [];
99926
- return parseRange(value, 0, value.length, {});
99927
- };
99928
- var stripInlineMarkdown = (value) => parseInlineMarkdown(value).map((run) => run.text).join("");
99929
- var richTextWordSegmenter = new Intl.Segmenter(void 0, { granularity: "word" });
99930
- var richTextGraphemeSegmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
99931
- var getBaseFontName = (schema, font) => schema.fontName && font[schema.fontName] ? schema.fontName : getFallbackFontName(font);
99932
- var getLoadedFontName = (font, fontName) => fontName && font[fontName] ? fontName : void 0;
99933
- var isInlineMarkdownTextSchema = (schema) => schema.textFormat === "inline-markdown" && !(schema.type === "text" && schema.readOnly !== true);
99934
- var resolveFontVariant = (run, schema, font) => {
99935
- const baseFontName = getBaseFontName(schema, font);
99936
- const variants = schema.fontVariants ?? {};
99937
- const fallback = schema.fontVariantFallback ?? "synthetic";
99938
- let fontName = baseFontName;
99939
- let needsBold = Boolean(run.bold);
99940
- let needsItalic = Boolean(run.italic);
99941
- if (run.code) fontName = getLoadedFontName(font, variants.code) ?? baseFontName;
99942
- else if (run.bold && run.italic) {
99943
- const boldItalic = getLoadedFontName(font, variants.boldItalic);
99944
- const italic = getLoadedFontName(font, variants.italic);
99945
- const bold = getLoadedFontName(font, variants.bold);
99946
- if (boldItalic) {
99947
- fontName = boldItalic;
99948
- needsBold = false;
99949
- needsItalic = false;
99950
- } else if (italic) {
99951
- fontName = italic;
99952
- needsItalic = false;
99953
- } else if (bold) {
99954
- fontName = bold;
99955
- needsBold = false;
99956
- }
99957
- } else if (run.bold) {
99958
- const bold = getLoadedFontName(font, variants.bold);
99959
- if (bold) {
99960
- fontName = bold;
99961
- needsBold = false;
99962
- }
99963
- } else if (run.italic) {
99964
- const italic = getLoadedFontName(font, variants.italic);
99965
- if (italic) {
99966
- fontName = italic;
99967
- needsItalic = false;
99968
- }
99969
- }
99970
- if ((needsBold || needsItalic || run.code && !getLoadedFontName(font, variants.code)) && fallback === "error") throw new Error(`[@pdfme/schemas] Missing font variant for markdown text in field "${schema.name}".`);
99971
- return {
99972
- fontName,
99973
- syntheticBold: fallback !== "plain" && needsBold,
99974
- syntheticItalic: fallback !== "plain" && needsItalic
99975
- };
99976
- };
99977
- var resolveRichTextRuns = async (arg) => {
99978
- const { runs, schema, font, _cache } = arg;
99979
- const fontKitCache = /* @__PURE__ */ new Map();
99980
- const getResolvedFontKitFont = async (fontName) => {
99981
- const cached = fontKitCache.get(fontName);
99982
- if (cached) return cached;
99983
- const fontKitFont = await getFontKitFont(fontName, font, _cache);
99984
- fontKitCache.set(fontName, fontKitFont);
99985
- return fontKitFont;
99986
- };
99987
- return Promise.all(runs.map(async (run) => {
99988
- const resolution = resolveFontVariant(run, schema, font);
99989
- return {
99990
- ...run,
99991
- ...resolution,
99992
- fontKitFont: await getResolvedFontKitFont(resolution.fontName)
99993
- };
99994
- }));
99995
- };
99996
- var measureRunText = (run, text, fontSize, characterSpacing) => {
99997
- const syntheticBoldWidth = run.syntheticBold ? fontSize * SYNTHETIC_BOLD_OFFSET_RATIO * 2 : 0;
99998
- const syntheticItalicWidth = run.syntheticItalic ? heightOfFontAtSize(run.fontKitFont, fontSize) * Math.tan(12 * Math.PI / 180) : 0;
99999
- return widthOfTextAtSize(text, run.fontKitFont, fontSize, characterSpacing) + syntheticBoldWidth + syntheticItalicWidth;
100000
- };
100001
- var createLine = () => ({
100002
- runs: [],
100003
- width: 0,
100004
- hardBreak: false
100005
- });
100006
- var pushRunToLine = (line, run, text, fontSize, characterSpacing) => {
100007
- if (!text) return;
100008
- const width = measureRunText(run, text, fontSize, characterSpacing);
100009
- if (line.runs.length > 0) line.width += characterSpacing;
100010
- line.runs.push({
100011
- ...run,
100012
- text,
100013
- width
100014
- });
100015
- line.width += width;
100016
- };
100017
- var measurePiecesWidth = (pieces, fontSize, characterSpacing) => {
100018
- let width = 0;
100019
- let hasText = false;
100020
- pieces.forEach((piece) => {
100021
- if (!piece.text) return;
100022
- if (hasText) width += characterSpacing;
100023
- width += measureRunText(piece.run, piece.text, fontSize, characterSpacing);
100024
- hasText = true;
100025
- });
100026
- return width;
100027
- };
100028
- var sliceRunPieces = (pieces, startIndex, endIndex) => {
100029
- const result = [];
100030
- let offset = 0;
100031
- pieces.forEach((piece) => {
100032
- const pieceStart = offset;
100033
- const pieceEnd = pieceStart + piece.text.length;
100034
- const sliceStart = Math.max(startIndex, pieceStart);
100035
- const sliceEnd = Math.min(endIndex, pieceEnd);
100036
- if (sliceStart < sliceEnd) result.push({
100037
- run: piece.run,
100038
- text: piece.text.slice(sliceStart - pieceStart, sliceEnd - pieceStart)
100039
- });
100040
- offset = pieceEnd;
100041
- });
100042
- return result;
100043
- };
100044
- var segmentRunPiecesByWord = (runs, onSegment, onHardBreak) => {
100045
- let paragraphPieces = [];
100046
- const flushParagraph = () => {
100047
- if (paragraphPieces.length === 0) return;
100048
- const paragraphText = paragraphPieces.map((piece) => piece.text).join("");
100049
- Array.from(richTextWordSegmenter.segment(paragraphText), ({ segment, index }) => {
100050
- const pieces = sliceRunPieces(paragraphPieces, index, index + segment.length);
100051
- if (pieces.length > 0) onSegment(pieces);
100052
- });
100053
- paragraphPieces = [];
100054
- };
100055
- runs.forEach((run) => {
100056
- run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
100057
- if (part === "\r\n" || part === "\r" || part === "\n") {
100058
- flushParagraph();
100059
- onHardBreak();
100060
- return;
100061
- }
100062
- if (part) paragraphPieces.push({
100063
- run,
100064
- text: part
100065
- });
100066
- });
100067
- });
100068
- flushParagraph();
100069
- };
100070
- var splitIntoGraphemes = (value) => Array.from(richTextGraphemeSegmenter.segment(value), ({ segment }) => segment);
100071
- var countRichTextLineGraphemes = (line) => splitIntoGraphemes(line.runs.map((run) => run.text).join("")).length;
100072
- var layoutRichTextLines = (arg) => {
100073
- const { runs, fontSize, characterSpacing, boxWidthInPt } = arg;
100074
- const lines = [];
100075
- let currentLine = createLine();
100076
- const pushCurrentLine = (hardBreak) => {
100077
- currentLine.hardBreak = hardBreak;
100078
- lines.push(currentLine);
100079
- currentLine = createLine();
100080
- };
100081
- const pushPiecesToLine = (pieces) => {
100082
- pieces.forEach((piece) => {
100083
- pushRunToLine(currentLine, piece.run, piece.text, fontSize, characterSpacing);
100084
- });
100085
- };
100086
- const pushOversizedText = (run, text) => {
100087
- let remainingText = text;
100088
- while (remainingText.length > 0) {
100089
- const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
100090
- const remainingWidth = Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0);
100091
- const remainingTextWidth = measureRunText(run, remainingText, fontSize, characterSpacing);
100092
- if (remainingTextWidth <= remainingWidth || currentLine.runs.length === 0 && remainingTextWidth <= boxWidthInPt) {
100093
- pushRunToLine(currentLine, run, remainingText, fontSize, characterSpacing);
100094
- return;
100095
- }
100096
- if (currentLine.runs.length > 0 && remainingTextWidth <= boxWidthInPt) {
100097
- pushCurrentLine(false);
100098
- continue;
100099
- }
100100
- const graphemes = splitIntoGraphemes(remainingText);
100101
- let fittingText = "";
100102
- let fittingLength = 0;
100103
- for (const grapheme of graphemes) {
100104
- const candidate = fittingText + grapheme;
100105
- const candidateWidth = measureRunText(run, candidate, fontSize, characterSpacing);
100106
- const maxWidth = currentLine.runs.length === 0 ? boxWidthInPt : remainingWidth;
100107
- if (candidateWidth > maxWidth) {
100108
- if (fittingText) break;
100109
- if (currentLine.runs.length > 0) break;
100110
- }
100111
- fittingText = candidate;
100112
- fittingLength += grapheme.length;
100113
- if (candidateWidth > maxWidth) break;
100114
- }
100115
- if (!fittingText) {
100116
- pushCurrentLine(false);
100117
- continue;
100118
- }
100119
- pushRunToLine(currentLine, run, fittingText, fontSize, characterSpacing);
100120
- remainingText = remainingText.slice(fittingLength);
100121
- if (remainingText.length > 0) pushCurrentLine(false);
100122
- }
100123
- };
100124
- const pushSegment = (pieces) => {
100125
- const segmentWidth = measurePiecesWidth(pieces, fontSize, characterSpacing);
100126
- const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
100127
- if (segmentWidth <= Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0) || currentLine.runs.length === 0 && segmentWidth <= boxWidthInPt) {
100128
- pushPiecesToLine(pieces);
100129
- return;
100130
- }
100131
- if (currentLine.runs.length > 0) {
100132
- pushCurrentLine(false);
100133
- if (segmentWidth <= boxWidthInPt) {
100134
- pushPiecesToLine(pieces);
100135
- return;
100136
- }
100137
- }
100138
- pieces.forEach((piece) => pushOversizedText(piece.run, piece.text));
100139
- };
100140
- segmentRunPiecesByWord(runs, pushSegment, () => pushCurrentLine(true));
100141
- if (currentLine.runs.length > 0 || lines.length === 0) pushCurrentLine(false);
100142
- return lines;
100143
- };
100144
- var measureParagraphWidths = (runs, fontSize, characterSpacing) => {
100145
- const widths = [];
100146
- let paragraphPieces = [];
100147
- const pushWidth = () => {
100148
- widths.push(measurePiecesWidth(paragraphPieces, fontSize, characterSpacing));
100149
- paragraphPieces = [];
100150
- };
100151
- runs.forEach((run) => {
100152
- run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
100153
- if (part === "\r\n" || part === "\r" || part === "\n") {
100154
- pushWidth();
100155
- return;
100156
- }
100157
- if (part) paragraphPieces.push({
100158
- run,
100159
- text: part
100160
- });
100161
- });
100162
- });
100163
- pushWidth();
100164
- return widths;
100165
- };
100166
- var getLineHeightAtSize = (line, fontSize) => {
100167
- if (line.runs.length === 0) return fontSize;
100168
- return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
100169
- };
100170
- var calculateDynamicRichTextFontSize = async (arg) => {
100171
- const { value, schema, font, _cache, startingFontSize } = arg;
100172
- const { fontSize: schemaFontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing: schemaCharacterSpacing, width: boxWidth, height: boxHeight, lineHeight = 1 } = schema;
100173
- const fontSize = startingFontSize || schemaFontSize || 13;
100174
- if (!dynamicFontSizeSetting) return fontSize;
100175
- if (dynamicFontSizeSetting.max < dynamicFontSizeSetting.min) return fontSize;
100176
- const resolvedRuns = await resolveRichTextRuns({
100177
- runs: parseInlineMarkdown(value),
100178
- schema,
100179
- font,
100180
- _cache
100181
- });
100182
- const characterSpacing = schemaCharacterSpacing ?? 0;
100183
- const dynamicFontFit = dynamicFontSizeSetting.fit ?? "vertical";
100184
- const boxWidthInPt = mm2pt(boxWidth);
100185
- let dynamicFontSize = fontSize;
100186
- if (dynamicFontSize < dynamicFontSizeSetting.min) dynamicFontSize = dynamicFontSizeSetting.min;
100187
- else if (dynamicFontSize > dynamicFontSizeSetting.max) dynamicFontSize = dynamicFontSizeSetting.max;
100188
- const calculateConstraints = (size) => {
100189
- let totalWidthInMm = 0;
100190
- let totalHeightInMm = 0;
100191
- layoutRichTextLines({
100192
- runs: resolvedRuns,
100193
- fontSize: size,
100194
- characterSpacing,
100195
- boxWidthInPt
100196
- }).forEach((line, lineIndex) => {
100197
- if (dynamicFontFit === "vertical") totalWidthInMm = Math.max(totalWidthInMm, pt2mm(line.width));
100198
- if (lineIndex === 0) totalHeightInMm += pt2mm(getLineHeightAtSize(line, size) * lineHeight);
100199
- else totalHeightInMm += pt2mm(size * lineHeight);
100200
- });
100201
- if (dynamicFontFit === "horizontal") measureParagraphWidths(resolvedRuns, size, characterSpacing).forEach((paragraphWidth) => {
100202
- totalWidthInMm = Math.max(totalWidthInMm, pt2mm(paragraphWidth));
100203
- });
100204
- return {
100205
- totalWidthInMm,
100206
- totalHeightInMm
100207
- };
100208
- };
100209
- const shouldFontGrowToFit = (totalWidthInMm, totalHeightInMm) => {
100210
- if (dynamicFontSize >= dynamicFontSizeSetting.max) return false;
100211
- if (dynamicFontFit === "horizontal") return totalWidthInMm < boxWidth;
100212
- return totalHeightInMm < boxHeight;
100213
- };
100214
- const shouldFontShrinkToFit = (totalWidthInMm, totalHeightInMm) => {
100215
- if (dynamicFontSize <= dynamicFontSizeSetting.min || dynamicFontSize <= 0) return false;
100216
- return totalWidthInMm > boxWidth || totalHeightInMm > boxHeight;
100217
- };
100218
- let { totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize);
100219
- while (shouldFontGrowToFit(totalWidthInMm, totalHeightInMm)) {
100220
- dynamicFontSize += FONT_SIZE_ADJUSTMENT;
100221
- const { totalWidthInMm: newWidth, totalHeightInMm: newHeight } = calculateConstraints(dynamicFontSize);
100222
- if (newHeight < boxHeight) {
100223
- totalWidthInMm = newWidth;
100224
- totalHeightInMm = newHeight;
100225
- } else {
100226
- dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
100227
- break;
100228
- }
100229
- }
100230
- while (shouldFontShrinkToFit(totalWidthInMm, totalHeightInMm)) {
100231
- dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
100232
- ({totalWidthInMm, totalHeightInMm} = calculateConstraints(dynamicFontSize));
100233
- }
100234
- return dynamicFontSize;
100235
- };
100427
+ //#region ../schemas/dist/builtins-pN5NVCSV.js
100236
100428
  var addUriLinkAnnotation = (arg) => {
100237
100429
  const { pdfDoc, page, uri, rect, borderWidth = 0 } = arg;
100238
100430
  const safeUri = normalizeSafeLinkUri(uri);
@@ -100414,7 +100606,7 @@ var drawRun = (arg) => {
100414
100606
  };
100415
100607
  var renderInlineMarkdownText = async (arg) => {
100416
100608
  const { value, schema, font, embedPdfFont, fontKitFont, pdfDoc, page, pdfLib, _cache, colorType, fontSize, color, alignment, verticalAlignment, lineHeight, characterSpacing, x, width, height, pageHeight, pivotPoint, rotate, opacity } = arg;
100417
- const lines = layoutRichTextLines({
100609
+ const allLines = layoutRichTextLines({
100418
100610
  runs: await resolveRichTextRuns({
100419
100611
  runs: parseInlineMarkdown(value),
100420
100612
  schema,
@@ -100425,6 +100617,8 @@ var renderInlineMarkdownText = async (arg) => {
100425
100617
  characterSpacing,
100426
100618
  boxWidthInPt: width
100427
100619
  });
100620
+ const lines = applyTextLineRange(allLines, schema.__textLineRange);
100621
+ const lineRangeStart = schema.__textLineRange?.start ?? 0;
100428
100622
  const pdfFontObj = await embedFontsForRuns(lines.flatMap((line) => line.runs), embedPdfFont);
100429
100623
  const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
100430
100624
  const descent = getFontDescentInPt(fontKitFont, fontSize);
@@ -100440,7 +100634,7 @@ var renderInlineMarkdownText = async (arg) => {
100440
100634
  if (line.runs.length === 0) return;
100441
100635
  let textWidth = line.width;
100442
100636
  let spacing = characterSpacing;
100443
- if (alignment === "justify" && !line.hardBreak && rowIndex < lines.length - 1) {
100637
+ if (alignment === "justify" && !line.hardBreak && lineRangeStart + rowIndex < allLines.length - 1) {
100444
100638
  const graphemeCount = countRichTextLineGraphemes(line);
100445
100639
  if (graphemeCount > 0) {
100446
100640
  spacing += (width - textWidth) / graphemeCount;
@@ -100525,6 +100719,8 @@ var renderInlineMarkdownText = async (arg) => {
100525
100719
  }, xLine);
100526
100720
  });
100527
100721
  };
100722
+ var isTextOverflowExpand = (schema) => schema.overflow === TEXT_OVERFLOW_EXPAND;
100723
+ var shouldUseDynamicFontSize = (schema) => Boolean(schema.dynamicFontSize) && !isTextOverflowExpand(schema);
100528
100724
  var PDF_FONT_CACHE_KEY = "text-pdf-font-cache";
100529
100725
  var getPdfFontCache = (_cache) => {
100530
100726
  let pdfFontCache = _cache.get(PDF_FONT_CACHE_KEY);
@@ -100550,7 +100746,7 @@ var embedAndGetFont = (arg) => {
100550
100746
  return pdfFontPromise;
100551
100747
  };
100552
100748
  var getFontProp = ({ value, fontKitFont, schema, colorType, fontSize: resolvedFontSize }) => {
100553
- const fontSize = resolvedFontSize ?? (schema.dynamicFontSize ? calculateDynamicFontSize({
100749
+ const fontSize = resolvedFontSize ?? (shouldUseDynamicFontSize(schema) ? calculateDynamicFontSize({
100554
100750
  textSchema: schema,
100555
100751
  fontKitFont,
100556
100752
  value
@@ -100588,7 +100784,7 @@ var pdfRender = async (arg) => {
100588
100784
  fontKitFont,
100589
100785
  schema,
100590
100786
  colorType,
100591
- fontSize: enableInlineMarkdown && schema.dynamicFontSize ? await calculateDynamicRichTextFontSize({
100787
+ fontSize: enableInlineMarkdown && shouldUseDynamicFontSize(schema) ? await calculateDynamicRichTextFontSize({
100592
100788
  value,
100593
100789
  schema,
100594
100790
  font,
@@ -100667,13 +100863,13 @@ var pdfRender = async (arg) => {
100667
100863
  const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
100668
100864
  const descent = getFontDescentInPt(fontKitFont, fontSize);
100669
100865
  const halfLineHeightAdjustment = lineHeight === 0 ? 0 : (lineHeight - 1) * fontSize / 2;
100670
- const lines = splitTextToSize({
100866
+ const lines = applyTextLineRange(splitTextToSize({
100671
100867
  value,
100672
100868
  characterSpacing,
100673
100869
  fontSize,
100674
100870
  fontKitFont,
100675
100871
  boxWidthInPt: width
100676
- });
100872
+ }), schema.__textLineRange);
100677
100873
  const needsTextWidth = alignment !== "left" || Boolean(schema.strikethrough || schema.underline);
100678
100874
  const needsTextHeight = Boolean(schema.strikethrough || schema.underline);
100679
100875
  let yOffset = 0;
@@ -100834,9 +101030,11 @@ function getExtraFormatterSchema(i18n) {
100834
101030
  }
100835
101031
  var UseDynamicFontSize = (props) => {
100836
101032
  const { rootElement, changeSchemas, activeSchema, i18n } = props;
101033
+ const isExpand = isTextOverflowExpand(activeSchema);
100837
101034
  const checkbox = document.createElement("input");
100838
101035
  checkbox.type = "checkbox";
100839
- checkbox.checked = Boolean(activeSchema?.dynamicFontSize);
101036
+ checkbox.checked = !isExpand && Boolean(activeSchema?.dynamicFontSize);
101037
+ checkbox.disabled = isExpand;
100840
101038
  checkbox.onchange = (e) => {
100841
101039
  changeSchemas([{
100842
101040
  key: "dynamicFontSize",
@@ -100853,6 +101051,7 @@ var UseDynamicFontSize = (props) => {
100853
101051
  span.innerText = i18n("schemas.text.dynamicFontSize") || "";
100854
101052
  span.style.cssText = "margin-left: 0.5rem";
100855
101053
  label.style.cssText = "display: flex; width: 100%;";
101054
+ label.style.opacity = isExpand ? "0.5" : "1";
100856
101055
  label.appendChild(checkbox);
100857
101056
  label.appendChild(span);
100858
101057
  rootElement.appendChild(label);
@@ -100886,8 +101085,8 @@ var propPanel = {
100886
101085
  } };
100887
101086
  const fontNames = Object.keys(font);
100888
101087
  const fallbackFontName = getFallbackFontName(font);
100889
- const enableDynamicFont = Boolean(activeSchema?.dynamicFontSize);
100890
101088
  const activeTextSchema = activeSchema;
101089
+ const enableDynamicFont = !isTextOverflowExpand(activeTextSchema) && Boolean(activeSchema?.dynamicFontSize);
100891
101090
  const hideTextFormat = activeTextSchema.type === "text" && activeTextSchema.readOnly !== true;
100892
101091
  const enableInlineMarkdown = activeTextSchema.textFormat === "inline-markdown" && !hideTextFormat;
100893
101092
  const baseFontName = activeTextSchema.fontName && font[activeTextSchema.fontName] ? activeTextSchema.fontName : fallbackFontName;
@@ -100937,6 +101136,20 @@ var propPanel = {
100937
101136
  },
100938
101137
  span: 8
100939
101138
  },
101139
+ overflow: {
101140
+ title: i18n("schemas.text.overflow"),
101141
+ type: "string",
101142
+ widget: "select",
101143
+ default: DEFAULT_TEXT_OVERFLOW,
101144
+ props: { options: [{
101145
+ label: i18n("schemas.text.overflowVisible"),
101146
+ value: TEXT_OVERFLOW_VISIBLE
101147
+ }, {
101148
+ label: i18n("schemas.text.overflowExpand"),
101149
+ value: TEXT_OVERFLOW_EXPAND
101150
+ }] },
101151
+ span: 8
101152
+ },
100940
101153
  useDynamicFontSize: {
100941
101154
  type: "boolean",
100942
101155
  widget: "UseDynamicFontSize",
@@ -101080,6 +101293,7 @@ var propPanel = {
101080
101293
  verticalAlignment: "top",
101081
101294
  fontSize: 13,
101082
101295
  textFormat: DEFAULT_TEXT_FORMAT,
101296
+ overflow: DEFAULT_TEXT_OVERFLOW,
101083
101297
  fontVariantFallback: DEFAULT_FONT_VARIANT_FALLBACK,
101084
101298
  lineHeight: 1,
101085
101299
  characterSpacing: 0,
@@ -101110,7 +101324,12 @@ var replaceUnsupportedChars = (text, fontKitFont) => {
101110
101324
  };
101111
101325
  var uiRender = async (arg) => {
101112
101326
  const { value, schema, mode, onChange, stopEditing, tabIndex, placeholder, options, _cache } = arg;
101113
- const usePlaceholder = isEditable(mode, schema) && placeholder && !value;
101327
+ const hasInlineMarkdownFormat = schema.textFormat === TEXT_FORMAT_INLINE_MARKDOWN;
101328
+ const enableInlineMarkdown = isInlineMarkdownTextSchema(schema);
101329
+ const isReadOnlySplitInlineMarkdownFormChunk = mode === "form" && Boolean(schema.__textLineRange) && hasInlineMarkdownFormat;
101330
+ const renderInlineMarkdownReadOnlyChunk = enableInlineMarkdown || isReadOnlySplitInlineMarkdownFormChunk;
101331
+ const editable = isEditable(mode, schema) && !isReadOnlySplitInlineMarkdownFormChunk;
101332
+ const usePlaceholder = editable && placeholder && !value;
101114
101333
  const getText = (element) => {
101115
101334
  let text = element.innerText;
101116
101335
  if (text.endsWith("\n")) text = text.slice(0, -1);
@@ -101118,18 +101337,26 @@ var uiRender = async (arg) => {
101118
101337
  };
101119
101338
  const font = options?.font || getDefaultFont();
101120
101339
  const fontKitFont = await getFontKitFont(schema.fontName, font, _cache);
101121
- const enableInlineMarkdown = isInlineMarkdownTextSchema(schema);
101340
+ const enableDynamicFontSize = shouldUseDynamicFontSize(schema);
101122
101341
  const displayValue = enableInlineMarkdown ? stripInlineMarkdown(value) : value;
101123
- const dynamicRichTextFontSize = enableInlineMarkdown && schema.dynamicFontSize ? await calculateDynamicRichTextFontSize({
101342
+ const dynamicRichTextFontSize = enableInlineMarkdown && enableDynamicFontSize ? await calculateDynamicRichTextFontSize({
101124
101343
  value: usePlaceholder ? placeholder : value,
101125
101344
  schema,
101126
101345
  font,
101127
101346
  _cache
101128
101347
  }) : void 0;
101129
- const textBlock = buildStyledTextContainer(arg, fontKitFont, usePlaceholder ? placeholder : displayValue, dynamicRichTextFontSize);
101130
- const processedText = replaceUnsupportedChars(value, fontKitFont);
101131
- if (!isEditable(mode, schema)) {
101132
- if (enableInlineMarkdown) {
101348
+ const textBlock = buildStyledTextContainer(isReadOnlySplitInlineMarkdownFormChunk ? {
101349
+ ...arg,
101350
+ mode: "viewer"
101351
+ } : arg, fontKitFont, usePlaceholder ? placeholder : displayValue, dynamicRichTextFontSize);
101352
+ const processedText = replaceUnsupportedChars(getRangedPlainTextValue({
101353
+ value,
101354
+ schema,
101355
+ fontKitFont,
101356
+ fontSize: schema.fontSize ?? 13
101357
+ }), fontKitFont);
101358
+ if (!editable) {
101359
+ if (renderInlineMarkdownReadOnlyChunk) {
101133
101360
  await renderInlineMarkdownReadOnly({
101134
101361
  textBlock,
101135
101362
  value,
@@ -101155,7 +101382,7 @@ var uiRender = async (arg) => {
101155
101382
  });
101156
101383
  if (stopEditing) stopEditing();
101157
101384
  });
101158
- if (schema.dynamicFontSize) {
101385
+ if (enableDynamicFontSize) {
101159
101386
  let dynamicFontSize = void 0;
101160
101387
  textBlock.addEventListener("keyup", () => {
101161
101388
  setTimeout(() => {
@@ -101204,43 +101431,84 @@ var renderInlineMarkdownReadOnly = async (arg) => {
101204
101431
  font,
101205
101432
  _cache
101206
101433
  });
101434
+ if (schema.__textLineRange) {
101435
+ const lines = applyTextLineRange(layoutRichTextLines({
101436
+ runs,
101437
+ fontSize: schema.fontSize ?? 13,
101438
+ characterSpacing: schema.characterSpacing ?? 0,
101439
+ boxWidthInPt: mm2pt(schema.width)
101440
+ }), schema.__textLineRange);
101441
+ textBlock.innerHTML = "";
101442
+ lines.forEach((line, lineIndex) => {
101443
+ line.runs.forEach((run) => {
101444
+ appendInlineMarkdownRun({
101445
+ textBlock,
101446
+ run,
101447
+ schema,
101448
+ font
101449
+ });
101450
+ });
101451
+ if (lineIndex < lines.length - 1) textBlock.appendChild(document.createElement("br"));
101452
+ });
101453
+ return;
101454
+ }
101207
101455
  textBlock.innerHTML = "";
101208
101456
  runs.forEach((run) => {
101209
- const href = run.href ? normalizeLinkHref(run.href) : void 0;
101210
- const span = href ? document.createElement("a") : document.createElement("span");
101211
- const processedText = replaceUnsupportedChars(run.text, run.fontKitFont);
101212
- const textDecorations = [];
101213
- span.textContent = processedText;
101214
- if (href) {
101215
- const anchor = span;
101216
- anchor.href = href;
101217
- if (!getInternalLinkTarget(href)) {
101218
- anchor.target = "_blank";
101219
- anchor.rel = "noopener noreferrer";
101220
- }
101221
- textDecorations.push("underline");
101222
- }
101223
- if (run.fontName) span.style.fontFamily = `'${run.fontName}'`;
101224
- if (run.syntheticBold) {
101225
- span.style.fontWeight = "800";
101226
- span.style.textShadow = SYNTHETIC_BOLD_CSS_TEXT_SHADOW;
101227
- }
101228
- if (run.syntheticItalic) span.style.fontStyle = "italic";
101229
- if (run.strikethrough) textDecorations.push("line-through");
101230
- if (textDecorations.length > 0) span.style.textDecoration = textDecorations.join(" ");
101231
- if (run.code) {
101232
- span.style.backgroundColor = CODE_BACKGROUND_COLOR;
101233
- span.style.borderRadius = "2px";
101234
- span.style.padding = "0 0.15em";
101235
- if (!schema.fontVariants?.code || !font[schema.fontVariants.code]) span.style.fontFamily = run.fontName ? `'${run.fontName}', monospace` : "monospace";
101236
- }
101237
- textBlock.appendChild(span);
101457
+ appendInlineMarkdownRun({
101458
+ textBlock,
101459
+ run,
101460
+ schema,
101461
+ font
101462
+ });
101238
101463
  });
101239
101464
  };
101465
+ var appendInlineMarkdownRun = (arg) => {
101466
+ const { textBlock, run, schema, font } = arg;
101467
+ const href = run.href ? normalizeLinkHref(run.href) : void 0;
101468
+ const span = href ? document.createElement("a") : document.createElement("span");
101469
+ const processedText = replaceUnsupportedChars(run.text, run.fontKitFont);
101470
+ const textDecorations = [];
101471
+ span.textContent = processedText;
101472
+ if (href) {
101473
+ const anchor = span;
101474
+ anchor.href = href;
101475
+ if (!getInternalLinkTarget(href)) {
101476
+ anchor.target = "_blank";
101477
+ anchor.rel = "noopener noreferrer";
101478
+ }
101479
+ textDecorations.push("underline");
101480
+ }
101481
+ if (run.fontName) span.style.fontFamily = `'${run.fontName}'`;
101482
+ if (run.syntheticBold) {
101483
+ span.style.fontWeight = "800";
101484
+ span.style.textShadow = SYNTHETIC_BOLD_CSS_TEXT_SHADOW;
101485
+ }
101486
+ if (run.syntheticItalic) span.style.fontStyle = "italic";
101487
+ if (run.strikethrough) textDecorations.push("line-through");
101488
+ if (textDecorations.length > 0) span.style.textDecoration = textDecorations.join(" ");
101489
+ if (run.code) {
101490
+ span.style.backgroundColor = CODE_BACKGROUND_COLOR;
101491
+ span.style.borderRadius = "2px";
101492
+ span.style.padding = "0 0.15em";
101493
+ if (!schema.fontVariants?.code || !font[schema.fontVariants.code]) span.style.fontFamily = run.fontName ? `'${run.fontName}', monospace` : "monospace";
101494
+ }
101495
+ textBlock.appendChild(span);
101496
+ };
101497
+ var getRangedPlainTextValue = (arg) => {
101498
+ const { value, schema, fontKitFont, fontSize } = arg;
101499
+ if (!schema.__textLineRange) return value;
101500
+ return plainTextLinesToValue(applyTextLineRange(splitTextToSize({
101501
+ value,
101502
+ characterSpacing: schema.characterSpacing ?? 0,
101503
+ fontSize,
101504
+ fontKitFont,
101505
+ boxWidthInPt: mm2pt(schema.width)
101506
+ }), schema.__textLineRange));
101507
+ };
101240
101508
  var buildStyledTextContainer = (arg, fontKitFont, value, resolvedDynamicFontSize) => {
101241
101509
  const { schema, rootElement, mode } = arg;
101242
101510
  let dynamicFontSize = resolvedDynamicFontSize;
101243
- if (dynamicFontSize === void 0 && schema.dynamicFontSize && value) dynamicFontSize = calculateDynamicFontSize({
101511
+ if (dynamicFontSize === void 0 && shouldUseDynamicFontSize(schema) && value) dynamicFontSize = calculateDynamicFontSize({
101244
101512
  textSchema: schema,
101245
101513
  fontKitFont,
101246
101514
  value,
@@ -213394,6 +213662,105 @@ withProvider(FormCore, { Html: html });
213394
213662
  //#region ../../node_modules/form-render/es/index.js
213395
213663
  var es_default = withProvider(FormCore, widgets_exports);
213396
213664
  //#endregion
213665
+ //#region ../schemas/dist/helper-BaUAusvL.js
213666
+ var substituteVariables = (text, variablesIn, valueMapper = (value) => value) => {
213667
+ if (!text) return "";
213668
+ let substitutedText = text;
213669
+ if (variablesIn) {
213670
+ let variables;
213671
+ try {
213672
+ variables = typeof variablesIn === "string" ? JSON.parse(variablesIn || "{}") : variablesIn;
213673
+ } catch {
213674
+ throw new SyntaxError(`[@pdfme/schemas] MVT: invalid JSON string '${variablesIn}'`);
213675
+ }
213676
+ Object.keys(variables).forEach((variableName) => {
213677
+ const variableForRegex = variableName.replace(/[/\-\\^$*+?.()|[\]{}]/g, "\\$&");
213678
+ const regex = new RegExp("\\{" + variableForRegex + "\\}", "g");
213679
+ substitutedText = substitutedText.replace(regex, valueMapper(variables[variableName], variableName));
213680
+ });
213681
+ }
213682
+ substitutedText = substitutedText.replace(/{[^{}]+}/g, "");
213683
+ return substitutedText;
213684
+ };
213685
+ var substituteVariablesAsInlineMarkdownLiterals = (text, variablesIn) => substituteVariables(text, variablesIn, escapeInlineMarkdown);
213686
+ var validateVariables = (value, schema) => {
213687
+ if (schema.variables.length === 0) return true;
213688
+ let values;
213689
+ try {
213690
+ values = value ? JSON.parse(value) : {};
213691
+ } catch {
213692
+ throw new SyntaxError(`[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`);
213693
+ }
213694
+ for (const variable of schema.variables) if (!values[variable]) {
213695
+ if (schema.required) throw new Error(`[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`);
213696
+ return false;
213697
+ }
213698
+ return true;
213699
+ };
213700
+ //#endregion
213701
+ //#region ../schemas/dist/dynamicTemplate-ByBNu75x.js
213702
+ var getDynamicLayoutForMultiVariableText = async (value, args) => {
213703
+ if (args.schema.type !== "multiVariableText") return { heights: [args.schema.height] };
213704
+ const schema = args.schema;
213705
+ if (schema.overflow !== "expand") return { heights: [schema.height] };
213706
+ let renderValue = value;
213707
+ if (!schema.readOnly) {
213708
+ if (!validateVariables(value, schema)) return { heights: [schema.height] };
213709
+ renderValue = isInlineMarkdownTextSchema(schema) ? substituteVariablesAsInlineMarkdownLiterals(schema.text || "", value) : substituteVariables(schema.text || "", value);
213710
+ }
213711
+ const { lineHeights } = await measureTextLines({
213712
+ value: renderValue,
213713
+ schema,
213714
+ font: args.options.font,
213715
+ _cache: args._cache,
213716
+ ignoreDynamicFontSize: true
213717
+ });
213718
+ const measuredHeight = sumLineHeights(lineHeights);
213719
+ if (measuredHeight <= schema.height || lineHeights.length === 0) return {
213720
+ heights: [schema.height],
213721
+ patchSplitSchema: () => ({ dynamicFontSize: void 0 })
213722
+ };
213723
+ return {
213724
+ heights: lineHeights.length === 1 ? [Math.max(schema.height, measuredHeight)] : lineHeights,
213725
+ patchSplitSchema: ({ start, end, isSplit }) => ({
213726
+ dynamicFontSize: void 0,
213727
+ __textLineRange: lineHeights.length === 1 ? void 0 : {
213728
+ start,
213729
+ end
213730
+ },
213731
+ __isSplit: isSplit
213732
+ })
213733
+ };
213734
+ };
213735
+ var getDynamicLayoutForText = async (value, args) => {
213736
+ if (args.schema.type !== "text") return { heights: [args.schema.height] };
213737
+ const schema = args.schema;
213738
+ if (schema.overflow !== "expand") return { heights: [schema.height] };
213739
+ const { lineHeights } = await measureTextLines({
213740
+ value,
213741
+ schema,
213742
+ font: args.options.font,
213743
+ _cache: args._cache,
213744
+ ignoreDynamicFontSize: true
213745
+ });
213746
+ const measuredHeight = sumLineHeights(lineHeights);
213747
+ if (measuredHeight <= schema.height || lineHeights.length === 0) return {
213748
+ heights: [schema.height],
213749
+ patchSplitSchema: () => ({ dynamicFontSize: void 0 })
213750
+ };
213751
+ return {
213752
+ heights: lineHeights.length === 1 ? [Math.max(schema.height, measuredHeight)] : lineHeights,
213753
+ patchSplitSchema: ({ start, end, isSplit }) => ({
213754
+ dynamicFontSize: void 0,
213755
+ __textLineRange: lineHeights.length === 1 ? void 0 : {
213756
+ start,
213757
+ end
213758
+ },
213759
+ __isSplit: isSplit
213760
+ })
213761
+ };
213762
+ };
213763
+ //#endregion
213397
213764
  //#region src/components/Designer/RightSidebar/DetailView/AlignWidget.tsx
213398
213765
  var AlignWidget = (props) => {
213399
213766
  const { activeElements, changeSchemas, schemas, pageSize, schema } = props;
@@ -213741,6 +214108,11 @@ var DetailView = (props) => {
213741
214108
  value,
213742
214109
  schemaId: activeSchema.id
213743
214110
  });
214111
+ if (key === "overflow" && value === "expand" && ["text", "multiVariableText"].includes(activeSchema.type)) changes.push({
214112
+ key: "dynamicFontSize",
214113
+ value: void 0,
214114
+ schemaId: activeSchema.id
214115
+ });
213744
214116
  }
213745
214117
  }
213746
214118
  if (changes.length) form.validateFields().then(() => changeSchemas(changes)).catch((reason) => {
@@ -235339,7 +235711,7 @@ var Designer = class extends BaseUIClass {
235339
235711
  }
235340
235712
  };
235341
235713
  //#endregion
235342
- //#region ../schemas/dist/lists-BmAAx0lx.js
235714
+ //#region ../schemas/dist/dynamicTemplate-Cy07Imb5.js
235343
235715
  var normalizeListItems = (value) => {
235344
235716
  if (Array.isArray(value)) return value.map((item) => String(item));
235345
235717
  if (typeof value !== "string") return value == null ? [] : [String(value)];
@@ -235438,6 +235810,19 @@ var getDynamicLayoutForList = async (value, args) => {
235438
235810
  };
235439
235811
  };
235440
235812
  //#endregion
235813
+ //#region ../schemas/dist/dynamicLayout.js
235814
+ var isExpandableTextSchema = (schema) => (schema.type === "text" || schema.type === "multiVariableText") && schema.overflow === "expand";
235815
+ var isDynamicLayoutSchema = (schema) => schema.type === "table" || schema.type === "list" || isExpandableTextSchema(schema);
235816
+ var getDynamicLayoutForSchema = (value, args) => {
235817
+ switch (args.schema.type) {
235818
+ case "table": return getDynamicLayoutForTable(value, args);
235819
+ case "list": return getDynamicLayoutForList(value, args);
235820
+ case "text": return getDynamicLayoutForText(value, args);
235821
+ case "multiVariableText": return getDynamicLayoutForMultiVariableText(value, args);
235822
+ default: return Promise.resolve([args.schema.height]);
235823
+ }
235824
+ };
235825
+ //#endregion
235441
235826
  //#region src/components/UnitPager.tsx
235442
235827
  var { Text } = Typography;
235443
235828
  var icons = {
@@ -235612,13 +235997,7 @@ var Preview = ({ template, inputs, size, onChangeInput, onPageChange }) => {
235612
235997
  input: currentInput,
235613
235998
  options,
235614
235999
  _cache,
235615
- getDynamicHeights: (value, args) => {
235616
- switch (args.schema.type) {
235617
- case "table": return getDynamicLayoutForTable(value, args);
235618
- case "list": return getDynamicLayoutForList(value, args);
235619
- default: return Promise.resolve([args.schema.height]);
235620
- }
235621
- }
236000
+ getDynamicHeights: getDynamicLayoutForSchema
235622
236001
  }).then(async (dynamicTemplate) => {
235623
236002
  const sl = await template2SchemasList(dynamicTemplate);
235624
236003
  if (!isMountedRef.current || requestId !== initRequestIdRef.current) return;
@@ -235660,36 +236039,42 @@ var Preview = ({ template, inputs, size, onChangeInput, onPageChange }) => {
235660
236039
  name,
235661
236040
  value
235662
236041
  });
235663
- const handleOnChangeRenderer = (args, schema) => {
236042
+ const handleOnChangeRenderer = async (args, schema) => {
235664
236043
  let isNeedInit = false;
235665
236044
  let newInputValue;
235666
- args.forEach(({ key: _key, value }) => {
235667
- if (_key === "content") {
235668
- const newValue = value;
235669
- if (newValue === (input?.[schema.name] || "")) return;
235670
- handleChangeInput({
235671
- name: schema.name,
235672
- value: newValue
235673
- });
235674
- if (schema.type === "table" || schema.type === "list") {
235675
- isNeedInit = true;
235676
- newInputValue = newValue;
235677
- }
235678
- } else {
235679
- const pageSchemas = schemasList[pageCursor] || [];
235680
- const targetSchema = pageSchemas.find((s) => s.id === schema.id);
235681
- if (!targetSchema) return;
235682
- if (_key === "height" && isBlankPdf(template.basePdf)) getDynamicHeightReflowChanges({
235683
- schemas: pageSchemas,
235684
- schema: targetSchema,
235685
- height: value
235686
- }).forEach(({ key, value, schemaId }) => {
235687
- const reflowTarget = pageSchemas.find((s) => s.id === schemaId);
235688
- if (reflowTarget) applySchemaChange(reflowTarget, key, value);
235689
- });
235690
- applySchemaChange(targetSchema, _key, value);
236045
+ for (const { key: _key, value } of args) if (_key === "content") {
236046
+ const oldValue = input?.[schema.name] || "";
236047
+ const rawNewValue = value;
236048
+ const newValue = schema.type === "text" && schema.__textLineRange ? await mergeTextLineRangeValue({
236049
+ value: oldValue,
236050
+ replacement: rawNewValue,
236051
+ schema,
236052
+ font,
236053
+ _cache
236054
+ }) : rawNewValue;
236055
+ if (newValue === oldValue) continue;
236056
+ handleChangeInput({
236057
+ name: schema.name,
236058
+ value: newValue
236059
+ });
236060
+ if (isDynamicLayoutSchema(schema)) {
236061
+ isNeedInit = true;
236062
+ newInputValue = newValue;
235691
236063
  }
235692
- });
236064
+ } else {
236065
+ const pageSchemas = schemasList[pageCursor] || [];
236066
+ const targetSchema = pageSchemas.find((s) => s.id === schema.id);
236067
+ if (!targetSchema) continue;
236068
+ if (_key === "height" && isBlankPdf(template.basePdf)) getDynamicHeightReflowChanges({
236069
+ schemas: pageSchemas,
236070
+ schema: targetSchema,
236071
+ height: value
236072
+ }).forEach(({ key, value, schemaId }) => {
236073
+ const reflowTarget = pageSchemas.find((s) => s.id === schemaId);
236074
+ if (reflowTarget) applySchemaChange(reflowTarget, key, value);
236075
+ });
236076
+ applySchemaChange(targetSchema, _key, value);
236077
+ }
235693
236078
  if (isNeedInit && newInputValue !== void 0) init(template, {
235694
236079
  ...input,
235695
236080
  [schema.name]: newInputValue