Modern-CPP-Programming/htmls/10.Templates_I.html
2024-03-30 17:05:40 -07:00

1399 lines
604 KiB
HTML

<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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')format("woff");}.ff2{font-family:ff2;line-height:0.727000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.704000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,d09GRgABAAAAAATkAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcn3rR+kdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2J1FLLGhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAG/AAAC3BrNiVFwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmjOdi/Miee3+crAzfwCKMLwSJd5P5x2+T+BeRLTNiCXg4EJJAoARwILeAB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AQfavYhial9AN6mN5ssGVFDhiZEHBDfCgohxhyykXIi6ViSa60jvBP9dZvKZTeeupf9Gm9gRziwZo3OzNv3s4C+IAfUDj9CvxxWKGvHh32MFDfHD7DZ/XT4R5r/jrcx0fvwuEB+t6Qlar3jtFv29VhhXP11WEP79WTw2f4or473GPNL4f7EPXP4QHOvU+4RYU9jqiRY4sMBoIhUozoLxHR5hgThwhoEdGSd9K2PkWCkicxvWGvZqZDp8yOmTXZU8aap0fLfG1nGM5cYEprrfmsL9DQV2Te4obzu6kteztmwQM5Gjv3md8NT1asLa3ee9utrZI19cXU7AO31f5Y59vMyDAdyWUUzccSBkEky0LXeZqUEicm00ViGOxkXaW5NkcZXmfG7BfTadu2flI0flVvb0ZjaXOTyYNudP2sN7KqSiP3SaElXi/jOcfd4cA7dwpxd9hputgqzXleMNCb/ED/Invlrqrtcn0uV7iS11c4xSGXPsGM/+4JQlyRgrNXVKUl9ANZnBTQh9FkNgmD8AqvWGCzwKOV1lBOZR+te86ZnduxCgt03eRVKUEw84MglDdI/gN43HlfAHicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH0I13m/TAaAEJABeQAAA==')format("woff");}.ff7{font-family:ff7;line-height:0.806000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,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')format("woff");}.ff8{font-family:ff8;line-height:0.999000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,d09GRgABAAAAAA0wAA0AAAAAEWwAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAANFAAAABoAAAAcn3rR/kdERUYAAAz4AAAAHAAAAB4AJwAnT1MvMgAAAagAAABDAAAAVlWOXtRjbWFwAAACZAAAAMoAAAHCjK2Anmdhc3AAAAzwAAAACAAAAAj//wADZ2x5ZgAAA3QAAAd/AAAJlLc16TpoZWFkAAABMAAAADIAAAA2JypLYGhoZWEAAAFkAAAAIgAAACQGiAKzaG10eAAAAewAAAB4AAAAgjv5CLVsb2NhAAADMAAAAEQAAABEIqYlOm1heHAAAAGIAAAAHgAAACAAZgBLbmFtZQAACvQAAAGoAAAC8Y2jxyBwb3N0AAAMnAAAAFIAAABkAwcDs3icY2BkYGBgYmRj3p+xM57f5isDN/MLoAjDI13mg3Ca8b8R83omEJ+DgQkkCgA2MgraAAB4nGNgZGBgOvjfiIGBuYmB4X8183qGFAZRBmSgAAB9qwVAAAB4nGNgZGBgUGTwYGBmAAEmIGZkAIk5gPkMAA0BALIAAHicY2Bk/M04gYGVgYGpi2kPgyxDD4j+P5fxAYMhIxNQlIGVmQEGGBmQQECaawqQUmCoZDr43wio8iDDOZgaAG1UDQsAeJxjlGAAA0ZfEMHAwCzPkMMox+AOxMlMTAxeQGzMNJEhl+k5QyLTWoZcxmcM+sxNDGlM1xmSmNYzLGJ8x+DGeJLBnkmYwR5I2wHVMzF8ZQgCYWYDhkCgeCBQzAJIazHGMwQzdjGoMBYzpAD50Yy3GHIYGAEZIxXeeJzNj8tKAnEUh78Zx0teyrK8ZTkLd4pEr1AgBLV0LyIRtBAXgW/TTpTUteAiRHqEtLUP8us/41Awm7b94Nw/DucAEfZWwcLT0lSWXzu8mljDNZljfIMmV1xzS4s7HmjToccjT/R5YSgZ2qUeUDc+de9TXZ96ZuBR2ulLW230qQ+ttdK7FpprpqneNNFYo+CSP2XF+EEt2zg7DOxfC+REiREnEV5zkIQUpCFzGLSOfqdZjk9ynHIG+UKxVOa8cnFZ9T79F/oGCEQwNAAAAAAAAAAAAAAAAAAwAEAATACUAMIA+gEcAVQBcgGgAcIB4AIcAkICcgKgAwwDHgMqA2QDiAOyA94D9gQ6BFwEfgScBMp4nH1VW2zb1hk+59AiJVHWjbo4utkSJcqWZdkSFdK2LMmOLTt27FiWbMmpL5ETx3FzaYMsa9KiaBo4ztZ0KbI2bot0yJqk60u3BdsAAwOMLckwFEO3DAM2rLsgBbKn7aEdtuVlg+X9pJws2YA9kCB5eL7/+/7LdxBGx7Y+oDxkArkRCtG8n6L5gMz5AzEsS6Kfk8QEQ/kTPky56vjqn9KMw6lLVx+wLEs0PPalGbuDSWMvy+r/aa8+4OETZvV27OP56gPMIoTR0NY59AkqIRohmeFlXhZ/ONQquawl/OrZEqwfREhdpxASlcWStVRCiKCRrb+QBPkAWVEMYGgGeIUFWQJWCYfTBx8ydbE6PsDQjJGy+YiYkCXiDfSMf/lE0BsM9Y89Fx+1GDX6mbo6Ha7T0CZbE1fe6XZqaD022IINe0Ue564Vji4Vb3y7sNDREpodjzisHTti7qDdoTsmnXB5e5olPmCeTQNB4CkCqX7gA3lqwVmcIbIkQPiwwocxYhMWE1IK43vVQ8bPOrt7dMZM39E+/+TbB+c4Y+X5nzxHN9AbA7ci8YnWbPnt7vdfeWbX/NgarmEf33pI7pM7KKDUQFEqPJLqdDgZeFF10k6HolImh3Lhtt5dJ/iRxqbTpy/KLZGOgCCEpIXpksslJhf6Wpt724I6Vk4cfXNt+VktY5tuNBimii+dLk0ZDALkdgEhykbWkRZZILwR837ODyokoRVTIIM89D1YqX5xBVtWXn/Ze+zI1Zfee/a7eOqNj8n6vbdWr2/evrrN+c+POP8/xlkMZSXPf+nEY8bd7dEOvxBpTj1iPJALrBp/J8S3GbOse1owm2qMbdf61By1Qz/wwNkE8YBxICwDNlSBE/Et6wsTM6ONkdGWHg9LTs2tTZYj+S531GUgPnXvEui9BXt3IOTnOZ5mKD5MCWGe4jnRyTmcogQwlLuwgvkjvx41iY0YrxSunNH2+DC2nPvlGbI89FH1/Uns+o68+S5Zb6t+9E1R+BSXFOwDgK0FbIuCHRbCVA3V4eRETiSnzpuw8aqCdt5I696DhyQVJRoFJakPbf6LLCsYNwAjCRgGhHSYp0TOyogZLHNUslqsrB7qjAONFe9tsr45Qtar96pbsnA/hjuRMieDWw/x3/EvkAOFFAayUgs5Ax2qtqc6LiYsB4yEoZX2yRD8YV47upxq0dV/uKpjgy1TeV1pcmTMfJI1Jfb1aehYcyzEOTRCvBjt6aci8XRyKHpgZC1ZZwg0eHlO7zKrOc1C3C01bq3+GawMJhOD0tC1UPgHM+XKgeZvLImpZo+/MzYyZzJ1Z8tToY6LP7psdQ26bIf7d8+LoAGwSBH0G5HnSQ3QTFAWWXiMmMH4x0V2Ymp42Ga7sKckZfM/i3i6u45brb1yt6jXJLNfXai8JmNh87c/TRbKxcmkXq/kKANcvwCuVtXl/CoW858g0PkxogTBv6/ere/LFEu6cnl+0W57pzzHu3KYCzSaY8WGP+QqO3Pxiwcrr+/p6QgmnLqBBLgW2UqQ3fhjFEWdaAgSo2Td5lQsAXoUeKdwwkfBW0CZj9qlBpVERnqsTOKAQSsO0CZMO2AAc562DKbMOuMLA4lwPcV2z9qDu1oatIa12ycNxt1WnT7UwMKiJEyUPmEjQrDPoN5dGs9On3k+ENPQTPHlRXy+TkM00bb+itdiSRKzuyvcNZ6Xe5ubWmOhdqm/0tR0MynGZbiqP3f69JTfbA5EWtW+KoAWmbwFChnFmTlRse4b+fk8X7FV8MbpCvSA8o8EdaNqf9zIX8nDG0YT0M9ZyElQnbcMVrNrwk89gnw1CwmG3C9mKEKZQ55kzpB86rkyZhqeW9YWZi4FcKDe6reZp7v/8cTT3aHRQuGa2o8QkwQgpu2/Y6qBGHznf4GfAgWoa4ruTujFMPQKi5zbTlMrmOPJchGr/fr87BG7/ebc/qUlS3+qa9liyaZTh/+4cGH1wOKlN/ZNTE0WJmZnkJrLyFaGxIGbUXGgmnsx28S2YU1YKbvX/rWxfLtY/Epev2//YM9hU7pLyFpizjPHP1u80PVX8kpH6uL+wf1B7tPMgqK5CLfvAa5edfFtsTK+PvSipS1fGbGVTuKzeG70N/juzDyB/4MwBxugLaqwoLY9VIbWC8cw+HdGAxVhVOv2YThjnQ58SdeWlj3PDHt7pueNdQav3SJHHU0s09gabrexe3s96T2leo3LvUOMcc3nIikPGx1O9FldJppiLc5wojHuttCkaTCccni0Gr3F1qrwXgQeN0kK5lH1DpmD1pJFRmR4hgbfmC3sLfukqfpp94j7cv3lhHWpwxV6DaPM2bOZz8tNtTNzBurUiDcUjEeOAWahVkc5E+7k9eOnpHD9UHFQ60yIRUO62JHqyuLx6nrQl5SxX8E4BsVpAYz6bd+FsYWjAJyXtFT/NlcohBoIMZZ9WS/eqA7gjV99nW9+M7EcV+PjLVHd61L2Pk6mYryU6AAgOJoA5fvumGAzdTTo+Ii+3mftPDIZ0roZXa53D97Y/Dyyk9Noc5Y6l2sf3vhW5NWE/9zSi/8GyinwqgB4nJVSzUrjUBT+bmwrA0NdDO5UzlKRhJB00y6VKhTbSmPFbaJpG1pzNamUvsI8y+DSR/ER5jnmy81lwO7MJed859zv/CYA2niHQv3c/8cK++rQYgctdW7xHs7Vb4sbOFCfFjfRdhoWt3DghGSqxg9af0xUhRXaqmmxg5/q2OI93KvA4gZO1IfFTRypvxa3cOL8wiU0XrBFgQxzLLCGIIDPE8LlqXGX3oQswQU8ygFiPGLJ2A1K6oy+GDmezJ2HoWGNzH3NrBintHOTKWWlGCvMaGkj7+h7oJ4iQh8TSsE19ZieW1pnzIhL/bItsvliLYHvh65L2ZVkKxeeDOLHpd6Uy0zi/EkG3tCTkd7QmcmpziVJF/FqJnomd+mDTKP+JJLryXh6G50x7w0bjswAJUfFzTCK85KgGqDAs2kVI108x9RXZoq10QV3lpqNedySoMf3azKXEyQMz/CKN8PtGX51E9r9Bugwrc7XV7qYpxJ4vvTENuGOk1X2+pbSE3TdkCMHnd2Gd2tgJ7b6C1P2WpJRf4G6X591hZdpUWbcEev6Hfl28n8ewHyweJxtyjEKgmAAgNGX7omEB2gxEIIc20UlBK3QEjxUh3XP/wB+8LZPxH8NfnJ7nYODSOwokTrJwnlRuLop3VVqjdZDpzd4enkbTT6+ZssG+1sKuQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQgUgZgHzGAAE/gBPeJxjYGBgZACC2wqnqkH0I13mgzAaAEJUBegAAA==')format("woff");}.ff9{font-family:ff9;line-height:0.911000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffa;src:url('data:application/font-woff;base64,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')format("woff");}.ffa{font-family:ffa;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffb;src:url('data:application/font-woff;base64,d09GRgABAAAAABYAAA0AAAAAHkQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAV5AAAABoAAAAcn3rSAkdERUYAABXIAAAAHAAAAB4AJwBTT1MvMgAAAaQAAABGAAAAVlXoGRdjbWFwAAAC3AAAAPkAAAG6/rJN9Wdhc3AAABXAAAAACAAAAAj//wADZ2x5ZgAABHQAAA7/AAAVANdBxUloZWFkAAABMAAAADQAAAA2Jt5LZWhoZWEAAAFkAAAAIAAAACQGVQLaaG10eAAAAewAAADtAAABNJZfER1sb2NhAAAD2AAAAJwAAACcuqzAGG1heHAAAAGEAAAAHgAAACAAkwBKbmFtZQAAE3QAAAGtAAAC/Trpjflwb3N0AAAVJAAAAJkAAADDchHY83icY2BkYGBgYmQ7JHw5LJ7f5isDN/MLoAjDI13mwzD6/+H/bMwLmd4BuRwMTCBRAFncDK14nGNgZGBgevefjYGBecP/w/+vMS9kAIqgAF8AqtkHM3icY2BkYGDwZXBnYGEAASYgZmQAiTmA+QwAEaMA3gAAeJxjYGTMZZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM4BBA1DQgQEBAtJcU4CUwm9mpnf/2YAq3zH8AvIZQXIA/4sMYwAAeJxjlGAAA0ZfEAFE9gxljC0M/kBswczJYMEoypAIlOMG01+A/C8MWkAcCaVBWAaJrQVWd4PBgmkWgwxTHYMT0yWGBKZQhjgmSyCeBeQfYYgDqolj2gYUl2WIY85mSAGKJTA9AOqpA9KtQKzNoMO0gkGFaT1YDx/zBgY+RgWGNCAWY3zAYMbEwhDEuAcoz8KgAqSVGQ0ZpEHuAPIDGd4xeDNy/T/M+IIhBMgOZJZiCASJA+XlQPrAekKB+uuB7s5kEAbLnWXgY1oNtOMs0P9ANuMmoNwNsD+SmLkYvjG5M0gzSUAwsy6DNABf4zjsAAAAeJyNj0lOAmEQRl83gzjPc6M/rSLgrAiCAyJOyMa4cUFceA1P4kG8hYkmTguHhMRjuCiLbqOJG/iSqvqq6i2qgAB+OFjUdaOd5fVBrrW6GHU2MZKkyZKnQJEyp5xT5YIrEzXuV0BEWUOCOTLkPKZEhTOPuTSOMojIp3zIu7zJq7zIszzJozzIvdzJbS1Vi4fKPzc0kBXmF7RsTfZ/QF8K+jYUpiXS2tbe0dnV3UNvH/0D9fEgQwyPjI6NO1EmJk3MnWJ6Jj6bSOoupT/A/MLi0vLK6lp6PZPdyOU3t7Z3CrvFvdL+QTMn+jpuHoXDoz9/UmlEfwMRQzTNAAAAAAAAAAAAAAAAAAAWADoAXgCAAJAAngCqAMoBCAEgAWIBogG+AgACHAJeAnACmAK8AvADEAMwA0oDfAOUA6ADugPMA/oEFAQ6BFwEggTABNwE+gUWBU4FYAVwBaIFzAXyBh4GSgZuBs4G7gcAByAHOAdEB3YHlge8B+gIGAguCHgIlgi0CM4I/gkWCUIJYgl8CZYJpAniChAKOAqAeJx9WAlwW9d1/feB/CAJEiCIjSuIhQAIgiJEfOwgQFLcCQpcwA1cxFW7Ilt2K5uJRMnaLNGmLctqEjVa4lSO1cruqJZDuQ6rseTx2KzlNHbjqE3jStOOXTvTJO3YShrZ/Ox9/4MU5bidAf//AN+779xzz733vc8QZjfDMAtkjkll0hlGJdGYPRKV2cMtpNWlxeNxMseXOBzwy8XWOANM+xILbeQ3jJphUs1WpdsXkfg4Vspq1HoJtIVfd2aXVuSqwv2O8qKSQPHdS1D//WlHiy8vp39q3/mh708MluBiaMePdjyiHYtaKpdIzV6f1+OukNg4LXjut6INv373q1a0l5btvETeI02MCr+pzUal2uRRGk1uzqh0uzRKI3nPyH9ayn9iNEJuKehAvvKcazTyn4g2xpYOMq8wcYZlGJ/U7EPXXymz5+XFYXpvnP5fxlwDNfMFI0GsRo8R1PzvIf1aUJyLVzoX/8fRiUjYin8/Rv8U+EUtBdZssnrcPvByLi38OJW/yCrSMlOhh97IL1KzvuxSZ6alZkn+Wp1JMRGmbOlXsEB+iPxYBQtyMJsqwEaNRACN6LQk21YhMZso9Tot5/LBQmluwmcIVatM1sIhV3misCKmYtPzHQUdBqWyuKujGBq/0+cOqoNr4k99tzvidboT/H8A8SuUpdqNvm/tD+/cLvKRwMsFXBuh2MHDKVmpx+vjlBxc4K/s5ToOhtR7gyRNS4Kp4cWTOL4Mx1/D8Q5hfDVEJB631WySE6nVVkFs1GeNWg5S8cO5vCGAa/yuPev1RaXKWJ1xbXFOujIVUtJTK06O/qnZYEhvzJDuUn2DzWXnavY0FRf7vfrIYF6l05SbCmym9PzeAVvUYkivSmd3ZoOIeZmvMqonZNvm0yNNVFHEAQg/AgImVmoT6NOoWakeYGEqsadTZtjm9dfJ8n3WpmjKmkCobG2vpqR4czC63e/zd73SObWlqtLbVaUtd+rDLGSsd66p9Lu87mB/jWu4SDksxqsQQdwkx5kMRo4IzJhDRo8KOTMrWQncnGjnf784OPEivH7x4sUw8tgPe6r5N1bFOZ8pF5BLEXsF8oek6TQCYEqf1G2jzxpWo5dgqL2wUGQOxQs9wbLCs9/wcR538+b0+o2NQ106UyTUACQ9122JWHP/Ndhuq892tk53nnlLHdLs/ZP47ESbPbKhKjNbV9ZUHrEvc3cHMRwXtCrH9M9W4VrImhEWzHWta7p/PYWRuArnSLtty6m3t0EHpELTKux5NPIgso5K9PqoWKlSEbqeIPbVOkXs397UWF1cEagZSTMMOBuHaqvjJbU1tl6ADK3LFLYVoROBJmg/+1aFx/qth0sdsxPbG+v0TU/rlNI897qyQEU8Zq8aEnkX8g/mMf+kWLswA5XJLIzD1jhfH6dj/IjuHLmGuZQr5BJbBGaKzuNGWII8JTgJzgU21z1k3tVTpYsNbEp8FyuftXlt30New8UxQ/mwr9ozvHg6now1mcZ6KWWUDGM024xSM3AqidVmZqnAyfRQG//h+lZI7W8aLJIA68mT59+4gXU0BhDXGk82W5sE3tct3SFRcp0xYOSFwNus2ZQznVaHmWNdldteH4mGSix1h0c2bBg57LU7XHKH3caNNtTXN4yuM1t8a0rSZVu3Qum2rWlp6i59ZmZv3zen+nozZVbEO4p4TyHeNIqXxsmoNFJNWR2gxICQU5f38X8Adv/l3pltp05tm4Gep94ic/9w4uAPF187hzg34PwycpnWWDsojRoMrgM0Ro1RKeQyKePdcPUKamQGWvm59/BhmlyuhV+H+UVgkvPlOD8Lv9yba8bqLL+Egw9CBf9+Ai6Rh+CLMP8mDkxy07vMzf/DjAcjR3ond4rMBJzuCkV5ucMvMtNQfeh9a6XIi0ye12VRZIu8aJ4PJ3FtRF5kNIpKiojDK0c2JviLiQT0JKg7GLb3wMkk/WCu4Hih1iu5K4kEfsHfKb9PLNuRSDXUDnBAnhi6c7inB7YP85/DjmP/jpZm4WH+N8u24DOcwwqcYqGwwGf89kQlyMjc4gwRxkwyjITFMXkCPhurAImZqowC1am0Os7rU3ESFlVlX3u45WRNGsR2mc7kSSGz88BDZAewu/fx5+HwBfviSTLXx483FLvfh7iY8xTzBNrOEjCLNlU6xEEm9typg5hwgY+PLT6DsPOPkQdoHi39irxAbmCN06KNbLGnYVRUQmXVqGl2kxf+dt/e117dPz16aDBx+ODQwCH4nP/7n/3j6e/9E3/6wA+eO/jk31xikppsxPUzqKpQkyhFRLBalY1HN7yQ+MPGo51jnbOz8RH4z+5H+Ftk7tGu2k7+w/iyja2CD1rBC7NogtZ234qZrYn5s73/ve3E8PrEePfx4z1jEObfIHMPRMPjujlflP+yVeCjHGvZZ+hb6Ur/0Artw4ZNV+y7XhdqT/BTpwf60cJn+0endipGH6ntLNNYaj3VRd7pt+OKtuF1HWZNibOt2uj5u57phs7ODnegJEeRnVVQHGiMPeLqqGl2VupzFDJVoTmIa+OWiBwil4T6K+QH+pGswOTQEcyQRGIAr0fIKHkAFo+TB6FW1BDGoxP9VyYxWz0oJCEK+EA6n9m0+c8SY3X1k7FPdzz77A54l3eNbN6yAX5C52KXIk+Kmk0HWr5EOZEn+d8O8b8dfsnLQvrgYdRiK8a/5rh+7SfQm5wneQ7n6fGLqEZWinfUTlKPKj0UA32SPPdO38NrcetTM9n5Tm+n00IgtXmgc7yoRJICbMsgtQ3P/JWLu8U/j2t8/MKfK/1fgp+/uHFWpQ58AeL+ahPuozJwHyWl+00lR3MLMs6fHxq6K/kk/OUJYYx2iWVeE8fokh3gNRxx/m5YsjOMOvFifzsF76JKDFQnnqRwfcKOQGwAGqlHFDD21lPR8Nag/8yjLktnIxvtahyJveuzOotNJc5OR3UdcXjCrnWOseiZSEaD3qxSiX2oC9e4jbzIabaKChLqgNi96Toaofnd3tnWHIlFmxMNw7EuT73NHPEN3Jp4PFCBFPw8dGykrzv0YU2PmKMlaPMc4taJNdBKcw0LYAWKRA4iWjjXmhjaMzVRUVOeWVpld9Xlr4/0NZRyM1eP5+TV5uf4o47WUS/io7ZeFvAVrOYAS6qSk3hW8hfdfzlWG2+e3NzasS4as4Z8A53eMoPRXf34+NhRH1gXP3jb153o7SnUi36b0e5ZxJgj+G2kmy6f7p5xrYCWlcJZ/h3SU9Vdzzb3DUzvjg+sLQ2k15c7mjL/pWXUX+uemRibaYm4ayKNftF3RAmD2LPRdxD2kkVAg2+mwRVNw6CtLCvfqNm1M9raOtJUUk4eVqYqzPmPBPlpOBAcaB2TYaUuXHLBR/AWs4bxMY2iLdZsozUCI4Q+h8ClT9Gok/tzK35E616OFaoaJUXldoAJN0ZCasFH9pxMTpZiHK5z2WXBfmWe3+7IfWx46LGa/CLjhlpfaWv3X3gsJp/PZHn68QGtQZEGiepIAo6i7Nf46kaL5FoPYVWFnDHQ3u6vtRr67Q5//YjB8M873K4HXTzfIFfmpqeYysspD514uYxxUws9wE13UnT7IipLA5djIFPZCtyVsai/9xiY5SqjJnsgdAfVtNB8BuMTRTbPk6fF/RHtWvR4czoaTcMGN//NBI3h0htLHPMqjlHQWqxbqX4RgmWE9tdXo65IUGMoy1AXKqOJRKiu3RQuTsky6AigBWC6hb1vsv/ZxP7n46Rws+t0R0PzOwMXbsdnEZD3py+KsUWfmNP3+iiiEfso/k4WMFampK8k6eu9J04jxsalIQuxVKXDyLmWb83B/slC/zByoCosUSMF9x6uN6/v6jqzsjZcxjX+iE/NV/hsDvSv4hOuN7WdoXrXo94/QL3LhKxUryhdTPJkE4QPHhtMHNg/NPBYrDvo7+kOhOK/HDtyeHziqdmBeF9vd8/QsFgzInAbsQg5ea9maFbVjOSW+TZqPByLNg03JmLtgXWlGWYu2H9r8kjgv8h0ZdXMhoaJ4IJa4RwXc7IE7b6MdrNplU5dlevYtDyceDhble513U3jO9vM6wrSo1GPM9DfHohYMq5/Hj46OnmkOF9Wz7/5pKV1tLVxYyBL5LALL01oP4OeFyDJng+aWkejjTUPwCEyFv05XB8cARxbiHxtQb444Zy/LC3hoI9HQ4QVwQON0FjpGwQdbR76FNiy1tHS0Z/Z0rVBrsRGaco3KrzFNl++ItqQWRPryVQUazWOigJJSlpGGru/0WIor69sUOTKM1MkUjZLZg9ZcM9NDLXWiFybJWNT0nJyU1IylKo8Ab8KMbWREFU7raseoaZwGqwvGjWtqW0tLfHuvobZWa7SXmA9ALLgvn3Bu3GjoB+cexnPGzn3quiqpguXo3XbQs5YUSXXEFsbCoegnf+RxRDwgEnsnXAV58rE3in23GqAqy/2vxgbK2Ehzd0O83w9/i2Om5xHf5rs06dxToEwx0b7rQJwrk6cu3wnp4/1t+BZI8UeaT/W5q5MhdTyQGOtHe/2Gmrzf0bWOB//Ccy/9JfOqtn5D46Vlh/5GfWHEnJDxERz1+yzcTqauzfi336m6/p8fOZI15X5+Y9uPv/8TYE7+RIn+EBPUhJ6znMCLRVQDYhJTxCMCq7+otBjsJjZUmtGpi6z5Hq7N81YIQHJAZhf/LRhTVptdkpBwQDM783pOKJvgAi1S8/PJ9CuUniHAMntjwbEtwUn+BmQxXAP9ARs4n/Xgw/P2iEBIRt/AZLnQPgYdgv76SzhHIg+cDrx9kqcvs25Llzh467pvXH8o3PGcc4jK3PENz868fYj4QXQdeFKJsUpwrug3zFTRA3fEd8F4QlGzf8b6KdAT+1hjMiDQs9y/J9dK/W+n7++kYFm5Yev72t1Kz8QLW1ziIbqYwHXpnW+iO4jMdExL6X3LS68UMC1YSEeT4lGz+3GBdf7C4yFhlzLFJmML7bAvLjKYOuorD6nxDGV9AveRNsa2uPhay2q6L7Mep+9c9EoHFgxVqdEY3w9sp0i8HQriTWPqfwK2vvs2r6eRXJr2YH1fkOhsNyi0ZKpzc+eohh6akqM99whutbRjHq6/hUlqzDlPZokMjqKzDH/C9m6k+sAeJydUk1O20AU/sYkUZFaxI4Ni7cECVvGSRdhwQIESBEJKCZVthOYJFaCB9lBUU7BRVBPwFm4Qq/Qz+NpF+mutvze995873cMYA8/oVA/P/5ihS/qwOMALRV5vIMT9eZxA/vq0+Mm9oJvHrewH5yTqRq7tN5dVIUV+U2PA3xV4vEOxuq7xw2I+vC4iUP1y+MWJDjEJSxesEGBDDPMsYIgQcy3jZBvjbv0TsgSXCCi7EHjEQvGrlFSZ/Rp5HhyZxH6jjVw5zWzYhzRzl0mw0oaS0xpWScf6BtTj5DiCkNKwQ31HT33tI6ZEZf2ZVNks/lKkjhuhyFlVyYbuYikpx8Xdl0uMtH5k/SifiQDu6YzkyOby8TM9XIqdioPZiyj9GqYys3wbnSfHjPvLRtO3QAlTjkubvupzstTomqGAs+uWwxs8aypr90gK6cLrs24pUWMFJzx284XchBD3iuTaEbUrIRrDd2aqyUn6DCxzVfXtpgZSaJYzuRPH+HQzF6XuqAr6YZtDp50/m17uwy2w6vf0fCg5HXUV1F3HbO28NAUZcZlsXbckf/J/xv60H5GAAAAeJxtzblOAgEAANG3u3YQEBEJRBtDPICIRwS1MBZe4IEieNNu4m/Q+EPQ65fBhppJpp0RmjMd2bGIh8RAKLIkJS0ja1nOirxVBWuKSsrWbdhUsWU7Ke2qqqnb07DvwKEjx5paTpw6c+7CpSvXbtxq67hzn7wedT151vOib+DVm3cfPn35NjQ28RuE/vwHURjHURz/zABXlBU9AAAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQh8gZgHzGAAG4gB7eJxjYGBgZACC2wqnqkH0I13mwzAaAEJoBewAAA==')format("woff");}.ffb{font-family:ffb;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,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')format("woff");}.ffc{font-family:ffc;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,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')format("woff");}.ffd{font-family:ffd;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,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')format("woff");}.ffe{font-family:ffe;line-height:0.914000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:fff;src:url('data:application/font-woff;base64,d09GRgABAAAAAATYAA0AAAAAB0QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEvAAAABoAAAAcn3rSCkdERUYAAASgAAAAGwAAAB4AJwALT1MvMgAAAaQAAABFAAAAVlQpf9pjbWFwAAACAAAAAEYAAAFKQxjlbWdhc3AAAASYAAAACAAAAAj//wADZ2x5ZgAAAlQAAABYAAAAWNTgfARoZWFkAAABMAAAADMAAAA2J2BLK2hoZWEAAAFkAAAAIAAAACQFyQRGaG10eAAAAewAAAAUAAAAFAZOADdsb2NhAAACSAAAAAwAAAAMAAAALG1heHAAAAGEAAAAHQAAACAASAAfbmFtZQAAAqwAAAHAAAADUdeLqtNwb3N0AAAEbAAAACwAAAA34MBQwnicY2BkYGBgYjhykDvPKp7f5isDN/MLoAjDI13m43Da/P9X5vWM/4FcDqBaIAAAWcwMagB4nGNgZGBg/P//KwMD8wsGIGBez5DCIMmADFgBhToFFXicY2BkYGBgZZBhANEMDExAzAhmO4D5DAAFkwBoAAAAeJxjYGT8wjiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQKwA4wSkuaaA+IqTGP///wqU/M/ADVXDAAB8Rw3LAAAAARgAAAAAAAABTQAAAAEAAAPoADd4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBQn/f8P5IPp/4/vFUHVAwEjGwOcw8gEJJgYUAEjxIrhDACLGwmnAAAAAAAAAAAAAAAAACwAAQA3//UDrwH/ABsAAAAUBw4BBwYrASI1NjchIjQzISYnNDsBMhceARcDrwhRbg4CCRILGXb9CxUVAvV2GQsSCQIOblEBAhACHYFUCQ2PVShVjw0JVIEdeJytUstq20AUPaPYhkJJd+2mlLspJAsNipQunGVMEjCWE6y4BLoaJ7It/JggKRh/Q3+ldNGP6nf0aDTtwot2Uw2ae+a+z50BcIzvUGi/z3+wwhv10eMAPTXw+AiJ+uFxB++Ctx53cRyMPO5R/5WeqvOKp28uqsEKH1TX4wCv1SePjzBXQ4870Oqnx128D7THPejgCwaweMYeJQossEQNQYyIK0HI1eI+tTN6CS6huQ9h8IgVY3eoKAvqDLZ4cjaN1HmNnb31bDxOeN66TDkrGawx58m6/Z66B8opMlxhwl1wQ3lLzR1Pp8yIgX3el8ViWUscRUkYcu/LbC+XWobmcWV31aoQs32SoU61jO2OykJO7FZm+dKs52Lncp8/yDS7mmRyM7md3mWnzDtiwykbqtlWRpobtmjZXoUzkscoTU29zPabmV1XZ1Q0xEp6NRQwtuXGUF47drWTJWeZu0lqJhBc8P97kZBcc0a9UGMY38bEnHzobqK5hxjnLGO39bUtF7nEOpILOWgunOSLl7UpaYn7YcIRxef/InhY+5Dw75zNa85pr3ib7U22/Jq3IjTmZVVw1uwrSuS/Ff0F9meVZnicY2BiYPj/8dvu/00MGgzYACsQMzIwMTAzMnElFhXllxdlpmeUAAAapwmuAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH0I13m4zAaAEKQBfQAAA==')format("woff");}.fff{font-family:fff;line-height:0.522000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,d09GRgABAAAAAATMAA0AAAAABzgAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEsAAAABoAAAAcn3rSEEdERUYAAASUAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlQrf+hjbWFwAAAB/AAAAEYAAAFKQxjlbWdhc3AAAASMAAAACAAAAAj//wADZ2x5ZgAAAlAAAABYAAAAWN7igD9oZWFkAAABMAAAADEAAAA2J3xLMWhoZWEAAAFkAAAAIAAAACQF5ARhaG10eAAAAegAAAAUAAAAFAZqADlsb2NhAAACRAAAAAwAAAAMAAAALG1heHAAAAGEAAAAHQAAACAASAAfbmFtZQAAAqgAAAG1AAADRagRBI5wb3N0AAAEYAAAACwAAAA34M5QwHicY2BkYGBgYjjCbbZJIZ7f5isDN/MLoAjDI13mU3Da8v8X5pNMIC4HA5gCAD7/CywAAAB4nGNgZGBgYvj/hYGBhYUBCJhPMqQwSDIgA1YAUiADTXicY2BkYGBgZZBhANEMDExAzAhmO4D5DAAFkwBoAAAAeJxjYGRiYpzAwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGVmgAFGIFaAcQLSXFNAfMVJTAz/v4BUMvBA1TAAABJZCt4BGAAAAAAAAAFNAAAAAQAABAQAOXicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUFCf9/w/kg+n/j+8VQdUDASMbA5zDyAQkmBhQASPEiuEMAIsbCacAAAAAAAAAAAAAAAAALAABADn/9APJAgAAGwAAABQHDgEHBisBIjU2NyEiNDMhJic0OwEyFx4BFwPJCVJxEAIKEgwadvz7FRUDBXYaDBIKAhBxUgECEAQagVUKDo5VKlWODgpVgRp4nK1Sy2rbQBQ9o9iGQvGyqywulEICkRBSNs6qxCQGEzlBiku241i2hW1NkBSMd/2gtt/UT+nRaCi0lKyqQfee+37MABjiBxS678tvrDBUHx32MFCfHT5BpL473MMHb+hwH0Nv7PCA+q/0VL13lL7ZqBYrnKq+wx7eq8jhEyzVxOEeLtRPh/s49T45PMCFl2IMgxccUaHAGhs0EEQIeWL4PB0eUbugl+AaAekUGs/YMvaAmrygTqPE0toCJNZrZu2dZ+txRrm0mXJW0thhRclY+kjdE/kcGW6Qkgom5PfUPFA6Z0aMzcuxKtabRqIwjH2fdCSLo1wHMtXPW3Oot4XocinTIAlkZg5UFnJmSlnkG71biVnJY/4k8+wmzWSS3s8fsnPmvWPDCRtq2FbGMfds0bC9moPjLkl0s8mO+4XZ1ZTbqSq6tP1jZqq9Jr+1ozWWV1xkbtcYcHWCK/5vVfA5Zs6YV8qa0V1EZC2xu4IIlyxiyubWVOtcoiCUK/mzMz/N1687XdEQjfyYy4ku3x7t78L4d8L2Eec017zE7gK7ydonIjTmVV1wxewpjOX/VPwFP9yT1gAAAHicY2BiYPj/8dvu/xMY1BiwAVYgZmRgYmBmZOJKLCrKLy/KTM8oAQAc0wm6AAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH0I13mUzAaAEKuBfoAAA==')format("woff");}.ff10{font-family:ff10;line-height:0.524000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff11;src:url('data:application/font-woff;base64,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')format("woff");}.ff11{font-family:ff11;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff12;src:url('data:application/font-woff;base64,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')format("woff");}.ff12{font-family:ff12;line-height:0.899000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff13;src:url('data:application/font-woff;base64,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')format("woff");}.ff13{font-family:ff13;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,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')format("woff");}.ff14{font-family:ff14;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff15;src:url('data:application/font-woff;base64,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')format("woff");}.ff15{font-family:ff15;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff16;src:url('data:application/font-woff;base64,d09GRgABAAAAAATkAA0AAAAABvAAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcn3rSOEdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXGgpdjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdPLyoUVoZWFkAAABMAAAADMAAAA2JytLamhoZWEAAAFkAAAAHgAAACQGNQNHaG10eAAAAegAAAAUAAAAFAbyADJsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAobmFtZQAAAsQAAAG/AAAC6AXljfNwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmjO6ZupEs9v85WBm/kFUIThkS7zPTht9H8icx3TViCXg4EJJAoAUdMLuAB4nGNgZGBg2vp/IgMD8wYGIGCuY2BkQAWsAF/rA4MAAHicY2BkYGBgZVBlANEMDExAzAhmO4D5DAAGdABxAAAAeJxjYGS8wfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACXuDCsB9AAAAAAAAAFNAAAAAQAAA7AAMnicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUcFq20AQfavYhpZQeugHDIWCDba8lgNBJgRMGt+UQwyFnoqQF0tgWUZaR/in8gH9ljY/kFu/oE/r7SFQD9a8mZ1582YXwAc8Q+H82+PFY4W++u5xgIEqPb7AZ/XT4x7zrx738TH45PEAg2DOStV7x+iX6+qwwnuVeBzgUv3w+AJflfW4x/xvj/sQ9cfjAS6DL7hDhQNOqFFgixwWgiEyjOhniGnXGBNH0LSYaIkSxtVnSLmfIKG37DU86dD5ZMeTNdkzxobZk2O+cTMsZy4wpbXOQtaXaOgrMm9xy/nd1Ja9HbPgkRyNm/vE74aZFWv3Tu+D6zZOyZr6EirX5MJddTjVxTa3MsxGMovj67FEWseyLE1dZOlektTmpkwtg52sq6ww9iTDm9zaw2I6bds2TMsmrOrt7WgsbWFzeTSNqZ/MRlbV3spDWhpJ1stkpjnvHkeu3YnE/XFn6BIntmC+ZGA2xZH+n/KV39a4+w2pWXgrb7c4ZyLe/ARz/rt3iHBFEo5fUZiRKNSy8CIIongyn0Q6usIbIpwLgG9OYENRlXu97l3nbnrHLCwwdVNUe9F6Hmodyf95/gJ8UnsFAHicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH0I13mezAaAEN2BiIAAA==')format("woff");}.ff16{font-family:ff16;line-height:0.804000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.m1{transform:none;-ms-transform:none;-webkit-transform:none;}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc0{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc0{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
}
.ws0{word-spacing:0.000000px;}
._34{margin-left:-9.892834px;}
._f{margin-left:-8.251323px;}
._3{margin-left:-5.537550px;}
._7{margin-left:-3.844782px;}
._5{margin-left:-1.818300px;}
._d{width:1.115811px;}
._0{width:3.073600px;}
._2a{width:5.547190px;}
._37{width:11.177130px;}
._c{width:12.359513px;}
._b{width:13.807382px;}
._e{width:15.063240px;}
._8{width:16.116719px;}
._1d{width:17.330247px;}
._9{width:18.429016px;}
._11{width:19.628688px;}
._6{width:21.691454px;}
._15{width:22.829639px;}
._29{width:24.715212px;}
._18{width:26.580371px;}
._1a{width:27.956670px;}
._26{width:29.718055px;}
._4{width:31.241700px;}
._a{width:32.418280px;}
._25{width:33.771608px;}
._1{width:36.288314px;}
._1f{width:38.058824px;}
._2{width:40.911750px;}
._12{width:56.490240px;}
._2c{width:68.557632px;}
._22{width:75.316800px;}
._13{width:94.144320px;}
._2d{width:102.427575px;}
._20{width:112.976160px;}
._36{width:118.364497px;}
._2f{width:119.367582px;}
._14{width:131.805440px;}
._1c{width:150.634560px;}
._17{width:169.459840px;}
._32{width:188.294880px;}
._3b{width:207.521864px;}
._2e{width:220.591854px;}
._28{width:226.353704px;}
._2b{width:237.095435px;}
._27{width:245.183144px;}
._1b{width:320.098560px;}
._16{width:338.924800px;}
._39{width:340.283281px;}
._38{width:342.548067px;}
._23{width:395.418560px;}
._3d{width:708.260155px;}
._3a{width:710.611850px;}
._33{width:729.879753px;}
._3c{width:752.378526px;}
._21{width:810.477614px;}
._1e{width:830.610170px;}
._31{width:1055.081420px;}
._24{width:1109.973528px;}
._10{width:1221.507954px;}
._30{width:1299.970606px;}
._35{width:1381.706602px;}
._19{width:1427.594342px;}
.fcc{color:transparent;}
.fcb{color:rgb(57,75,79);}
.fc8{color:rgb(61,122,122);}
.fca{color:rgb(156,102,0);}
.fc6{color:rgb(0,128,0);}
.fc5{color:rgb(0,0,255);}
.fc4{color:rgb(176,0,64);}
.fc9{color:rgb(186,33,33);}
.fc3{color:rgb(16,136,110);}
.fc7{color:rgb(102,102,102);}
.fc2{color:rgb(255,255,255);}
.fc1{color:rgb(250,250,250);}
.fc0{color:rgb(35,55,59);}
.fs6{font-size:27.895200px;}
.fs5{font-size:31.880400px;}
.fs7{font-size:35.865600px;}
.fs4{font-size:39.850400px;}
.fs8{font-size:43.636400px;}
.fs3{font-size:47.820800px;}
.fs2{font-size:57.384800px;}
.fs1{font-size:82.650000px;}
.fs0{font-size:99.148400px;}
.y17a{bottom:-7.580000px;}
.y0{bottom:-0.500000px;}
.y153{bottom:4.978000px;}
.y160{bottom:6.618000px;}
.y71{bottom:7.771000px;}
.y19d{bottom:8.074000px;}
.y179{bottom:8.599000px;}
.y127{bottom:9.426000px;}
.yb7{bottom:10.073000px;}
.y18f{bottom:10.651000px;}
.y18e{bottom:10.652000px;}
.y96{bottom:11.578000px;}
.y59{bottom:12.519000px;}
.y10{bottom:13.018000px;}
.y8a{bottom:13.186000px;}
.yfc{bottom:14.055000px;}
.y131{bottom:14.358000px;}
.y1ac{bottom:14.400000px;}
.y175{bottom:19.552000px;}
.y185{bottom:20.146000px;}
.y126{bottom:20.310000px;}
.y39{bottom:21.113000px;}
.y178{bottom:21.202000px;}
.yb6{bottom:22.676000px;}
.ye0{bottom:22.901000px;}
.y70{bottom:23.353000px;}
.ye4{bottom:23.513000px;}
.y13b{bottom:23.611000px;}
.yee{bottom:23.842000px;}
.y4e{bottom:24.176000px;}
.y95{bottom:24.181000px;}
.y15f{bottom:24.326000px;}
.yfb{bottom:24.939000px;}
.y58{bottom:25.121000px;}
.y146{bottom:25.266000px;}
.yd3{bottom:25.371000px;}
.y89{bottom:25.789000px;}
.y166{bottom:26.680000px;}
.y1ab{bottom:27.003000px;}
.y10b{bottom:27.006000px;}
.y118{bottom:27.044000px;}
.y130{bottom:29.202000px;}
.y1b9{bottom:29.855000px;}
.y25{bottom:29.907000px;}
.y152{bottom:30.183000px;}
.y125{bottom:31.194000px;}
.y18d{bottom:33.207000px;}
.yaa{bottom:33.804000px;}
.y7{bottom:34.444000px;}
.yb5{bottom:35.278000px;}
.y1c7{bottom:36.425000px;}
.yed{bottom:36.444000px;}
.y44{bottom:36.451000px;}
.y38{bottom:36.694000px;}
.y94{bottom:36.783000px;}
.y15e{bottom:36.928000px;}
.y184{bottom:36.983000px;}
.y57{bottom:37.724000px;}
.y145{bottom:37.869000px;}
.y10a{bottom:37.890000px;}
.y117{bottom:37.928000px;}
.yd2{bottom:37.974000px;}
.ydf{bottom:38.482000px;}
.y196{bottom:38.990000px;}
.y165{bottom:39.282000px;}
.yc1{bottom:39.294000px;}
.y1aa{bottom:39.606000px;}
.y4d{bottom:39.757000px;}
.y124{bottom:42.078000px;}
.y1b8{bottom:42.458000px;}
.y24{bottom:42.509000px;}
.y151{bottom:42.786000px;}
.y7c{bottom:43.847000px;}
.y9f{bottom:44.376000px;}
.y6f{bottom:44.389000px;}
.y174{bottom:45.684000px;}
.ya9{bottom:46.407000px;}
.yfa{bottom:46.707000px;}
.y1c0{bottom:46.951000px;}
.yb4{bottom:47.881000px;}
.y88{bottom:48.329000px;}
.y1ce{bottom:48.411000px;}
.ye3{bottom:48.719000px;}
.y109{bottom:48.774000px;}
.y116{bottom:48.813000px;}
.y13a{bottom:48.816000px;}
.yec{bottom:49.047000px;}
.y43{bottom:49.054000px;}
.y93{bottom:49.386000px;}
.y56{bottom:50.327000px;}
.y144{bottom:50.472000px;}
.yd1{bottom:50.576000px;}
.y6{bottom:51.119000px;}
.y21{bottom:51.776000px;}
.y164{bottom:51.885000px;}
.y1a9{bottom:52.208000px;}
.y37{bottom:52.276000px;}
.yde{bottom:54.064000px;}
.y12f{bottom:54.098000px;}
.yc0{bottom:54.875000px;}
.y23{bottom:55.112000px;}
.y150{bottom:55.388000px;}
.y18c{bottom:55.762000px;}
.y7b{bottom:56.449000px;}
.yf9{bottom:57.591000px;}
.y1e2{bottom:57.906000px;}
.yf{bottom:57.914000px;}
.y173{bottom:58.287000px;}
.y18{bottom:58.487000px;}
.y1c6{bottom:58.980000px;}
.y177{bottom:59.010000px;}
.y61{bottom:59.137000px;}
.y108{bottom:59.658000px;}
.y115{bottom:59.697000px;}
.y9e{bottom:59.958000px;}
.y6e{bottom:59.970000px;}
.y4c{bottom:60.320000px;}
.y16d{bottom:60.595000px;}
.y19c{bottom:60.599000px;}
.y87{bottom:60.932000px;}
.ye2{bottom:61.321000px;}
.y195{bottom:61.545000px;}
.y19{bottom:62.103000px;}
.y15d{bottom:62.134000px;}
.y2d{bottom:62.376000px;}
.y55{bottom:62.929000px;}
.y143{bottom:63.074000px;}
.y123{bottom:63.846000px;}
.y1d8{bottom:63.883000px;}
.yb3{bottom:64.051000px;}
.y163{bottom:64.488000px;}
.y1a8{bottom:64.811000px;}
.y1bf{bottom:65.367000px;}
.y12e{bottom:66.701000px;}
.y1b7{bottom:67.663000px;}
.y22{bottom:67.715000px;}
.y14f{bottom:67.991000px;}
.y7a{bottom:69.052000px;}
.y20{bottom:69.186000px;}
.yc8{bottom:69.413000px;}
.ydd{bottom:69.645000px;}
.y1e1{bottom:70.508000px;}
.y172{bottom:70.890000px;}
.y1cd{bottom:70.967000px;}
.ya8{bottom:71.612000px;}
.y183{bottom:72.890000px;}
.y86{bottom:73.535000px;}
.y36{bottom:73.924000px;}
.yeb{bottom:74.252000px;}
.y42{bottom:74.259000px;}
.y92{bottom:74.591000px;}
.y60{bottom:74.719000px;}
.y122{bottom:74.731000px;}
.y15c{bottom:74.736000px;}
.y54{bottom:75.532000px;}
.y139{bottom:75.689000px;}
.yd0{bottom:75.782000px;}
.y16{bottom:75.897000px;}
.y4b{bottom:75.902000px;}
.y16c{bottom:76.177000px;}
.y1d7{bottom:76.486000px;}
.ybf{bottom:76.783000px;}
.y68{bottom:76.801000px;}
.ye{bottom:77.117000px;}
.y1a7{bottom:77.414000px;}
.y18b{bottom:78.318000px;}
.yf8{bottom:79.359000px;}
.y17{bottom:79.512000px;}
.y1b6{bottom:80.266000px;}
.y14e{bottom:80.594000px;}
.y2c{bottom:80.946000px;}
.y107{bottom:81.426000px;}
.y1c5{bottom:81.535000px;}
.y79{bottom:81.655000px;}
.y142{bottom:82.900000px;}
.y1e0{bottom:83.111000px;}
.y19b{bottom:83.154000px;}
.y162{bottom:83.646000px;}
.y6d{bottom:83.995000px;}
.y194{bottom:84.101000px;}
.ya7{bottom:84.215000px;}
.yc7{bottom:84.994000px;}
.y121{bottom:85.615000px;}
.y85{bottom:86.137000px;}
.y35{bottom:86.527000px;}
.y1f{bottom:86.596000px;}
.y9d{bottom:86.837000px;}
.yea{bottom:86.855000px;}
.y41{bottom:86.862000px;}
.y91{bottom:87.194000px;}
.y53{bottom:88.135000px;}
.ycf{bottom:88.384000px;}
.y1d6{bottom:89.088000px;}
.ybe{bottom:89.385000px;}
.y1a6{bottom:90.016000px;}
.yb2{bottom:90.183000px;}
.yf7{bottom:90.244000px;}
.y5f{bottom:90.300000px;}
.y4a{bottom:91.483000px;}
.y12d{bottom:91.906000px;}
.y114{bottom:92.349000px;}
.y1b5{bottom:92.868000px;}
.y14d{bottom:93.196000px;}
.y15{bottom:93.307000px;}
.y182{bottom:93.501000px;}
.y1cc{bottom:93.522000px;}
.y171{bottom:96.095000px;}
.yd{bottom:96.320000px;}
.y120{bottom:96.499000px;}
.ya6{bottom:96.818000px;}
.y84{bottom:98.740000px;}
.y9c{bottom:99.439000px;}
.y40{bottom:99.464000px;}
.y2b{bottom:99.516000px;}
.y90{bottom:99.797000px;}
.y15b{bottom:99.942000px;}
.y52{bottom:100.737000px;}
.y18a{bottom:100.873000px;}
.y138{bottom:100.895000px;}
.yce{bottom:100.987000px;}
.yf6{bottom:101.128000px;}
.y16b{bottom:101.819000px;}
.ybd{bottom:101.988000px;}
.y67{bottom:102.006000px;}
.y1be{bottom:102.404000px;}
.y1a5{bottom:102.619000px;}
.yb1{bottom:102.785000px;}
.y106{bottom:103.194000px;}
.y113{bottom:103.233000px;}
.y1e{bottom:104.005000px;}
.y1c4{bottom:104.091000px;}
.y12c{bottom:104.509000px;}
.y6c{bottom:105.031000px;}
.y19a{bottom:105.710000px;}
.y5e{bottom:106.664000px;}
.y78{bottom:106.860000px;}
.y193{bottom:107.764000px;}
.y1df{bottom:108.316000px;}
.y5{bottom:108.519000px;}
.y170{bottom:108.698000px;}
.ya5{bottom:109.420000px;}
.y14{bottom:110.717000px;}
.y34{bottom:111.732000px;}
.yc6{bottom:111.873000px;}
.yf5{bottom:112.012000px;}
.y9b{bottom:112.042000px;}
.ye9{bottom:112.060000px;}
.y3f{bottom:112.067000px;}
.y8f{bottom:112.399000px;}
.y15a{bottom:112.544000px;}
.ydc{bottom:112.714000px;}
.y49{bottom:113.017000px;}
.y51{bottom:113.340000px;}
.ycd{bottom:113.590000px;}
.y105{bottom:114.079000px;}
.y1d5{bottom:114.294000px;}
.ybc{bottom:114.591000px;}
.y66{bottom:114.609000px;}
.y181{bottom:114.721000px;}
.y83{bottom:114.910000px;}
.y1bd{bottom:115.007000px;}
.y1a4{bottom:115.222000px;}
.y141{bottom:115.378000px;}
.yb0{bottom:115.388000px;}
.yc{bottom:115.523000px;}
.y16a{bottom:117.400000px;}
.y1cb{bottom:117.547000px;}
.y11f{bottom:118.267000px;}
.y14c{bottom:118.402000px;}
.y12b{bottom:118.686000px;}
.y1b4{bottom:120.851000px;}
.y1de{bottom:120.919000px;}
.yd5{bottom:121.063000px;}
.y16f{bottom:121.300000px;}
.y176{bottom:122.023000px;}
.yf4{bottom:122.896000px;}
.y189{bottom:123.428000px;}
.y2a{bottom:123.541000px;}
.y77{bottom:123.697000px;}
.y33{bottom:124.335000px;}
.yc5{bottom:124.476000px;}
.ye8{bottom:124.663000px;}
.y104{bottom:124.963000px;}
.y112{bottom:125.001000px;}
.y137{bottom:126.200000px;}
.y1d4{bottom:126.896000px;}
.y65{bottom:127.211000px;}
.y199{bottom:127.244000px;}
.y180{bottom:127.324000px;}
.y6b{bottom:127.428000px;}
.y1bc{bottom:127.609000px;}
.y1c3{bottom:127.612000px;}
.y1a3{bottom:127.824000px;}
.y161{bottom:127.981000px;}
.yaf{bottom:127.991000px;}
.y13{bottom:128.126000px;}
.ydb{bottom:128.295000px;}
.y14b{bottom:131.004000px;}
.y4{bottom:131.507000px;}
.y3e{bottom:131.893000px;}
.y1d{bottom:132.021000px;}
.y50{bottom:132.499000px;}
.y1b3{bottom:133.453000px;}
.y1dd{bottom:133.522000px;}
.y169{bottom:133.764000px;}
.yf3{bottom:133.780000px;}
.y16e{bottom:133.903000px;}
.ya4{bottom:134.626000px;}
.yb{bottom:134.725000px;}
.ybb{bottom:135.742000px;}
.y103{bottom:135.847000px;}
.y111{bottom:135.886000px;}
.y32{bottom:136.938000px;}
.yc4{bottom:137.079000px;}
.y9a{bottom:137.247000px;}
.y8e{bottom:137.605000px;}
.y159{bottom:137.750000px;}
.y26{bottom:138.248000px;}
.y192{bottom:138.400000px;}
.ycc{bottom:138.795000px;}
.y1d3{bottom:139.499000px;}
.y64{bottom:139.814000px;}
.y17f{bottom:139.926000px;}
.y11e{bottom:140.035000px;}
.y82{bottom:140.095000px;}
.y140{bottom:140.583000px;}
.y136{bottom:141.356000px;}
.y5d{bottom:141.791000px;}
.y12a{bottom:143.583000px;}
.y14a{bottom:143.607000px;}
.yda{bottom:143.877000px;}
.y48{bottom:144.514000px;}
.yf2{bottom:144.664000px;}
.y12{bottom:145.536000px;}
.y188{bottom:145.984000px;}
.y1b2{bottom:146.056000px;}
.y1dc{bottom:146.124000px;}
.ya3{bottom:147.228000px;}
.y3d{bottom:147.474000px;}
.y3{bottom:147.547000px;}
.y4f{bottom:148.080000px;}
.y1c{bottom:149.431000px;}
.ye1{bottom:149.540000px;}
.yc3{bottom:149.681000px;}
.y99{bottom:149.850000px;}
.ye7{bottom:149.869000px;}
.y8d{bottom:150.207000px;}
.y158{bottom:150.352000px;}
.ycb{bottom:151.398000px;}
.y1ca{bottom:151.534000px;}
.y29{bottom:151.911000px;}
.y1d2{bottom:152.102000px;}
.y17e{bottom:152.529000px;}
.y6a{bottom:152.633000px;}
.y81{bottom:152.698000px;}
.y1bb{bottom:152.815000px;}
.y1a2{bottom:153.030000px;}
.y13f{bottom:153.186000px;}
.yae{bottom:153.196000px;}
.ya{bottom:153.928000px;}
.yd4{bottom:155.434000px;}
.y198{bottom:155.752000px;}
.y76{bottom:156.175000px;}
.y129{bottom:156.185000px;}
.y149{bottom:156.210000px;}
.y135{bottom:156.511000px;}
.y5c{bottom:157.372000px;}
.y102{bottom:157.615000px;}
.y110{bottom:157.654000px;}
.y1b1{bottom:158.659000px;}
.y1db{bottom:158.727000px;}
.yd9{bottom:159.458000px;}
.ya2{bottom:159.831000px;}
.y191{bottom:160.956000px;}
.y1c2{bottom:161.097000px;}
.y11d{bottom:161.804000px;}
.yf1{bottom:161.969000px;}
.y31{bottom:162.143000px;}
.ye6{bottom:162.471000px;}
.y157{bottom:162.955000px;}
.y1d1{bottom:164.704000px;}
.y63{bottom:165.019000px;}
.y47{bottom:165.077000px;}
.y17d{bottom:165.132000px;}
.y69{bottom:165.236000px;}
.y80{bottom:165.301000px;}
.y1a1{bottom:165.632000px;}
.y13e{bottom:165.789000px;}
.yad{bottom:165.799000px;}
.y1b{bottom:166.840000px;}
.y28{bottom:167.492000px;}
.y168{bottom:167.895000px;}
.y101{bottom:168.499000px;}
.y10f{bottom:168.538000px;}
.y187{bottom:168.539000px;}
.y75{bottom:168.778000px;}
.y148{bottom:168.812000px;}
.yba{bottom:170.489000px;}
.yca{bottom:170.556000px;}
.yc2{bottom:170.832000px;}
.y1b0{bottom:171.261000px;}
.y1da{bottom:171.330000px;}
.y134{bottom:171.667000px;}
.ya1{bottom:172.434000px;}
.y11c{bottom:172.688000px;}
.y5b{bottom:172.954000px;}
.y9{bottom:173.131000px;}
.y1ba{bottom:173.535000px;}
.y1c9{bottom:174.090000px;}
.y30{bottom:174.746000px;}
.yd8{bottom:175.039000px;}
.yd7{bottom:175.040000px;}
.y98{bottom:175.055000px;}
.y8c{bottom:175.413000px;}
.y156{bottom:175.558000px;}
.yf0{bottom:175.717000px;}
.y3c{bottom:175.843000px;}
.y128{bottom:176.011000px;}
.y197{bottom:177.286000px;}
.y11{bottom:177.539000px;}
.y62{bottom:177.622000px;}
.y17c{bottom:177.734000px;}
.y7f{bottom:177.903000px;}
.y1cf{bottom:178.235000px;}
.y13d{bottom:178.391000px;}
.yac{bottom:178.401000px;}
.y100{bottom:179.383000px;}
.y10e{bottom:179.422000px;}
.y46{bottom:180.658000px;}
.y74{bottom:181.380000px;}
.y190{bottom:183.511000px;}
.y11b{bottom:183.572000px;}
.y1c1{bottom:183.652000px;}
.y1af{bottom:183.864000px;}
.y1a{bottom:184.250000px;}
.y167{bottom:184.258000px;}
.y27{bottom:184.462000px;}
.y2{bottom:185.673000px;}
.yb9{bottom:186.070000px;}
.yc9{bottom:186.138000px;}
.ye5{bottom:186.611000px;}
.y2f{bottom:187.348000px;}
.y147{bottom:187.971000px;}
.y8b{bottom:188.015000px;}
.y155{bottom:188.160000px;}
.y5a{bottom:189.318000px;}
.yef{bottom:189.465000px;}
.y1d0{bottom:189.910000px;}
.yff{bottom:190.267000px;}
.y10d{bottom:190.306000px;}
.y17b{bottom:190.337000px;}
.y7e{bottom:190.506000px;}
.yd6{bottom:190.621000px;}
.y1a0{bottom:190.838000px;}
.y13c{bottom:190.994000px;}
.yab{bottom:191.004000px;}
.y186{bottom:191.094000px;}
.y3b{bottom:191.425000px;}
.ya0{bottom:191.592000px;}
.y73{bottom:193.983000px;}
.y11a{bottom:194.456000px;}
.y133{bottom:196.406000px;}
.y1ae{bottom:196.467000px;}
.y1d9{bottom:196.535000px;}
.y97{bottom:196.874000px;}
.y1c8{bottom:198.115000px;}
.y45{bottom:202.193000px;}
.yb8{bottom:202.434000px;}
.y19f{bottom:203.440000px;}
.y1{bottom:206.295000px;}
.y7d{bottom:206.676000px;}
.y2e{bottom:207.174000px;}
.y3a{bottom:207.788000px;}
.y1ad{bottom:209.069000px;}
.y10c{bottom:209.636000px;}
.yfe{bottom:209.675000px;}
.y72{bottom:210.153000px;}
.y119{bottom:211.871000px;}
.y132{bottom:212.770000px;}
.y154{bottom:213.366000px;}
.y19e{bottom:216.043000px;}
.y8{bottom:236.149000px;}
.yfd{bottom:240.488000px;}
.ha{height:19.359269px;}
.h11{height:22.093117px;}
.h10{height:22.124998px;}
.h9{height:23.910300px;}
.hf{height:24.890726px;}
.hd{height:25.285248px;}
.hc{height:26.899200px;}
.hb{height:27.576477px;}
.h6{height:29.887800px;}
.he{height:32.727300px;}
.h12{height:33.091994px;}
.h5{height:33.187635px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:255.118000px;}
.h1{height:255.500000px;}
.w0{width:453.543000px;}
.w1{width:454.000000px;}
.x0{left:0.000000px;}
.x5{left:10.667000px;}
.x1{left:28.346000px;}
.xe{left:31.983000px;}
.x6{left:34.488000px;}
.xf{left:36.225000px;}
.x16{left:37.795000px;}
.x17{left:40.784000px;}
.x1e{left:45.457000px;}
.x13{left:48.272000px;}
.x3{left:49.946000px;}
.x11{left:53.153000px;}
.x2{left:57.697000px;}
.x12{left:71.983000px;}
.xd{left:106.772000px;}
.x9{left:113.749000px;}
.x1d{left:116.067000px;}
.x8{left:155.647000px;}
.xb{left:164.083000px;}
.xa{left:181.587000px;}
.x1c{left:192.638000px;}
.xc{left:195.846000px;}
.x1b{left:218.835000px;}
.x18{left:245.669000px;}
.x19{left:248.658000px;}
.x1a{left:265.595000px;}
.x1f{left:266.702000px;}
.x14{left:274.286000px;}
.x4{left:378.705000px;}
.x15{left:418.767000px;}
.x10{left:424.403000px;}
.x7{left:428.637000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._34{margin-left:-13.190445pt;}
._f{margin-left:-11.001764pt;}
._3{margin-left:-7.383400pt;}
._7{margin-left:-5.126375pt;}
._5{margin-left:-2.424400pt;}
._d{width:1.487748pt;}
._0{width:4.098134pt;}
._2a{width:7.396253pt;}
._37{width:14.902839pt;}
._c{width:16.479350pt;}
._b{width:18.409842pt;}
._e{width:20.084320pt;}
._8{width:21.488959pt;}
._1d{width:23.106996pt;}
._9{width:24.572021pt;}
._11{width:26.171584pt;}
._6{width:28.921939pt;}
._15{width:30.439519pt;}
._29{width:32.953616pt;}
._18{width:35.440494pt;}
._1a{width:37.275560pt;}
._26{width:39.624074pt;}
._4{width:41.655600pt;}
._a{width:43.224373pt;}
._25{width:45.028811pt;}
._1{width:48.384419pt;}
._1f{width:50.745099pt;}
._2{width:54.549000pt;}
._12{width:75.320320pt;}
._2c{width:91.410176pt;}
._22{width:100.422400pt;}
._13{width:125.525760pt;}
._2d{width:136.570100pt;}
._20{width:150.634880pt;}
._36{width:157.819330pt;}
._2f{width:159.156776pt;}
._14{width:175.740587pt;}
._1c{width:200.846080pt;}
._17{width:225.946453pt;}
._32{width:251.059840pt;}
._3b{width:276.695819pt;}
._2e{width:294.122473pt;}
._28{width:301.804939pt;}
._2b{width:316.127246pt;}
._27{width:326.910859pt;}
._1b{width:426.798080pt;}
._16{width:451.899733pt;}
._39{width:453.711041pt;}
._38{width:456.730756pt;}
._23{width:527.224747pt;}
._3d{width:944.346874pt;}
._3a{width:947.482467pt;}
._33{width:973.173004pt;}
._3c{width:1003.171369pt;}
._21{width:1080.636818pt;}
._1e{width:1107.480227pt;}
._31{width:1406.775227pt;}
._24{width:1479.964703pt;}
._10{width:1628.677272pt;}
._30{width:1733.294142pt;}
._35{width:1842.275469pt;}
._19{width:1903.459123pt;}
.fs6{font-size:37.193600pt;}
.fs5{font-size:42.507200pt;}
.fs7{font-size:47.820800pt;}
.fs4{font-size:53.133867pt;}
.fs8{font-size:58.181867pt;}
.fs3{font-size:63.761067pt;}
.fs2{font-size:76.513067pt;}
.fs1{font-size:110.200000pt;}
.fs0{font-size:132.197867pt;}
.y17a{bottom:-10.106667pt;}
.y0{bottom:-0.666667pt;}
.y153{bottom:6.637333pt;}
.y160{bottom:8.824000pt;}
.y71{bottom:10.361333pt;}
.y19d{bottom:10.765333pt;}
.y179{bottom:11.465333pt;}
.y127{bottom:12.568000pt;}
.yb7{bottom:13.430667pt;}
.y18f{bottom:14.201333pt;}
.y18e{bottom:14.202667pt;}
.y96{bottom:15.437333pt;}
.y59{bottom:16.692000pt;}
.y10{bottom:17.357333pt;}
.y8a{bottom:17.581333pt;}
.yfc{bottom:18.740000pt;}
.y131{bottom:19.144000pt;}
.y1ac{bottom:19.200000pt;}
.y175{bottom:26.069333pt;}
.y185{bottom:26.861333pt;}
.y126{bottom:27.080000pt;}
.y39{bottom:28.150667pt;}
.y178{bottom:28.269333pt;}
.yb6{bottom:30.234667pt;}
.ye0{bottom:30.534667pt;}
.y70{bottom:31.137333pt;}
.ye4{bottom:31.350667pt;}
.y13b{bottom:31.481333pt;}
.yee{bottom:31.789333pt;}
.y4e{bottom:32.234667pt;}
.y95{bottom:32.241333pt;}
.y15f{bottom:32.434667pt;}
.yfb{bottom:33.252000pt;}
.y58{bottom:33.494667pt;}
.y146{bottom:33.688000pt;}
.yd3{bottom:33.828000pt;}
.y89{bottom:34.385333pt;}
.y166{bottom:35.573333pt;}
.y1ab{bottom:36.004000pt;}
.y10b{bottom:36.008000pt;}
.y118{bottom:36.058667pt;}
.y130{bottom:38.936000pt;}
.y1b9{bottom:39.806667pt;}
.y25{bottom:39.876000pt;}
.y152{bottom:40.244000pt;}
.y125{bottom:41.592000pt;}
.y18d{bottom:44.276000pt;}
.yaa{bottom:45.072000pt;}
.y7{bottom:45.925333pt;}
.yb5{bottom:47.037333pt;}
.y1c7{bottom:48.566667pt;}
.yed{bottom:48.592000pt;}
.y44{bottom:48.601333pt;}
.y38{bottom:48.925333pt;}
.y94{bottom:49.044000pt;}
.y15e{bottom:49.237333pt;}
.y184{bottom:49.310667pt;}
.y57{bottom:50.298667pt;}
.y145{bottom:50.492000pt;}
.y10a{bottom:50.520000pt;}
.y117{bottom:50.570667pt;}
.yd2{bottom:50.632000pt;}
.ydf{bottom:51.309333pt;}
.y196{bottom:51.986667pt;}
.y165{bottom:52.376000pt;}
.yc1{bottom:52.392000pt;}
.y1aa{bottom:52.808000pt;}
.y4d{bottom:53.009333pt;}
.y124{bottom:56.104000pt;}
.y1b8{bottom:56.610667pt;}
.y24{bottom:56.678667pt;}
.y151{bottom:57.048000pt;}
.y7c{bottom:58.462667pt;}
.y9f{bottom:59.168000pt;}
.y6f{bottom:59.185333pt;}
.y174{bottom:60.912000pt;}
.ya9{bottom:61.876000pt;}
.yfa{bottom:62.276000pt;}
.y1c0{bottom:62.601333pt;}
.yb4{bottom:63.841333pt;}
.y88{bottom:64.438667pt;}
.y1ce{bottom:64.548000pt;}
.ye3{bottom:64.958667pt;}
.y109{bottom:65.032000pt;}
.y116{bottom:65.084000pt;}
.y13a{bottom:65.088000pt;}
.yec{bottom:65.396000pt;}
.y43{bottom:65.405333pt;}
.y93{bottom:65.848000pt;}
.y56{bottom:67.102667pt;}
.y144{bottom:67.296000pt;}
.yd1{bottom:67.434667pt;}
.y6{bottom:68.158667pt;}
.y21{bottom:69.034667pt;}
.y164{bottom:69.180000pt;}
.y1a9{bottom:69.610667pt;}
.y37{bottom:69.701333pt;}
.yde{bottom:72.085333pt;}
.y12f{bottom:72.130667pt;}
.yc0{bottom:73.166667pt;}
.y23{bottom:73.482667pt;}
.y150{bottom:73.850667pt;}
.y18c{bottom:74.349333pt;}
.y7b{bottom:75.265333pt;}
.yf9{bottom:76.788000pt;}
.y1e2{bottom:77.208000pt;}
.yf{bottom:77.218667pt;}
.y173{bottom:77.716000pt;}
.y18{bottom:77.982667pt;}
.y1c6{bottom:78.640000pt;}
.y177{bottom:78.680000pt;}
.y61{bottom:78.849333pt;}
.y108{bottom:79.544000pt;}
.y115{bottom:79.596000pt;}
.y9e{bottom:79.944000pt;}
.y6e{bottom:79.960000pt;}
.y4c{bottom:80.426667pt;}
.y16d{bottom:80.793333pt;}
.y19c{bottom:80.798667pt;}
.y87{bottom:81.242667pt;}
.ye2{bottom:81.761333pt;}
.y195{bottom:82.060000pt;}
.y19{bottom:82.804000pt;}
.y15d{bottom:82.845333pt;}
.y2d{bottom:83.168000pt;}
.y55{bottom:83.905333pt;}
.y143{bottom:84.098667pt;}
.y123{bottom:85.128000pt;}
.y1d8{bottom:85.177333pt;}
.yb3{bottom:85.401333pt;}
.y163{bottom:85.984000pt;}
.y1a8{bottom:86.414667pt;}
.y1bf{bottom:87.156000pt;}
.y12e{bottom:88.934667pt;}
.y1b7{bottom:90.217333pt;}
.y22{bottom:90.286667pt;}
.y14f{bottom:90.654667pt;}
.y7a{bottom:92.069333pt;}
.y20{bottom:92.248000pt;}
.yc8{bottom:92.550667pt;}
.ydd{bottom:92.860000pt;}
.y1e1{bottom:94.010667pt;}
.y172{bottom:94.520000pt;}
.y1cd{bottom:94.622667pt;}
.ya8{bottom:95.482667pt;}
.y183{bottom:97.186667pt;}
.y86{bottom:98.046667pt;}
.y36{bottom:98.565333pt;}
.yeb{bottom:99.002667pt;}
.y42{bottom:99.012000pt;}
.y92{bottom:99.454667pt;}
.y60{bottom:99.625333pt;}
.y122{bottom:99.641333pt;}
.y15c{bottom:99.648000pt;}
.y54{bottom:100.709333pt;}
.y139{bottom:100.918667pt;}
.yd0{bottom:101.042667pt;}
.y16{bottom:101.196000pt;}
.y4b{bottom:101.202667pt;}
.y16c{bottom:101.569333pt;}
.y1d7{bottom:101.981333pt;}
.ybf{bottom:102.377333pt;}
.y68{bottom:102.401333pt;}
.ye{bottom:102.822667pt;}
.y1a7{bottom:103.218667pt;}
.y18b{bottom:104.424000pt;}
.yf8{bottom:105.812000pt;}
.y17{bottom:106.016000pt;}
.y1b6{bottom:107.021333pt;}
.y14e{bottom:107.458667pt;}
.y2c{bottom:107.928000pt;}
.y107{bottom:108.568000pt;}
.y1c5{bottom:108.713333pt;}
.y79{bottom:108.873333pt;}
.y142{bottom:110.533333pt;}
.y1e0{bottom:110.814667pt;}
.y19b{bottom:110.872000pt;}
.y162{bottom:111.528000pt;}
.y6d{bottom:111.993333pt;}
.y194{bottom:112.134667pt;}
.ya7{bottom:112.286667pt;}
.yc7{bottom:113.325333pt;}
.y121{bottom:114.153333pt;}
.y85{bottom:114.849333pt;}
.y35{bottom:115.369333pt;}
.y1f{bottom:115.461333pt;}
.y9d{bottom:115.782667pt;}
.yea{bottom:115.806667pt;}
.y41{bottom:115.816000pt;}
.y91{bottom:116.258667pt;}
.y53{bottom:117.513333pt;}
.ycf{bottom:117.845333pt;}
.y1d6{bottom:118.784000pt;}
.ybe{bottom:119.180000pt;}
.y1a6{bottom:120.021333pt;}
.yb2{bottom:120.244000pt;}
.yf7{bottom:120.325333pt;}
.y5f{bottom:120.400000pt;}
.y4a{bottom:121.977333pt;}
.y12d{bottom:122.541333pt;}
.y114{bottom:123.132000pt;}
.y1b5{bottom:123.824000pt;}
.y14d{bottom:124.261333pt;}
.y15{bottom:124.409333pt;}
.y182{bottom:124.668000pt;}
.y1cc{bottom:124.696000pt;}
.y171{bottom:128.126667pt;}
.yd{bottom:128.426667pt;}
.y120{bottom:128.665333pt;}
.ya6{bottom:129.090667pt;}
.y84{bottom:131.653333pt;}
.y9c{bottom:132.585333pt;}
.y40{bottom:132.618667pt;}
.y2b{bottom:132.688000pt;}
.y90{bottom:133.062667pt;}
.y15b{bottom:133.256000pt;}
.y52{bottom:134.316000pt;}
.y18a{bottom:134.497333pt;}
.y138{bottom:134.526667pt;}
.yce{bottom:134.649333pt;}
.yf6{bottom:134.837333pt;}
.y16b{bottom:135.758667pt;}
.ybd{bottom:135.984000pt;}
.y67{bottom:136.008000pt;}
.y1be{bottom:136.538667pt;}
.y1a5{bottom:136.825333pt;}
.yb1{bottom:137.046667pt;}
.y106{bottom:137.592000pt;}
.y113{bottom:137.644000pt;}
.y1e{bottom:138.673333pt;}
.y1c4{bottom:138.788000pt;}
.y12c{bottom:139.345333pt;}
.y6c{bottom:140.041333pt;}
.y19a{bottom:140.946667pt;}
.y5e{bottom:142.218667pt;}
.y78{bottom:142.480000pt;}
.y193{bottom:143.685333pt;}
.y1df{bottom:144.421333pt;}
.y5{bottom:144.692000pt;}
.y170{bottom:144.930667pt;}
.ya5{bottom:145.893333pt;}
.y14{bottom:147.622667pt;}
.y34{bottom:148.976000pt;}
.yc6{bottom:149.164000pt;}
.yf5{bottom:149.349333pt;}
.y9b{bottom:149.389333pt;}
.ye9{bottom:149.413333pt;}
.y3f{bottom:149.422667pt;}
.y8f{bottom:149.865333pt;}
.y15a{bottom:150.058667pt;}
.ydc{bottom:150.285333pt;}
.y49{bottom:150.689333pt;}
.y51{bottom:151.120000pt;}
.ycd{bottom:151.453333pt;}
.y105{bottom:152.105333pt;}
.y1d5{bottom:152.392000pt;}
.ybc{bottom:152.788000pt;}
.y66{bottom:152.812000pt;}
.y181{bottom:152.961333pt;}
.y83{bottom:153.213333pt;}
.y1bd{bottom:153.342667pt;}
.y1a4{bottom:153.629333pt;}
.y141{bottom:153.837333pt;}
.yb0{bottom:153.850667pt;}
.yc{bottom:154.030667pt;}
.y16a{bottom:156.533333pt;}
.y1cb{bottom:156.729333pt;}
.y11f{bottom:157.689333pt;}
.y14c{bottom:157.869333pt;}
.y12b{bottom:158.248000pt;}
.y1b4{bottom:161.134667pt;}
.y1de{bottom:161.225333pt;}
.yd5{bottom:161.417333pt;}
.y16f{bottom:161.733333pt;}
.y176{bottom:162.697333pt;}
.yf4{bottom:163.861333pt;}
.y189{bottom:164.570667pt;}
.y2a{bottom:164.721333pt;}
.y77{bottom:164.929333pt;}
.y33{bottom:165.780000pt;}
.yc5{bottom:165.968000pt;}
.ye8{bottom:166.217333pt;}
.y104{bottom:166.617333pt;}
.y112{bottom:166.668000pt;}
.y137{bottom:168.266667pt;}
.y1d4{bottom:169.194667pt;}
.y65{bottom:169.614667pt;}
.y199{bottom:169.658667pt;}
.y180{bottom:169.765333pt;}
.y6b{bottom:169.904000pt;}
.y1bc{bottom:170.145333pt;}
.y1c3{bottom:170.149333pt;}
.y1a3{bottom:170.432000pt;}
.y161{bottom:170.641333pt;}
.yaf{bottom:170.654667pt;}
.y13{bottom:170.834667pt;}
.ydb{bottom:171.060000pt;}
.y14b{bottom:174.672000pt;}
.y4{bottom:175.342667pt;}
.y3e{bottom:175.857333pt;}
.y1d{bottom:176.028000pt;}
.y50{bottom:176.665333pt;}
.y1b3{bottom:177.937333pt;}
.y1dd{bottom:178.029333pt;}
.y169{bottom:178.352000pt;}
.yf3{bottom:178.373333pt;}
.y16e{bottom:178.537333pt;}
.ya4{bottom:179.501333pt;}
.yb{bottom:179.633333pt;}
.ybb{bottom:180.989333pt;}
.y103{bottom:181.129333pt;}
.y111{bottom:181.181333pt;}
.y32{bottom:182.584000pt;}
.yc4{bottom:182.772000pt;}
.y9a{bottom:182.996000pt;}
.y8e{bottom:183.473333pt;}
.y159{bottom:183.666667pt;}
.y26{bottom:184.330667pt;}
.y192{bottom:184.533333pt;}
.ycc{bottom:185.060000pt;}
.y1d3{bottom:185.998667pt;}
.y64{bottom:186.418667pt;}
.y17f{bottom:186.568000pt;}
.y11e{bottom:186.713333pt;}
.y82{bottom:186.793333pt;}
.y140{bottom:187.444000pt;}
.y136{bottom:188.474667pt;}
.y5d{bottom:189.054667pt;}
.y12a{bottom:191.444000pt;}
.y14a{bottom:191.476000pt;}
.yda{bottom:191.836000pt;}
.y48{bottom:192.685333pt;}
.yf2{bottom:192.885333pt;}
.y12{bottom:194.048000pt;}
.y188{bottom:194.645333pt;}
.y1b2{bottom:194.741333pt;}
.y1dc{bottom:194.832000pt;}
.ya3{bottom:196.304000pt;}
.y3d{bottom:196.632000pt;}
.y3{bottom:196.729333pt;}
.y4f{bottom:197.440000pt;}
.y1c{bottom:199.241333pt;}
.ye1{bottom:199.386667pt;}
.yc3{bottom:199.574667pt;}
.y99{bottom:199.800000pt;}
.ye7{bottom:199.825333pt;}
.y8d{bottom:200.276000pt;}
.y158{bottom:200.469333pt;}
.ycb{bottom:201.864000pt;}
.y1ca{bottom:202.045333pt;}
.y29{bottom:202.548000pt;}
.y1d2{bottom:202.802667pt;}
.y17e{bottom:203.372000pt;}
.y6a{bottom:203.510667pt;}
.y81{bottom:203.597333pt;}
.y1bb{bottom:203.753333pt;}
.y1a2{bottom:204.040000pt;}
.y13f{bottom:204.248000pt;}
.yae{bottom:204.261333pt;}
.ya{bottom:205.237333pt;}
.yd4{bottom:207.245333pt;}
.y198{bottom:207.669333pt;}
.y76{bottom:208.233333pt;}
.y129{bottom:208.246667pt;}
.y149{bottom:208.280000pt;}
.y135{bottom:208.681333pt;}
.y5c{bottom:209.829333pt;}
.y102{bottom:210.153333pt;}
.y110{bottom:210.205333pt;}
.y1b1{bottom:211.545333pt;}
.y1db{bottom:211.636000pt;}
.yd9{bottom:212.610667pt;}
.ya2{bottom:213.108000pt;}
.y191{bottom:214.608000pt;}
.y1c2{bottom:214.796000pt;}
.y11d{bottom:215.738667pt;}
.yf1{bottom:215.958667pt;}
.y31{bottom:216.190667pt;}
.ye6{bottom:216.628000pt;}
.y157{bottom:217.273333pt;}
.y1d1{bottom:219.605333pt;}
.y63{bottom:220.025333pt;}
.y47{bottom:220.102667pt;}
.y17d{bottom:220.176000pt;}
.y69{bottom:220.314667pt;}
.y80{bottom:220.401333pt;}
.y1a1{bottom:220.842667pt;}
.y13e{bottom:221.052000pt;}
.yad{bottom:221.065333pt;}
.y1b{bottom:222.453333pt;}
.y28{bottom:223.322667pt;}
.y168{bottom:223.860000pt;}
.y101{bottom:224.665333pt;}
.y10f{bottom:224.717333pt;}
.y187{bottom:224.718667pt;}
.y75{bottom:225.037333pt;}
.y148{bottom:225.082667pt;}
.yba{bottom:227.318667pt;}
.yca{bottom:227.408000pt;}
.yc2{bottom:227.776000pt;}
.y1b0{bottom:228.348000pt;}
.y1da{bottom:228.440000pt;}
.y134{bottom:228.889333pt;}
.ya1{bottom:229.912000pt;}
.y11c{bottom:230.250667pt;}
.y5b{bottom:230.605333pt;}
.y9{bottom:230.841333pt;}
.y1ba{bottom:231.380000pt;}
.y1c9{bottom:232.120000pt;}
.y30{bottom:232.994667pt;}
.yd8{bottom:233.385333pt;}
.yd7{bottom:233.386667pt;}
.y98{bottom:233.406667pt;}
.y8c{bottom:233.884000pt;}
.y156{bottom:234.077333pt;}
.yf0{bottom:234.289333pt;}
.y3c{bottom:234.457333pt;}
.y128{bottom:234.681333pt;}
.y197{bottom:236.381333pt;}
.y11{bottom:236.718667pt;}
.y62{bottom:236.829333pt;}
.y17c{bottom:236.978667pt;}
.y7f{bottom:237.204000pt;}
.y1cf{bottom:237.646667pt;}
.y13d{bottom:237.854667pt;}
.yac{bottom:237.868000pt;}
.y100{bottom:239.177333pt;}
.y10e{bottom:239.229333pt;}
.y46{bottom:240.877333pt;}
.y74{bottom:241.840000pt;}
.y190{bottom:244.681333pt;}
.y11b{bottom:244.762667pt;}
.y1c1{bottom:244.869333pt;}
.y1af{bottom:245.152000pt;}
.y1a{bottom:245.666667pt;}
.y167{bottom:245.677333pt;}
.y27{bottom:245.949333pt;}
.y2{bottom:247.564000pt;}
.yb9{bottom:248.093333pt;}
.yc9{bottom:248.184000pt;}
.ye5{bottom:248.814667pt;}
.y2f{bottom:249.797333pt;}
.y147{bottom:250.628000pt;}
.y8b{bottom:250.686667pt;}
.y155{bottom:250.880000pt;}
.y5a{bottom:252.424000pt;}
.yef{bottom:252.620000pt;}
.y1d0{bottom:253.213333pt;}
.yff{bottom:253.689333pt;}
.y10d{bottom:253.741333pt;}
.y17b{bottom:253.782667pt;}
.y7e{bottom:254.008000pt;}
.yd6{bottom:254.161333pt;}
.y1a0{bottom:254.450667pt;}
.y13c{bottom:254.658667pt;}
.yab{bottom:254.672000pt;}
.y186{bottom:254.792000pt;}
.y3b{bottom:255.233333pt;}
.ya0{bottom:255.456000pt;}
.y73{bottom:258.644000pt;}
.y11a{bottom:259.274667pt;}
.y133{bottom:261.874667pt;}
.y1ae{bottom:261.956000pt;}
.y1d9{bottom:262.046667pt;}
.y97{bottom:262.498667pt;}
.y1c8{bottom:264.153333pt;}
.y45{bottom:269.590667pt;}
.yb8{bottom:269.912000pt;}
.y19f{bottom:271.253333pt;}
.y1{bottom:275.060000pt;}
.y7d{bottom:275.568000pt;}
.y2e{bottom:276.232000pt;}
.y3a{bottom:277.050667pt;}
.y1ad{bottom:278.758667pt;}
.y10c{bottom:279.514667pt;}
.yfe{bottom:279.566667pt;}
.y72{bottom:280.204000pt;}
.y119{bottom:282.494667pt;}
.y132{bottom:283.693333pt;}
.y154{bottom:284.488000pt;}
.y19e{bottom:288.057333pt;}
.y8{bottom:314.865333pt;}
.yfd{bottom:320.650667pt;}
.ha{height:25.812358pt;}
.h11{height:29.457490pt;}
.h10{height:29.499997pt;}
.h9{height:31.880400pt;}
.hf{height:33.187635pt;}
.hd{height:33.713664pt;}
.hc{height:35.865600pt;}
.hb{height:36.768636pt;}
.h6{height:39.850400pt;}
.he{height:43.636400pt;}
.h12{height:44.122658pt;}
.h5{height:44.250180pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.h3{height:77.691000pt;}
.h2{height:99.148400pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x5{left:14.222667pt;}
.x1{left:37.794667pt;}
.xe{left:42.644000pt;}
.x6{left:45.984000pt;}
.xf{left:48.300000pt;}
.x16{left:50.393333pt;}
.x17{left:54.378667pt;}
.x1e{left:60.609333pt;}
.x13{left:64.362667pt;}
.x3{left:66.594667pt;}
.x11{left:70.870667pt;}
.x2{left:76.929333pt;}
.x12{left:95.977333pt;}
.xd{left:142.362667pt;}
.x9{left:151.665333pt;}
.x1d{left:154.756000pt;}
.x8{left:207.529333pt;}
.xb{left:218.777333pt;}
.xa{left:242.116000pt;}
.x1c{left:256.850667pt;}
.xc{left:261.128000pt;}
.x1b{left:291.780000pt;}
.x18{left:327.558667pt;}
.x19{left:331.544000pt;}
.x1a{left:354.126667pt;}
.x1f{left:355.602667pt;}
.x14{left:365.714667pt;}
.x4{left:504.940000pt;}
.x15{left:558.356000pt;}
.x10{left:565.870667pt;}
.x7{left:571.516000pt;}
}
</style>
<script>
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();
</script>
<script>
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();
</script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
<ul><li><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",28.346,255.118,null]'>Function Template</a><ul><li><a class="l" href="#pf7" data-dest-detail='[7,"XYZ",28.346,201.894,null]'>Overview</a></li><li><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",28.346,228.21,null]'>Template Instantiation</a></li><li><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",28.346,228.21,null]'>Template Parameters</a></li><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,228.21,null]'>Template Parameters - Default Value</a></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,228.21,null]'>Overloading</a></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,219.867,null]'>Specialization</a></li></ul></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,255.118,null]'>Template Variable</a></li><li><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",28.346,255.118,null]'>Template Parameter Types</a><ul><li><a class="l" href="#pf1b" data-dest-detail='[27,"XYZ",28.346,228.21,null]'>Generic Type Notes</a></li><li><a class="l" href="#pf1c" data-dest-detail='[28,"XYZ",28.346,228.21,null]'>auto Placeholder</a></li><li><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",28.346,228.21,null]'>Class Template Parameter Type</a></li><li><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",28.346,228.21,null]'>Array and Pointer Types </a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,228.21,null]'>Function Type </a></li></ul></li><li><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",28.346,255.118,null]'>Compile-Time Utilities</a><ul><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>static_assert</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,228.21,null]'>using Keyword</a></li><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,228.21,null]'>decltype Keyword</a></li></ul></li><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,255.118,null]'>Type Traits</a><ul><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,201.691,null]'>Overview</a></li><li><a class="l" href="#pf2c" data-dest-detail='[44,"XYZ",28.346,228.21,null]'>Type Traits Library</a></li><li><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",28.346,228.21,null]'>Type Manipulation</a></li></ul></li></ul></div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Mo<span class="_ _0"></span>dern<span class="_ _1"> </span>C++</div><div class="t m0 x1 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><div class="t m0 x1 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">9.<span class="_ _2"> </span>Templa<span class="_ _3"></span>tes<span class="_ _4"> </span>and</div><div class="t m0 x2 h3 y4 ff2 fs1 fc0 sc0 ls0 ws0">Met<span class="_ _3"></span>a-pr<span class="_ _5"></span>ogramming<span class="_ _4"> </span>I</div><div class="t m0 x3 h4 y5 ff2 fs2 fc0 sc0 ls0 ws0">Function<span class="_ _6"> </span>Templa<span class="_ _7"></span>tes<span class="_ _6"> </span>and<span class="_ _6"> </span>Compile-Time<span class="_ _6"> </span>Utilities</div><div class="t m0 x1 h5 y6 ff3 fs3 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>ederico<span class="_ _8"> </span>Busato</div><div class="t m0 x4 h6 y7 ff4 fs4 fc0 sc0 ls0 ws0">2024-03-29</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x6 h8 y9 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _a"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>T<span class="_ _3"></span>emplate</span></div><div class="t m0 x3 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">Overview</div><div class="t m0 x3 h6 yb ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _b"> </span>Instantiation</div><div class="t m0 x3 h6 yc ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _b"> </span>P<span class="_ _5"></span>arameters</div><div class="t m0 x3 h6 yd ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _b"> </span>P<span class="_ _5"></span>arameters<span class="_ _b"> </span>-<span class="_ _c"> </span>Default<span class="_ _c"> </span>Value</div><div class="t m0 x3 h6 ye ff4 fs4 fc0 sc0 ls0 ws0">Overloading</div><div class="t m0 x3 h6 yf ff4 fs4 fc0 sc0 ls0 ws0">Sp<span class="_ _d"></span>ecialization</div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">1/48</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:169.346000px;width:125.448000px;height:14.744000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf7" data-dest-detail='[7,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:152.932000px;width:39.960000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:131.792000px;width:96.084000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:112.589000px;width:90.328000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:93.386000px;width:157.299000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:74.183000px;width:51.556000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:54.980000px;width:58.959000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x6 h8 y11 ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _a"> </span><span class="fs2 fc0">T<span class="_ _3"></span>emplate<span class="_ _6"> </span>V<span class="_ _5"></span>a<span class="_ _5"></span>riable</span></div><div class="t m0 x6 h8 y12 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _a"> </span><span class="fs2 fc0">T<span class="_ _3"></span>emplate<span class="_ _6"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _6"> </span>T<span class="_ _3"></span>yp<span class="_ _d"></span>es</span></div><div class="t m0 x3 h6 y13 ff4 fs4 fc0 sc0 ls0 ws0">Generic<span class="_ _c"> </span>T<span class="_ _5"></span>ype<span class="_ _b"> </span>Notes</div><div class="t m0 x3 h6 y14 ff6 fs4 fc0 sc0 ls0 ws0">auto<span class="_ _c"> </span><span class="ff4">Placeholder</span></div><div class="t m0 x3 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Class<span class="_ _c"> </span>T<span class="_ _5"></span>emplate<span class="_ _c"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _c"> </span>T<span class="_ _5"></span>ype</div><div class="t m0 x3 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Arra<span class="_ _5"></span>y<span class="_ _b"> </span>and<span class="_ _b"> </span>P<span class="_ _5"></span>ointer<span class="_ _b"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>es</div><div class="t m0 x8 ha y17 ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x3 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _b"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e</div><div class="t m0 x9 ha y19 ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">2/48</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:173.753000px;width:121.363000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:141.750000px;width:179.956000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1b" data-dest-detail='[27,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:125.193000px;width:83.769000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1c" data-dest-detail='[28,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:109.720000px;width:74.111000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:90.373000px;width:134.717000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:72.964000px;width:114.501000px;height:12.349000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:55.554000px;width:72.602000px;height:12.349000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x6 h8 y1a ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _a"> </span><span class="fs2 fc0">Compile-Time<span class="_ _6"> </span>Utilities</span></div><div class="t m0 x3 hb y1b ff6 fs4 fc0 sc0 ls0 ws0">static<span class="_ _e"> </span>assert</div><div class="t m0 x3 h6 y1c ff6 fs4 fc0 sc0 ls0 ws0">using<span class="_ _c"> </span><span class="ff4">Keywo<span class="_ _5"></span>rd</span></div><div class="t m0 x3 h6 y1d ff6 fs4 fc0 sc0 ls0 ws0">decltype<span class="_ _c"> </span><span class="ff4">Keywo<span class="_ _5"></span>rd</span></div><div class="t m0 x6 h8 y1e ff1 fs4 fc2 sc0 ls0 ws0">5<span class="_ _a"> </span><span class="fs2 fc0">T<span class="_ _3"></span>yp<span class="_ _d"></span>e<span class="_ _6"> </span>T<span class="_ _3"></span>raits</span></div><div class="t m0 x3 h6 y1f ff4 fs4 fc0 sc0 ls0 ws0">Overview</div><div class="t m0 x3 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _b"> </span>T<span class="_ _7"></span>raits<span class="_ _b"> </span>Lib<span class="_ _5"></span>rary</div><div class="t m0 x3 h6 y21 ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _b"> </span>Manipulation</div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">3/48</div><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:180.464000px;width:150.188000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:165.844000px;width:68.523000px;height:8.170000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:146.277000px;width:67.192000px;height:11.068000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:128.867000px;width:82.883000px;height:11.069000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:100.220000px;width:77.042000px;height:14.744000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:85.600000px;width:39.960000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2c" data-dest-detail='[44,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:66.253000px;width:81.527000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:48.843000px;width:80.310000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAgAElEQVR42uzde7BkWXUe+PWttc85mXkf9eiubuimG7ppCbpBQkI0DwtQIyw0I0AWGpCwFANCQsgQjB0jM7Y0kizHWCg8ozFYj7AtT4RDGs849BpLHqORCIENGs2ABvF+WAQPdQMN/arXvTcf55y915o/TmZW1q1qqIbqpsDfLzpuZebNx8mTt7q+u/bea+Pxz/h2ISIiIiK6Ynzy3X+mPAtEREREdKVhSCUiIiIihlQiIiIiIoZUIiIiImJIJSIiIiJiSCUiIiIihlQiIiIiIoZUIiIiImJIJSIiIiJiSCUiIiIiYkglIiIiIoZUIiIiIiKGVCIiIiJiSCUiIiIiYkglIiIiIoZUIiIiIiKGVCIiIiJiSCUiIiIiYkglIiIiImJIJSIiIiKGVCIiIiIihlQiIiIiYkglIiIiImJIJSIiIiKGVCIiIiIihlQiIiIiIoZUIiIiImJIJSIiIiJiSCUiIiIihlQiIiIiIoZUIiIiImJIJSIiIiJiSCUiIiIihlQiIiIiIoZUIiIiIiKGVCIiIiJiSCUiIiIiYkglIiIiIoZUIiIiIiKGVCIiIiJiSCUiIiIiYkglIiIiImJIJSIiIiKGVCIiIiIihlQiIiIiYkglIiIiImJIJSIiIiKGVCIiIiIihlQiIiIiYkglIiIiImJIJSIiIiJiSCUiIiIihlQiIiIiIoZUIiIiImJIJSIiIiJiSCUiIiIihlQiIiIiIoZUIiIiIqI1dF3Hs0BEREREV46qqlhJJSIiIqIrDkMqERERETGkEhERERExpBIRERERQyoREREREUMqERERETGkEhERERExpBIRERERQyoREREREUMqERERERFDKhERERExpBIRERERMaQSEREREUMqERERERFDKhERERExpBIRERERMaQSEREREUMqERERERFDKhERERERQyoRERERMaQSERERETGkEhERERFDKhERERERQyoRERERMaQSERERETGkEhERERExpBIRERERQyoREREREUMqERERETGkEhERERExpBIRERERQyoREREREUMqERERETGkEhERERExpBIRERERMaQSEREREUMqERERERFDKhERERExpBIRERERMaQSEREREUMqERERERFDKhERERERQyoRERERMaQSERERETGkEhERERFDKhERERERQyoRERERMaQSERERETGkEhERERFDKhERERERQyoREREREUMqERERETGkEhERERExpBIRERERQyoREREREUMqERERETGkEhERERExpBIRERERMaQSEREREUMqERERERFDKhERERExpBIRERERMaQSEREREUMqERERERFDKhERERExpBIRERERMaQSERERETGkEhERERFDKhERERERQyoRERERMaQSERERETGkEhERERFDKhERERERQyoRERER0VLiKSCiy+V3f/e3P/CBD7h7BDZ+E/bL+yqIw7cE5NwLPsTHDg8/fDcRict5zJd4eA92hI+Aix7hxQ4mVl+x+ioSBpWbbrrxNa/5W/xbQEQMqUR0xXn/+9//pje9WQQRETEkGFz2kPog4e5wcHrQqxd97KH7x8NzhA92VPJwvu5DPYGHjupSHgoD5MXf+0KGVCJiSCWiK1FEAFA1dwc0QgBEFADr764vHLr6YLdfeDeXL//hiAtul5AL7x8iD/GovsTtF32VC+4mEZDLea4u/XbRi9xN/KIPRyzfzbL6apa6bhEe/CtARAypRHRFhlTRUlzV1BKWZdR1Ue7yvQpENp4Uq/8uxSUO90tc5oO+2Essg96lHOEj8dlh48B0eeWiByih5539EC9hZqVk/hUgIoZUIroiQUQRAggEGOqql72SCgkIQlZFRwkI8OAPF5Fzt+Nid5MLXg6XuWYpFzkqQC52tPgqVVJDlidqWVzGcsbG4YerrG45VyQOKaVc9t9GiIghlYjoMlmuYHpIxc2HTEMEglWJFsF09Ih+xptfh98BiIgYUonoys4vcW6pzZBeIkJEV0kG51/Apd1+3lVIaAxD4hruQxqOIbQCISLQWKYorJsMrG8fEm2IQDRkNaw/vAog7oHhmLF8fIgOk2uXh7H8lixvvPDdPcibgriIxlCkFRFxcWzcHxsHv3o/w/Hpl32uHtLtMlSml9XT1ZsabhYMJ1oAF4cUABIAxMMFQ72caZWILndJgqeAiC7b/1AQQEAcCCBEfP31/Asx5Fd3l9WA8npcfvi6vnDoqoqMfN4l6VRDIyfpdSRRi0Sf+j6VEAlBbxEoEACikl28h7iG5egtFyySlxAEpI7chMOrrI0Bor2bhKIkL6lP8Emn466xUkupAFEsiuQMUwikCHzzbYo4IJsHv0pvJaesIerNpBsJpNRtTjlbZIOncF0epIjWrgjtLfrUhwREL3YO/UtevfTbQ4qrjPps4bmWYkUlSoqMRdUDpcpqfRTXyCln6+HeFNNioikbHKuFVkRElw8rqUT0yAuRWK6tF3dfx9Mv3UQqJDLqkJRC6uI5egkkTy5qvYkoXAWRXDMko6iIQdVDpCToUODFupwq0atny9ap5VRURGzcWyqpN2STrLHXZIkiEPOEcIgk1RzhPqS9i7+7VSnXVTXCUzaHCEpbzUMTApPFqNcwVw24qiM0rHEJLRni8KpklXApj0yJMuBFwwEIqozkWkqo126hZdrMs1ZW+qqRKoAMbVMgxPxB1n8REX3lhQ+eAiK6nFlnPcwfsb4aG1c3x4VLKTnnzXU5Q201vsjDRRZaS2hdonEgu5d5r20GzBMc2byg6HJhUvHwvghCRu7I0Qe0qPnQuzVEwgXFA6XbyTmbO1QCRUMCCOtVyiiXqtXSQjuN7CHRRcpRFEUg8cWOVkSGN1g0matml37RYuoiWmq4ISLEXcLFHBLwUnKnAS3aF+/FvYjmi57DL3n1Id1uHp0hq6asdVERuKYs4zaVZ+5OfuHZz7rBIwCPkZaRw3orjoyIqoi6cLifiBhSieiKthz2ffDx+mGpuym85PAi4RiqquFDUi0lKwSQCNfl8n0fKq/hBZBAr9Iico/UaurNOivZ+g6R4Tn1nXbFPAJNhHq4WwYySqvIKWkRcw0behBolCT9pBMrEhqhXhZVN93p5lWrIqOs2gl69VyFFAh6qYrABJJ0NVETqiob8xYwHHO4SIQX95LrRYlSokY/Eq8Lcq6Luy+qMh91PTLCPfm8zp1W7hWKtII+bcFGen7/0S8yF+Iip/rSbkeIuRTVAohLL7EwjySuctWi/cmrb/7Rg9Hfuv5xTekXjcwaqwJNcddSLCygIRzuJyKGVCL6Okiy0raLuq7e/OY3/fqv/4vxeASJUnLJfTI1Rde1fdd6yW27kHAz7bs2991o1LTtAt6ZdKhiKnLtbU/5+7/yz44dP1HlAhcvperzllW5K55FPbZ3jv7Xf+cNu9c+uiie8LRve8mrX6WpgiCHA+KlZK1f9pM//fd+9ZfLzlh71BnqDvRVLW3XW4+62NGrr/vOH3plX7zNceKmW170gz/cuwdkmD9gZiJSSik5q2ruu77vVOFevOQf/dFXQcL6LF7S8Uf//Jv/2RO/9XaJgPRwMYUgTGB9aM7VqHnRq3/i5lu/Vdxe/7M/95r/+ZdvfuozI/uhCvTDwQRwQZFcSq4h3lUH+1V/9tuPX/NNV12Xzs6fd8ttN44bwQwxt9xWRSW0AAURDKhExJBKRFe4SxnuHy6/+MUvvvnmm7e2tl7wghe4+8tf/vLnP//5qnr77bc/4QlPuP3226+99trXv/71j3/841X1ZS972Ytf/OKu6172spc+99l3eIk2l2r7yE+98X86c7B43WtfX4pge+eOF32/9zqflZ3rb37C057Vul91/fXf98OvmOweLeHf9pzv+Osv/f4iInA3KblE8Sc+4+lPueO5Zw+mz/2e7y7FHvekp+2ceKzvI8/ljpf8gBw73ma/5cm3PfslLw4BpPkvX/GjL/zhHyoIiax9gWrf93Vd//iP//gTb71VVV/xile89rWv3dnZ2dnZ+bEf+7FXvvKVEWF9RNj3v+Fvf24+/en/4edUbCGj57/8FblX6w3V5NZn39GXdHT7qpe/8lVHr7suS7z1LX806+wJT35KdheRoVgrD9twfwZEUJWoAM+Lm5rRt493vsPS411+8zMf+R/PfOqPP/q+b3F/dhvPgG0jFhLqdSraWxRlLyoiuvy4cIqILqdzw/2CB+8kLwB2dnZOnz79qle9KqX00pe+9DWvec1sNnvb2972ute9bjKZvOUtb7njjjtuvfXWW2+99Zd+6Zfe/OY3v/71r7/99tt/+Zd/9e+/4Wc8v9NFaquapvk/f+M3v/Dxj0hdvfQn/873vuh7M8pf/qePv+Jnfv66E1f/yhs+86lPf+ovP3N3qkaS451//Labnnm7mPZ9uIhKADIajab33PsvfvYfCvIN33Dbq974i/vt/F/+3M9cf+P1r/yH/+AZH3jhr//3/9173vHOO/7GD4qojLb7I8f/8v6TgZBSVNCX4qV8y1Oe8sQnPvHVr371C17wgje+8Y3vfve7Tp48eeONNz7taU87efJkRHShXk+2Thx9z7/7g//lH/5kpePX/+N/8pTv+W4Z4x2//29f9wu/cN1TntL94hs/+ta3vufP/9xH5lI++dGPvnhn+90f/kCoyKV17/+ym/m7RGeiBXVAVCKXG7bGP//XXnDT3Xf2O9f81J3v/7N77/+lZz/vb56BN9XHjtY/8c7/qzcZZU0Rs+QhXN1PRJcfK6lE9IgLUU2qaTqd33bbk2+44bGPetR173jHO++8805VPX369G233fZHf/RH29vbT33qU9///vcDOHPmzDve8Y4Pf/jD//E//odrrj2WPCCidQClPnrVE5/2LHF5z5/8+7s//sEPvefPT93z2T9/2+9/6M/+6IHP3CuCXO15CkRTpb4xF7NUrOkDCUWKhXgvVz36cdc99pb77v7Me/+ft771rb93372f+fSH33/2Ux/7k9/612dPnRGtJKQq5Vnf/Z3X3PIN1z7hCeOrj2mXs4apisgHP/jBb7jllqauk9mdd9753ve+V1W3t7c/8IEP3H///WYmSUQW2/POsPX073pJNvzx//7Pp3d95C/e9c7FYvqHv/2v7/qLP7vrQ++DGLalnbSVV/VVRx/35GP3/tVf1lLJasLrw/iPQUQVkTXmUlTtrjP3/8lH33u0dPeUvY/cc/cB9P/4Tx/bCj3e6b9/z3vu15JKUSkBtwI4/ykhIoZUIrrC8+elrO4H3P2Tn/zkM57x9N/4jd940pOe9L73ve85z3nOYx/7WHf/yEc+sre3d88995w6depd73pXSqmqqqZpVPW66647e/bsC1/0QjUDtJ/uf+HTn3jDT/3d7/rrz0ef7/rQh37tH/2jg/vu8+n8/3vLH/7B//ob7WxuqtdtT7QUSCSNq+qRFP/O73z+Hc/7zpI7Udx//73HvvG6f/Av/+mTvvlJ7eLgT//V//bxf/PvcPpg7+Spf/KzP/f+d/5paReQuGp7nOEf/PN3vfff/M4NuffZ7Bd/8Rd3jh3Ppajq6173urZth9YEVZWOHj1qZnffffcdd9xx8803u3s4pOS7Pvbhv/mKH3zt336dlPKJD3z4TW/4e2c+feeoxF3v++Bv/9NfWdz7gHo51jTjEiHxzd/8TVW3mD7wgIvIw726P0TcESKAA31lJ01/566Pv2W7+tWPvv8LJRZav/OB+35P9n9t784/PLhHBVueikprAXEEh/uJ6PJD13U8C0R0Wfz0T//0m970ppQS1OTBh/shknMG8KxnPWs0Gr397W8XkWc+8xlnz5751Kc+1TTNzs7OPffc0zTNC1/4wre//e3T6fSmm2769Kc/3ff9s5/97Hvvu+/OT/4VBC2iHo9ufcpTP/zud6N0UqcoPg6tUnW2nfnYRp24puM3Xn/qc/eg7eJoc+TotSc/e/eP/NDLD9rp7/zb30uoJeO6W287dnz3o//vu6KRlAMBgUogm2gUlL6IXnXD4+77wl/BqySjEyeOfuGeO9/2J//hZS/7odOnHzDTpmme/vSn33XXXZ/73OduueXx999/XyllOp0+73nP+8QnPnHnnXfW1bj36FG+5Rm3f/KjH5vtTUdIbTcbizZWzUrfaWylphQfX3/twf4ezsya64+b6ZnPfMGqyj1UdXO/g8s83B8u8OQmYp2KowBR57ILLPrSVVu9IvL8OuAA+az5VlelsP1aXcXcUaTk7nu+57/4/d//A/4tIKLLoqoqhlQieqRDqrs3TdMuFjlnETEzAUruAdRN03ddRNR13ecc7gDMLOdsKSnQ5xzAONWI6KTkksWjSpUqsoQJLLtBJekcfV0gBYuISqBAW0ssvLJ09OjOqb3TokiSkCNcsmdpAIOXolBzqGsOqSuNsujde1R1o9qHlGijx0iPb109OzUtyd1LKUVEPCKZ5ZKT2WqbqSwiTdNoVNmzVNH3C1iqpZEsVoX0vQJh2oWrQAXzkmukFDGzrIImtFcgsB7uf3hCarh5KmaODCkKQSCiSAxbuToEGpaLVAhB1QlSNUOBhEYwpBLRwxFSuXCKiB5pAPq+V7MERISZrRNYhEBNgRCYpRwZqiFQS4CGiFpyhEDCRVWhmqQAnqEREpCS4CHiLpCAAFFJmCA04EgKIE6ePuWQ2lIUdxOBq0qfpMlDdpMUURCG5KWEiCpSCPpQIFsJQ5g+8MAD29IUCR1CdikKCGCWoAoRAO4BwGPV4bUUHfa5DxdBHy5p2KXUXQXDxFBXlXANiKY4fN4eplF1QELUIVCpAuYigghRU0hIZAOswKF1p+LSVujUU4lhMiqEq6aI6PJjSCWiy+ncnNSNq+todagWqKruyyagqqqqpRQzW8+bTCmt89nygkIxbKWKPhymWPY/UhOJGHajFxXRUBeBCgIOeIgFRKNIgWklKjmgKFJMBKpWJAICFERrBRHwECBgImKexCNbuCWFSidWlYziAYkYyr2HDnWdv0Uk4AAgVolEIMTFNERcNUTgYi6igAgUPUIDdSAgvQjOO6OHL3zxq5d4O0RS0YAXSIhbiAREwjwcIiohYUX6Cl5cIDmZFR/lOBhJKmIhPeekEhFDKhFdyS6tBVWs9z0yM1/2ATURmA0zL7F+tnWEXcdfkSJIIRBYaLg7HOaqghLhJiKQEIgEwiEq4iEhmoAsJSAIQYSK5ggxZIiETnrtTOosrtIlR0QS8aHK6iERoXARLTHKqoGujoV1Kafhna6PFtDhSAGowt0BFMmAaGgIIAgNF09hKCKAhphLRLhEQRRDuKQsPdQh5iG4pHH8L3u4XyIqR6+azV3CwyXgw3lUCzEJZJVsUUxCXJC3+kgBUUUBgi2oiIghlYi+Xqxz0iraRoQPF9ZBSgQioQqRYWfU4X4WEBkKflmGzZIE4eFQDJuIQiREIDo0ZVWRkAgRFYsICALiEIRIgQIi0lkRoKgIJJWh84mrSAyxFqGrUe2cfFgWPyTUjaNdvjNgefBDsXKo50KG14sY3gPUxYeDcZHQYdA9FEhFIFEMkDAJKB7uMmWIZHNEJIcIlulUBBBxiHiEFIjlgAxb1kpvmiVSLxJRVKIEx/yJiCGViK7o6Lnxx1c0Bv0l77YKRdh83SHtykZwvOBROPwkqywpyydZR7cQER3uj43nET8X7vCQ35RsjrOv5wace/XlJqMhsXkYD+tw/+YJ3PwsV2l/eco0cO74h297rD8CIqLLi31SiehyOjfcP3SbWn298MIl3v5QHw5AVbHyxR++PuYv46i+kqP9Cs/Jw/S0m1cPnaUv+XAiIoZUIiK6gqz7+DOrEtHlxeF+IrrMkWXjj4d3uP/Bbr/4IV32kfEHef5HaFz+4XnaC0/gl3z4MK2WP/lEdNmxkkpEl9NXfbhfvtYG1r8+joqIiCGViIiIiL7+cbifiC6nK2G4/2trYP1r/ag43E9EDxNWUonocuJwP4f7iYgYUomIiIjo6xOH+4nocvq6HO4fNm499B4v5eHrW9Z7az3Y3dZ34HA/EdGAlVQiupy+Lof7L8yUcf6uUZsPH77r7ofi3UW3EthMqBc+G4f7ieg/Z6ykEhF9OVn8UsLZRe+2WV7lmSQiYkglokfCV2W4f50Iv5JXefDbQyQAkYhlhXhVTIUsN7cPCQgiXESG76/qpL46Nj38tCGiGhHnnvZiB/NgRwXB8Oe6ULt54ocXfzhONYf7iYghlYi+Jp0b7hesB7LXQ9ubFy7x9ku52zo2HapNfvGHH8rW6zH3Q08SUgCoKkJlNT9Vz2XKsh7OH3Khma6f0H39Kj684DqOhgRWEXg4LACxMQ3goid28/bhDIsMYVEA2TzwQ9MJLtepvujtEvzBJyKGVCKiC1w4+1MeZIvUi8a+9T1V9dAM0VWsBIDwWMXvZQlVRNTM3QEVEQkf0ueQHSMEqkMKBRCBjUAsEgBU3JelV1nVPldJ88Ei9fJ2CZGIVTyMId/KKqh+yTdPRMSQSkT0yOTUwwPiX3TG5+b95dDg9Sodquo6hvoyTQoUEPHwIaYOhdUIX4fXkIBiGMNfTxhwl9VkAAwVU4HE5nyCoRYq5wbOD7UUOHTYgQis7rCccgAJlfXqK/5MEBFDKhHRobT3yLeg+iKj+UPa2xzNH5berwesL1zJtHkhwlffClmP1K+KsJtp0N2Hu120pdRqHsRGX6rleP0quZ7/qEPvyN2H0DzMhXUpgKipnKu5irrGhs23fCnncLMC/WXMSWXtlogYUonoyvVVmZM6DNMPjZ9UdbNN0rogOgTT4Z4ioqqquq5WrmOiXNB5ClhOA5DheTbKtLGRzACIaqzf+rkDPjTDdZllVwucMDwnAEDDHSHD4W0e2/C1lBIRZpZSGtcpJJYl3hWrq+FCKaVrWxFRhQaGR100yl80mMoFkw2+yEcAIJw/+ETEkEpEdIF1AB2i2LlEGLH+rlxQsLzoDIFDy4zOS2zL4fXl4wCEBMTWqXcV0GMz78r5c2TPazIqVkpZH7ysyquH3t1wSH3fp5RGo9FQVZ1P5+t68DpSL6JVMwBN0+zs7i4Wi77tsIq8F50CcOHpekgzBc51KhCu8CcihlQiuoJ9FVtQbRzCcPu51LQOXl6KALFaroQhmF7QuzRWUztFQgCPUAX08AImYFirpOuAu3qtgOrw5LKOtKspp6oKVYkID1UAdu5NAS4iHkOINjN3DwkPn2xNVDX3fd/3QyFWobFccwVAwkNNAYnw+Wy2EGma0dbWVtu1XnxZY17NFsDmeP1woy7bBJjasPgLGxH53Bs/b4qFx/q2Q80FiIgYUonoivJVGe4/by4p1uEV60mfa+fqnaur6zroutYIIFaj9OfejZ6bVLDZ1ylEVFdPuBqp38zLULXVA2WVnVe322rd1TL7uUSIlD6bSFLzCCg8ohmNRGQ2n6qIqpppl7OLKGBm5yYnSOn7rAJTS5baWZurXG+N2kUb4QERj+UCr/WOrxIhUje1JkREyaXkghAIhiS9+bGuV3fJavFWVdeqGqJ9uxB2FCAihlQiogvD8UVqfhszTddZFqu1SxDxC9b4H5qNunp2lyG2Acs5oMMc0tXM0fVgvZw/m/PcIP7524ouXyiWkTp8mZ7Di0ioQlyGiu/QTqAyOzg4GJqzukTuezWbjMfriarDhAEg1RVy3+cu995bMnfv2rau61nfX3jSlrN4zczMo4RHU9ezPL/Ecz5E5Jzz8AyMqETEkEpEV66v1nD/usC5zoUR55Lixji+lNVUznPr7WVoLIVY9cSHiGJ1EUPJckUk3LFaeiWqEe4iqticTorViihVhei6F6oAHssXrVKSUtxdlwEYSeFDz9PspRRVLRLb29uz/X0DYlhipTrZ3vacu8WiuMvGWxvG9Ouqnky2FotFzn2qqr7vk6Wmafq+Xwfwc/8GWCpe3L1tFxgOaagIQ1wCX3S4H4pSSrtYWPKUjIP9RMSQSkRXrssy3L+OQefly0sY7pfNcuZG19H10w61z2UD1PUoPGS936mIQBUKjzIUPVUTIILwsnx3w8NTSrJ8BV0VMrEOyodWYsnGDFlbvymoSECh0FJcALMkpYhHzkVEikRV1+1iUUqpqip7sZQmW1sH0wPvSrJkSIJVuwB3Q4Kga/seeXtnMp3N+txZVXdtu7W93ff9Klzqui2Xr+a0RoQNCTUCUKy3bD2/H9ZwNmX5y4AP9WSBMqESEUMqEf1nk3Qv2fmJcB1Jz+sktUyoEB9W6gNqKhEGDCFvc2IrAIUCsdwPVXxIlwEMkRSA2HLR0/DwdWOBdVrdfLYL3xEAUUhguSNVDJVZNdXeo3Mf1mlBsVi0KVmXexHZmkxm02np+irVXpZp+1x0Xp0H93wwnW7v7EynU1/1yarrupsvzCxWXas2S9EqMpSgsZpUIKsC8vr8xEZzVBEulCIihlQi+tpxWYb7D2229JBW9298C3L+PFR3Dz2v5rpMWwoMq51iuespVMJdBGamJjkv645DAB1CW0ppqNd68eVK/HPbq0JWO5YO2XG5wH/VTGBIydCkqjlnhZmunlAEITH2xXw+hNnUNKXvzq35Kl5X1bBplQrcHefKwzrsfWUp5ZJns2mqUnGxqmrbdp01SynD2zzXB+H8ybvDFlYi4n5e7Hb35ZJ/kYiwod3B8Cj+6BMRQyoRXcm+7OH+Q92dLhwu38ygFzb+XI+ze0S4hIhCQnwzx5paV8qq/3wEPDxcQoadTodkrMOwP8JdTT1CoS4xzAAwRIGoIqCaKhmWwGuOcCh0aO4PLEe/IyDLCutQmMTGpAIRpFRLn325XYCmuhrG/WFFTUNcoQhvUt3mkj3Xo6bPvamFR3E3S4CWnBGiulzDJKscrGq5z32bIZqXNw7vRUIBFfcCxXBNxCFDT36o2nrDAkcZdiwAtJSsST2GXWFDVYcJv7EK3/zhJyKGVNz9qMsAACAASURBVCL6enZoif2F1dP1vqYX3nNYKS9DUyf1kPN3VBIMnUeHW1TQ5V4UERBVk+hLcY/UVICW7KESXupqVNrFMHO0qpIiulzMEjSZVSEC04hiilIKxGK9gGo4PFWJ0NW013XpEYADAasqXfZtVYNViqJe+tl+SFGDl9LnfpijYJXNp62GDbMV+tzXda22LO62Xbsc/ReEBwSKJBqIoeoqIQgJEYwnY+h5GwHknIdrqjYej919COsuJUHn07aUUjVVNaoioDB3H85kzlkEHlFK4Y8uETGkEtEVHTE3/njIw/2D9bIe2SjRHVqctHn/Q5uaDjXFoRm9rrcDFRGgruqu64bAV9V19jIsijczhXU5D2Pq29vb88Ucppp0NB5BAwIvUqSoJfWQiJSSWoIhlyjZBVAzFRtKs7EOqQJVXcfl8xZXeQiGPlkmqqgS1IaHFXeYWkoh0ntRKIBcyrANqokNxdqu69bbwJ6bNrqK76sTElgPx0eYKoDpwWyoOq9nRCSrSikHBwey3F5LAHHvx83EVKN4SlW7aHMuKjZMlh1mpZqZe/Rtxy2niIghlYiuXF/JcP86ua5Xx4du3E0wzChdB9TV/M5za/OHqahaJUiIBCDDzk9De30zE5GqqixZiMAsNXXf94hzIVgUOzu7ArRtm5oqWaVmfZ8jYuvIkaZO0/2Duqkl1MyqupbK8jyLSqpTya5D0dKQUiql5JxTValq32Xx5catOecQMajVlnNp2y5ZZXVVNY0ARcLqajKZHOSuSEBtsr21mC3ETJOFaUpV6Qs8hrezLipvBvrNnV19o1FrRNhyvgHc1/NRtZQiNqy4ck26MVVVBXCX4bcGhYrn4WyGB4ZFX7Lc1IDzUomIIZWIrlCbNbzzW5bGoV76w/2HVqCyMay/XtxzruU+MDzVkPBko8560b2jhuVNKaVhr6ZhQ6b1BNamqkspLlHVlQC1qUN8lnPOlWlETMaT2WzqObYmE1dJqXIv4/HIi+8dHBw7upsslS6HiJnVo8Y1qpy6diqoPHci5hKqapog6Ls8tOf3vpMQpARE7hYQGKrxuNlvF7ltUUszGVtKrjCR3C7Go/H+qZMigMruzm7f9n1pSymTycR7jxzuxSyNx+MzZ84Mb39ra2s2mwHIOY/H477vh16xMCg0SgkRqIQU1TSZTIbTNYzau3s37wBs72wvF1RBVLXkflQ1+4sDEYnio9G4rkfL5WUiAObzec4ZgtFkwkoqETGkEtEVzd0FKhdsSfpFFkitr657768Sp6rpMqxGQLHaqV7UdFi/vw6mvtpufiiUBgQRllJEhDsggIqIS3hELmU8mfQ5N+NRnrc5Z88hIrnr54vp7pFj0739PvcC2Tl+dP/0maqqpK7alLzvz9x/2oHrxpOqrov384P90/fcW1/36AfuvS96F8jO8SPT2Gvbtu+68XhSN/XZU2chUGBnd/fs2bNDE6irThzfP3vQdr1ArWnGO7uu6Nuubdu8vyfFPbJaOnP6dMlZ3FXQzeYIG3Y3LaXM5/Plwiz3xWKxjvg552WFVcL9XE9+A/q+73PxWM2R8DYixpPJutp6MJ0O7bHCPby06FCkstQuurZvdblp7PIXAwM8BNXwTwlTKhExpBLRFem8WaRAKWWofW6uXloP9A/fPVR8XZdRfRiNxuYO8lAzd1eoiOiqRBoRw7acw+5NAFJVhUgZKoWpioghk1myqqqikxIuQNXU1lTikRwH+3sKKe5d1413thUo3bCY3ZtUzc36tpO+lKbp5y1EVK1umlRX0WZVk5DIBWVoRFXyohVIElhVq0RuW/VQgSBmZ/dTIESLlzP3nwwPySFNE8UhUqVqmLcw2z+wEHhIicV8qjCR6LtOVftFn7QSoHjJOQ+lYgBt2w5ne5hR4O5VVY22xjkKRIZmVe18LsuuWKuPQzWGia7LBqu+mlUsMTSfcoHqqoOWeFme/+XkATN3t5Bwl+B4PxExpBLRFWmzg72sdq7fDKmbK6U2E+3mbkYwk2HpjodEqLigyNAzyhqIWDEJqVABKFJcIkGSRltKgYsptCTL0atrQjIpYTrsRWqmClUVdYgLqrrOuWwd2Z3NZ9LnuqoW/aJJ1dDCCgLxqJqxQJOmjJxGdSleefTuSNZHgamHi6E5sm17+ypaunZ8dGe2d7BYzKtRU9XVZHtrNu9KQFWr0Wg+n7u7aKp3J12bpe1ELSqzukZKqa5S01jTeN8DgKmOK++ziGQvadR413pKJbuohKJA1MURgXBAipupw8Oi2Wradp77EhKW0mQ86bUrfQZEgYCEh0DMzMyWm3uJLP8Lwarr6rBflkFl2PxAsDkFFoBEgYBdqIiIIZWIrlDnVtljvdXo4aU8srGORy5sy68IHfKOioSWVDRKJWIqHhZWQTtrRWS50EeKiLhCrAqpIBoiDhOpzCCqLqKQylJxR9IYBrJDoFoiak2pNhWMxpOD+WlUKkDOOQSiFqVY1bhIGo190WrSNG76iMpsnKrxzhZqizaOXHNCt5qdE1d3DnWFxrETR86cPDWbTuu62drZbsajeQ5xpJR2d3cPDg5yzqlKx649cebM3nQ2U0s7V1+VxqPipWrq3ePHdnd3zjxwMuduNB5v705OP3B/bvuu5OPXXL2YL6anzpjZaGurmUxO3Xufh6vZVdc+6sx9pzUioliVrEmO0rdt0joUamnetqUvddWUUkRi+IBKeMm5ruuh8goBQmS5VezwMYYPDVTX8zc2fqGQ5SaxAXDhFBExpBLRlepcrTRi2HHpwlZTF13Rvxlkl/VXIFQKAqHWjyybqZkpMKRTUVERCByCMM9mGqi8ErFa6ows1oW5milCwlVhVeUIjbQaylYAVV2r4uiJqw/2zuY+m+p8sTh+/Kr5wUxUQ4FkMLOq2j2+XdWNWX1ydr8HZrP5sZ1tR9V5CVQ5S9VMpIRV2jpGO0eQGneX1LQuo50jCKSU6q2tysO8pFRpVTeTiauaVVUz0pRUrOu7Xnx7e2LTA7g5cNU1jzp7dj86V0NKzbHdMWZlPptWlR05sn36vnugkQw7u1t7J09GKeFxZOdYjnJw+qxKgpmaVnV9sLdvqqooZeP3BBdZrUVz9812p8vNEc5vB3boIxsWXUEkQplRiYghlYiuUOfKpauS6kVbUMmFo/wiCgxroqq6AtRLybnvqnaCUZqF5qK16JYuvLVeJaSqTUR8yFsppVq9ZGARYhghlx59MdWqScilRJEINbGqzrGQImZWVZWZWao06daxery7c3Dy1GQyDpPtI7uz6Wx2ME1V2j16ZD6fp7pZdP1Oqi0JtIJqiIom1Gql1KNeq1E1QrggoZ6Mu8Wi1qbvu4JkKekoEBDVTkKaOkHdvSuuVZVEVFNqGq2biOIae7P9vvQ6qlXqdrG46/Ofd1hYpSGnTu8jl7HVx45VB/308/d8LtUmfSnR3XXnp+BRpzRuxu18Pp0vam2GvQAqVN2iHc51l4fhfh2WWw07oKaUipmZpZTWn+NmVwTZmFK8mVDruhaRQADBSioRMaQS0ZVruf5p2Fhpo4y6mVYPraMaklAMm21KiKoA4khmSWq1+qD2YanVrph3XTcvEaKYADqbzSQijbdSvb3ozrp3kmS7Hs1mc+0KCuqmieLdvC3h1lSN2UHbeXapI1kq7pUCVSruk6NHDh44Ge7bx493fQ6Rrd0d1FU9Go22txZ7+13fjybjvbMHllK4tH0nZqqVdC3MRFWrWgShEmpItakXEVEtAq1Hw/koMKtHw3zPLOFAappSAlWFVJXsi7addx1UkxkCobo3nW6Px9L1ItHmPgm6krNnJEXIaDyWxsN91rdNU9Wh7aKb953Alue8Mquqdj73CAWGrzEsOFMVD4no+75pmojo+37ztwi5oHo6rHgTEVUdOohVVSUqs+k+f/iJiCGViK7chDpc8AhIbG6ANIytH7rnUMwbluyUUmBmKS0H/U1Vrem24ZoX+60vcnRnFhIokUIgZ/NCBKEuId206w5mpe8j3FQ9N/WitLnNyCklyaWbzh3hkNx2i/2D0pc2VVVTo67TZNQkK0WanR3A2nk3Dm8m4xBZdN24ropEX3KoHj1+NTSluglRmFqqs3v2PgxpVI8m4xIzD6S6qprRdDr3PgNo6pGYdnm6bC9Q123bRoSlVI+rvi+LRWtVlUZjJPMcD9x3z3g8uuZR1545syelpKivuvrq06dOjncm88ViZ3cLxedn9uGetNrampx94KT0Baa7x67ee+DUom1VUI1GueS+X1hKaTzqF11EJGiIIKlnX88YhkLFuq7Lce4XieHC8peHC37TWH+IAKbTaUQIwkthByoiYkgloivUhcukNi8cuufmNIDNmQCxusWLz8te57M4ga1rto9ce+JRN1xz1dFjzZHReDIZWi+VUrqu29/bP3v67P2fv3/vs3tnP3v61Kn7rLehd303m0nxKDkiutnMsvu8Q4iXaBetqRZ31SQqkXQ82c6z6Ww+14P9VFej8dhGtYc3W2OEdH3f55JzqUdNyZ6LuwtqmCTLJopUVzlgVYXVRllmZslCYaYioYpUWZ8RITBUzahEi5SrZmRVgqXTZ860BwdbO9vHjh+fzubt3Ouqvu76R7fd9L7P3zPe2b7+psdM9w/Onj0VOd94w/VXX3vt++65X/q8tXX0life+qH3vL+d77mUR1/z6L39s3k2N2iI7B7ZPX3v/Tki1dWRY8f2Tp0ufVbVpmnavuv6XlXrqhKRvu+Hj6aqqqGquvlJHfoc112oSjChEhFDKhFdwdb1ttVGpkMb+fPG90UEATiKSqhIiJQAECpQdxNUjRSZzU+W0ezINx974m1PvfWbnnzLN3zjYx716OuuOnG02Tpqx+uhnygwlGDPlr2T/anTp/c+99m7P/zBD374wx+861Of3v/ovp5GKpUkjy4jbJ6SjutYzKOEAk09crVQc1WzEdI8q/dRjowmk+0jB6f2vV2kSqvROM5MS7FxlY5s7aik+f7UTCbbE1RWPES0Ho1TM+pDLKKuU0JV6ZZjIUnCKoFrEimoUNWoW11kCTF1raGl1qaxicrI3Q/O7glSlOi6XgOVmpeyvzfNrY+ayWLRPnDqTBXY2T66kOnpU3s5VJuJ1NG6/NWdn8suOpnAy3zRqzYwX8wXWnDQZUmWoO5l7+Sp3PfJkkIXizaHm6VwzzmvV+sPG7petIx60SZiJuaRg31SiYghlYiuUHARiVhu7D4024ToofgCERUVk0CBwwSW6nCEaLSy8FOjG6ubv+Pm53zXc5/xLU990o1Pfsz2Y47URxupAIGIXfA/rhAP8bhKulvyyW8//VdnPv2Jez7x7r9471vf+s7TH/xC81npSyyqfmfrqqNXH5vP5/3Boqrro8eOz9zNKlTJrErNKCoVi52dnd2d49N6D+0iqvFkZ3tydr/vFpgoJgmlMVQjq1Ku0FXuc6uSVhWqSr1ARBuNbKIjNc8p9yklFNQpRVKvOveoqmRwl0U/FbhtJRnr2XYvZgfzM6eaqun6ct8DD1RmNtLpbHbX3XejLynVkHTqvpOSo460deyqatx07lfd8JiI6HNe9Hn70dciwvvctp0HdGt3PNmJ8JCoMVGB9Lmbzw2IXCDw8FB1QQXzKOv0OUzPWG9aKxeUxg/P3Ahw1RQRMaQS0ZUuIoDlVwCbAXVdYXXNENUCzZHCYCqhpevydvtN33vb817y3O946nOfdv0zH6XXI0SX/ToDBSEiOpT3zj0bPMElEI3W2/X4+quve841z/6+J/3A81/wjt96x2/+6b96+/QvXGYGmZV8LLrQyI4uo4SpWkopiVlvqgJYEqAfd+3uzGauE7Fx2po0eTGS5lE6uUHjbEz2cvTVUYtJV870phhNxqPRyCG55DSqS5+kKoFOK9ioBorkUQl4g7qpY+GRUaXUjKrS9Z69zNoqpf3TZ0vbi+po1OwcP7aYzqIUGzXj46P9U2dkVrTE1mQyb3utRs2J40gpAW23gCBBGmjXduGuIeMIz8UEEeEIiRB3L7mbznXUlNlcZ53nIZUGBOEhEsV92EFq2Fh1ucWUu7unlDYH/dcf9PL+7ORPRAypRHTlU1WorWKMRwz93je6pYrnyFFS8tSgDvG+9L0u0tV41g8//fte/vL/6lv/xvV2Ql01ROA9coibmFmSEEEe9g5dBqMIqIZAtLi6hyhUpTqBrR+8/rtueun29vHxu37rXXf97qdkim5cDJogjjLtZ2h2UCWtLKBDgdBMc4k8LZOylaAhu2VRaUxGdenrA8d9goNm1NdFa4jnrvS9VDVEALVkvbilOrJ6H33pw3M9QkTkeS4RGKs1qbSltBnjZlQ1ucP+bBbqO5ORqJjVWWI82Tl+zTX333Pf4mA6mkwe+4THf+rjH9+fzc3suhseO5PIopHs2PHjO5PJZz5zVyllPB6fuPrE5z//+b7tABzZ2c1te3Bw4MWPHN1VkTMnT0nfTerxuKlP3f2F0p/JXb+9uzXv2pJLhDTjkbt3XTe0qm2apuu6IZhWVbVe4ibnL59azVjlTz0RMaQS0ZVsuSGRytDyFBKhEb65TtzdNUmEqKiJAZGt9LKob2he+NqX/MTLX/3XHvVtE+z4MJ0VXUgghivhHgoNJB92DBgms0ogRAH3iHBRCMQlLxSN1M9Mz37cd3/DHz/+rb+2888/+FsfmVivlUqXkGppalRJkmpTR5hVjVVNSTmNJ/V4q0rjUVX3zcjSpE7RFZ2EbJXGk7fNMStNmhyPsaSDB9xd1UajppvlOskoNa6p37+v72fReDQZVtozs4KCjJGk7tTcoz27//lZdWM+2bf3nRFfxLGJWINqG91c1BwpkkVSURsmhGpKpcRc5PiNjz3o+gipxmMXJG1UMkIBmFa9FEAFFppEK1MpJSKi73PpSmUWVlWTbZ8upG1z7iMKJAAdmlLJ6neLUsq5Xg3ustxZajOYLuusrKESEUMqEX0NWfYwMtP17MahC9VqymNqdBQerbde5e3H7b7s1T/4d3/kv33i0SdmiU6zSY+i8KShIvAISRFJ+siyam4Fg4tLICABraJKpYkcULjGuOQCyWqPkute9o0/kv+bY288/nMPvH0/zkQEmsmx49deP120AkRVK+pmnGEjpLx9/MRVxx/Tn8xnu89d85Sd+MbTpx+4ez5vazvRH5lujcZn3nXP7qyuR1U1wnzUpFRVTd00Td21WtBUozainS76doHeu61FH4vZwdRR0Guapn6vnVcnH/fMR4udPD3J/jhblB67/bF2dPr/fiBhdz5rT548VTy2tnem+/uf+NjH+9kijcZnZ/Op6vHd3QkMHqe+cG+ezipLSS1Hufvz94RH3dR9n8/u7UmEVSl3/eJg1s5m3uXKUl/yQTuPutLRCLOD2ewApqZJFW3bCmBmwwe3uSXYg+5hu/7dZFhQxbBKRAypRHSFGxaBA7qxvbuIyJCBSng4NKU+ugK3ib7oVS/+ge996eOP3dSXVmBVUZNK8P+zd2dBtl7XfdjXsPf+pjP0fG/fERMBkCABk6BJg+AgihQlWqFsy1KUeAorKctKYlWUVFJxBikplVW27MQviZKSVY7LSmxNVCSSYiRKnEdwBEWAAAhcAHfu29PpM33j3nutPJwLkEryqIebqu/30NVd1Q99Tn9d9e+191orCgooIqCgNNBO5Ghvfmu/PprNp2VZiigAjEbDcbF2enjq7uFd6zxiNYIQQQmZCDwEDTIk/MuvedtT7/zJz+x//ulnP2fVACXGZRyEmIAtoFW2aBxyYpMM0jSmSevbta3s7W9/1MkbLWUSIdhw88bB1a+8zGQREi8RmV2WujSxxmZJ6mMwxtQYAQ0yoyEBCABoUQURSQORcuT4+Pvf+sCFHfV5QPZUWyN7zx6+8JnnVq83ihjjGAERISpGaLtASXbq4l2cD9K0mJ+cVDE4awyxxhAFgoplBgAGCCGshiggU1dX3neMpARsLDkDQJ6ImJWREAhQRZgZ8HuTs1bV0+8/1n/1l/vqaFv4XkPVqmzeP/i9Xq8Pqb1e7860OgJGAVVEAtAYAeB275QqhBABEMEC+i7MIKbC8XU/9oYP/uTffuuFx1CRURRFlSEYUIOs3viX6ivfOvrOl77z5e9++amTlw6PDk6WdeVjBAENMcmy8dra2umN84+cfdvb/+LbL/7A69cezoVVIJJXaIGNdrjr1n/u8Z/OZ3j9q9+un48xJMv5AqNyMSZmYPKkkqQYsQogcVmnRHJ20nbvPP3Yey++G4EEQgD/X1/9Rxi2Md/pskKNwQI5t4O19TRzQFh3IU1zn0ZIBl4rl6grhqBJNSuprbJ0VIw3Z3tHIfDe4c2f/ZG/d3923qkRjPM4/ftf+G8VCxEsRutb99wzmx376TxbH+2c2736wuX5zcO7X/vQ1tlzlOUxBg3taGctz5PFjX2sYzIoRpvjxcFEykYdjzY2oGyWy2XZNUnO+XBtPps75iRL0/FgeTQNoBBilqRt7HwIBgwyAGAMt7ugyJgQPBOtImmM8f8x8vbP3Ez93i+/1+v1+pDa6/XuPKuJUyKR2awuiSJijMrMcLtPXJlZRQkpxk6xzs8P/t2//TffevEtAyhA1WjsVpPwDUQMC5z93tMf/70vfOyZLz5z5QuX4tJTYnQpmLp8bT0l2zV+EUK1jnv786e++MInfuurf+FHn/ixH3rHTz3yI2fxoovGEwIyWCKV8/n6e973ns9c/sKNT7br47ubwmQ6SHM0GQWEYnPz/r/wqBXWNJGEz++Om66GwQEpWbAKwpAoYMc6WD815FPGUgSbFMYlmmZD5JDmBTlJbNolMS3GnIorInHmyBaDcUDM0xElSTIobDWACElwCVhWDMQgVGMNZBjTJC1cUbjQhrJxmVs/vXPr4HjTpDt33UVpzobL2Um5mGbrxXhjuP/iJV3Wg4R2tzeO9/b80TEYGm+OqtJXixlqHK9vcJrVVWvZ5mk+XltvpiUiq+p4PJ6W86qrFEyepyLQzUsiYuYszxbzqaoaY4wxALDahvr99wFWVzhijH0Ntdfr9SG11+v9/8BqFxS8Mu/91bP+VfqJMaKqiiFywXVvfv9fevw1j6dqFZRWo6nUmGgCdcd0/JvP/N6HP/InX/7I17trZRaHpy+eayRM+Vgs7+xeyGw2OZhg2423zxXD8fzKxt7zB09U32zqybWTaz/3rv/4DJ4jNZ5QWIyIk+Rdw7e+48G3//qffL5dWMlPl5QQTckaIRIfOjGdB3aGIdUQQtdhINBVH5gAEACAkvfQBrDWAqUaRWJM04K0VlRFdS51NhJbxgQxEDtARnCGMkJHaA05g86SVY0AuipEKqAoABKqlU6asok+5i5rvb9186Btw+aZMzUBGezadjlbdnXdTSd4/aC7dQSGj69dh1lZ7e1x2TYgNxazOCs1RB4PFtOFUJWlg4Rt7OLxraPYBkIEpINb+2DROAedLuYLQDbWgmIIYTadEiMhee9XV4pf3ZW6apZaXQlYVVgJCWL/4Pd6vT6k9nq9O9UqmxpjQogikYistSK3l21aa5MkWSwWAEBo2CCf0ocee/2Dpx6w0QIpIkQSjkiInuVLl7/yr3/vj6986qXT9ampWzRJMBtFtuwmQEI2GYwtu4AzYJcSp4zT1OZFlpXbL3yyO5h87Uzxuz/92N8ZxRHF6LlFZAiJJXjo3ov5+U8vLh1vVTtia7JBKTPG1Vo3HUgVUseRGOrYdcAeVRFQFRREkBCU6tIzByYrGGMMBilxAxCI2gGBdRaIopIXMsYBGh+iqHEu6zx0lRcPTEmUVa5TeOW4XBARCNE0bZydzJOE8rxYTg5vvnQ5TfPoXLBmGUJ5MmnLyldVe+VGN6s4wdKIL9v2Oy9nIi1DTYJXm3GjZm04M4p5ZvKUTQJIIhq8ABIBAlFQlSCEZNAAURRdjVAAAGJe1b5X10+/fz7Dyqt3Um+/hl6v1/vzRv1b0Ov1/tyIImDoPIiuRkbFEFbDjFQ1hNA0DSISocbYhOZNP/joDzz+zjGPSAhAFSCqUdCO/bMnl3/t3/zrZz92LXUbfgOkgEQzCLYjIAdgJXAUA+hIGRqCpURqG+48qBl32/u/P/nNf/Gxzz77TQWm6FwsSAtFi2rffPbR++/fKas5Tk/QXxUQSwkISSfVbFnP627ZtWVbV+18XobwajjTVUUYCcuyLMu6rtum9mXZNbV3Ns2z3LkkSRI2Fq11w2EwFNh0yJEs2LQDAy5zxRBtEom84moXlOrqzi4CohrbKXOSjjbW17c2lMjl+bl778vWNz2zN6ZBMGmGhtGrWR+mrzkTUJI6OMLkrq3gQLoG2sbktjZxUc0lBsoyOxqExNSkwTJkLjLeXhGFQIaBAAhfXcFgmFX/v7um/t+fwKut/b1er/fnra+k9nq9PzffH2JePfFf3UxdHfq3bbs6OBapsNC3veudj5572AKriYidYsLggPyhHP3LP/qNJ77wpwYHPmIjJBZiPb91lSA6ZRCQw+MDS5kiGmOqpSwXJZaiwfn6KKHZKVh/5tNP//6jHzl78dTQZhAR1Agi4LweLF//tnuf+IOjw7p1m6Mx7RprVUQURERi8L4mC6AeMSDJKyfyq24hVZUoPoIXCUqhqkoN0TnHGKJ6JUBjTWbytVFrS7JBmNkayruI0Q6HkNpkbWSW80i3z/lXvfEKaJIU8ww4GW5vnr37gsTq1tHR2unttbvO37h1PC0btkkxXjN50U7nyHzP2//i4PTaUx/6WHjx5vnX3XvhfW/704/88cmXny6K/K53PLp/a//wW88kAqfO7mYb6y9evkaM2SDf2Fzf67oWFAkv3nVx/+SoXNYQ4/r2ughOJlOVkKZpnuez2YlGAYDRaFRV1arf3zkHAK/8s3F7RwPeTqv9X0Cv1+tDaq/Xu4OtanJE9Mr9RYZX6m2r8KoaAeLo9Pq5c3fvqWQqmwAAIABJREFUuA1QjRAZBUBJUEi+cfkbX3zqq+Vx2BoMM3U26kzb1vlkoBQ7rQwYmxUjq66NLYqkxjHYiqaNLxMzIBj6oZdjfPnSrX/ykV+b14skuEwQMHihWPi18dbd57auHM47tjuGwDAooaVIKhjRgqJnDsQCt+9aIgAAioIiqjFoGJGiaHDOdF1JBIYNRUYmYeKE8tGgs2O0HUNy+0WnJilGkBAxt3YMjvV75+QqooA4WF+3cWO0tT7cGO/vnQQUZRTLnlCRQBEVFUgMqbXNohzmKQThNPE+1MfTrukMGvBaTpftsgYlq+S7DpsGQEVEQujaJkqMoAw6Wy68REAQUO9D14VVGA8+tG0rIoyIiG3bxhhjjMaY1T1U+LMj/f9Mk3+v1+v1IbXX691x8RREAZNkEGOI0gGgdQkAd12NCM6l1iZNU4nvAGDt4s4DO3dbdaDIaAQiRUTRI5z+4Vc+c/mZm5nZKrLNQZHMTiZxCZzkp86da7vy1uUqIm1s7zrnrr90vavDznDTYSZHizKeIKdusNG1syGe/dpvPO8+fwsgNNO5eD/a2uZ0Z7E4gvjsxnB789xFoa0OZymfQjRoUwEQFQJDggLc2XYkHYKgagSkSIE9SxJtBeglphFaQaNiCFJjrZVICGrQFjZfX5ckGDYpMGgsTRqlYmuBE3GeN1puuqBCwoEbEBZlL9n6znom2+O1cZiVYbIcu4E/aQ+euhK9zza3PI3qEoKfAahLzNHTL5RfeyYrfUjT2fVby9/e01lpB3nbtntf/baWXcJMyOX+tGy6lBgZQ9me1AG9WjZRYXI4QUaDjGyWsyUhWTSgAFHbsrSvTEut69pau8qjq+vF3z/b/1X96qler9eH1F6vd6eG1Nt3GVEBFVb3OFl1dd9UCYmQX6lKwmh389zmLiKjIiopEQgi6c3l/qXL12aH1bpbF4PorDAEEMvWYhYFQNhgyuQA2SQusAJRNNCx1BCY64zriLokxGxs7WmKXjjxIJieNillZdE12mDE2KKEJpkZm4q6kpYzmgLWCEkEF2xaQ1sELxpAhLEENDW2QbGSMmptNIkYGI98dwzZNB9lft4SEoPZcMlB4WPqkcEm2KGHqXBEtmIYvRhR04SKJCJQp+rAeAgtzHE4QZ8ko2oy2Z8cX411y2K6oZv5RaatcaMKnGrHTTCNVoBVCNDEFLBpwjz64DsHKCF0XQskaNgqeAidg0aCibA+yKPGdhkAwMeIgCqC1kQRRRVVJhAVABWNqJGRAWBVQF2VxlV11df/ah8VEYFin1B7vV4fUnu93p1rtXao7TpEAQREqOsagYkJQKu6Nl0UCUSoAmmajkejV6MNAiGiAhzPJgcHR4iMTF7DoikVwVkXWn98eEyIjhygXc6WlFCMHbKUcR6j1rjkgbqhcQN2o1ExRkhsupFbiNJQBKRBoag03G7LgXfcpQGy+akHZEHfkWALDm/YSoykwCq8jFL7mIZ2clLNWkLGwqNUUB9XNx5821piWjV7kdsAYoJ5qvwDXmgXYj4a3rf9qM5G9tQiTW6W84NIdWtKNGMSAhahBCJrnMzDCYQKBMikAKwgi+Mr2+dV0qM9N5EkwMXKeGWwaTbejM6M8bo/gPSUkm2Dj8t6fNfFbGP4wie+UB3O893Tu298zZVvPFV/90qRj0ZvvHBQzfzNYxnk+b3neDyqJ/MiGxWpXdQzqqc+tIBajIdtW/sYEYFzp14lCjKIgnEu+E6Dqqq19tVBVK9OnloNTEVEEQFF6E/7e71eH1J7vd4d6/bpryoSAaKqvLotc9Vnc7sCB6AIeVFkSUoKqACooAgEEePB9Phw/8SZDJha9dJFjREAY5ST6dRYKxQFukl1DBHAxmw9TwYOwQ3OnGmyTBF9GyVImHWRJJRLqzFUpSDxmHyq1AoGJM7TZBwT2Hbyix/4Gau5VZsiAqgosgbWPJKrmsmF0TknAKBG+LTNf/79P9NSZHIAQSl6ZQKMXUugwcBvfe4PpNR1m29ag8v6v/+J/6TQREERIUIL4AUINAEC31bn1i8qAIPHGDds+ssf/PnCDQy5RjtFtQoOnSgqSh1PfuWT/9eNm4thfq61UI0KOHMqv/9utzEcT5fLl26M7r9r9MhrNj1MwA3zfPuR+7tqfrh21W2epgfuv7h+dtdjXZd+frCeYXjx5fJ4wjGe2t6dzE5OJhMUHQ/XQPD4cIKKaZ4OxsXx8ZGqMnGWZarqvReRNE1FpGmaVUl1NfhWBfoO/16v14fUXq93J6dUBQRjLYBEWW2BtwgUYiMi1jom50PrvQCDc47w++YBAAJiwHhSz63NkwSVKSkGozSvT04WNHd5unvunA/h+vVnMUvOP3ixGA8Ws/nioDRuABWf7O8fXN4fr62tb458F6pZh7lJKSWNIVRepNDUhEzqxlceYkJF0kkjJb1+9NCQ1pxaAFCIiAgqQTUSMdyFCgHUQBQxDNlrt94ACKSKiqsBqkCrZrE4x2qQfK4KFlSTIXVle9/GxXXdEiAHgBQBFBQAGZQUsEUFBYMeyQy1eOfpx0ksoggCAJDCKrwD0lHcl/iJbtnE5bzzDbYKw+Fs0XEzpWJt/NrhkmB5+dDbIn/kDRH1WusbTNzFe9Ld89tn7t9cP7U3nTTQNddn9ZNPTb72JJSlQbry4suCYokI4eTWIShZNMzsy/pouUQGRBNjnM/nr07vX8VTgO81xgEA9tMMe71eH1J7vd4dDZHZDIqi823dNMxmNBxJ1OmsBoQsy9KkWC5nPpTAgESEdLs5HG+XYSPKsqmcTZ3FoMAmSbKimS8EgKzJ1gaxXg42xxu7Fza3d9oQjw4X8/1q/cJ9xMbS0EGe8mCcrbfo51ySG3CyzhAoEfCB03XGBKxFKtEOgYfiDGCtAowEAYARkUAAgDyqAlohBRREjBQZ8XZ2FNAAQKCoJLp6FRADtBVX5Kyt54qzGqZRa0H1IA4QlAFur45VBQRwt2/nGgAGZQ6qCupiXH0bAQKsJusrOGRug59XpQ+dscx5oWog8HB9h5mqum6iL3bOeAgCQk2TKRrEM/c9eOb0XbNmGUOZLCbzp56Zff7LLAEJDGIbFZlutzwJEDIIBIm4WlqAhEDA31uIGmO8nUpf6Z26/VFf+Rel1+v1+pDa6/XuRKoxhPl8hgSIKBJnsykCKSioVmXZ1J1IQCQV6bo2SoTbpVRFZBAQBba2rtsQHLpElevGA5GgCvg6NoP1YdeMDveOTXrIJqU2zyDpaqMdiBriRAWXy0oFEnDRI7QBFEwkQKt1DAkQRrAaoFWRiBANCIGCKiqCCiiColBCgKAoEgkDiEEiAFqtSAURBAFCJAIFJVSESEMzypoCii3rThmtQQYJFFaJUUA1IiIwIABEQEAAUg+QqiYCqKSIFUBK6m5PUJXb8/YVwKjndonk3d3byByrJXGarq9Z5xaTqXYe8vV8kDcnc2kakZBvr3UhjrNcrXvpeM+306PPfmbxmS/hzevZhqmXne2gk8BF2kUvISohu1SCigAhCSgyhhgMIAAQE6jGGIjw1aunq+Sqr+wh6J/9Xq/Xh9Rer3fnQgQkUe0QDAKrhigNKBIRIIbYQewAAMCCaFseT0O3aSyQAmBEQFUjbj0ZBd/WLWRu2M2lMdOqvYXDdme8Mbl1YzJdUBdyt35wdY+TJA3GEk3KE2yAu2VKEr2fz0tnmMGKXfiOWbYjEZgm8dKZhlTUJd5IUlk7aAx1ldRgADk6RQUJpBaRFaLakpuhHw9hGDhyR9DSXnFoSKxGQIfgVrVS1SgUPXIVqjXOPLPzlEZ3DfY7LG1kwTxiBWhFkaEFMQzAaAtVpMyIKPgbWrKZMjoBQmWLaJC8CoAsaZlwOk7a4ZnTMVtfzA+wanbOns1MOgl2cnycn97G7aExyfzly+kwH5zZNS1Orl07WFzavne3ev7pyYc+zNPZ+OELpx+6b++pFxfPXLHjfPyGe8q9o/KlvWB49+IuiO5duSExDNbH65trt/ZuhEWH1uzsbC9PZnVZCsJobY2El8slABhjrLWvzvnv66i9Xq8Pqb1e704NqWBAVsOkSEBVGRFEAdEAgGg0bFQ1KkH01bw8Wc5kTVfbRlcZ1yCuZflgazxddoaMy1GYxxtnEj19fOOgrc3m2vl6duRcvnbqLGdZOK4gxmJ4SgnVtAHmCWfZYMgqkzBPzEaCp1iKrKWmXvqNcdqyaaulUHQqmehgfCujn/v4L4pAKm4oCYPxiBV13skQhjf2n//Zt3/wR+9+L6KKM8H4f/TRX142RDl06CMwgRJJWy58VatJDoN/371vsgtNEtfl+N986J8F3xDbQjKjJWMGigpV6AB9/U//+v+4PtwOCsBw2Ez+y3/5i1B0puCIgIAGEGP0FCNglmaVgwLb8Wxuqgz3FguomtE0punR8c3F0RGbJo9r1ZXL0xuX7SjXdm5mvjk+AOiuP/HZxbWr1JQJatibHcmV+mCOSKFsqpf2ukVJgBq0vjEhhbwjVMaTpmqOuYoIznuZHc+l9imnXqUp21frpiGE26f/RCB9Su31en1I7fV6dyoVIrbDwVgVl2VpjS0GuUQsy1JE1te2rLV1Xc+XpXEmLLr92WG3HlI1CsAKgMAYLmyd3ji/fflkL5Qe1/zumTN+Wl365neMuAsPPlgHX7bzxpjs4llMsqbb76p2fbQW2XcT15LJsvVksC0h2jICxvb0yQldw+MlCs92Wo+jpN3TiLY4KyBZGE321jzcFSqZXD45fPZmXJTIFk0RxEN9Y+f+YB8bG6AoVcAYqV56/fVfu6S8AxZBU9stY3Xjn/3jf3Dfbj453m+tqZYutDDCzXed+cAgSzc3tibL+fX9KzEsUxo5cp0u20Hz/IufnfqTM3YngkVlUa4aTuDBxaVELBrHTVmiqjAadi9du+6Xyxiy6fiGt3utzE3QwxeOAms3n+bel99+fiqdLE+KUC9Cs99BUSmIn5zs6clECR0hWu6OFsvjUlSdYfG+vX6oAGQcAi6Wc1BkZEAMvluGGgkMGARqG++AISIhxRCjxFUTFRF571fLUXu9Xq8Pqb1e7w6GQdV3XS0KgEGBQ+hEFDAgQedrwBhiCxCJeHp99tL+lcfufrOTXBFZGUAA48WN8+fOnHnqxRuhbrdOXWhFjg8nMWDmjI+VlxYtgIFGOhTjEYAYSDqpBDwyCGlQDV5ip2X20gf+3jvTwVlXA0dpKW1jMaItm3ff/LZ8+ZMl0Wk1aTE4T5Y0uUXOCtVMbMRYBY/qXAuWIjoB6yJ6ihmNNJ61fJa4AbVRd2LEQXF3anicpychdHbZWq8BCzsemXQASTRJvX4miKY6MkBqY0lTvfE5YAY1BpGVCMXkZjnLCrmIYDSA1UhiAFKIxhT3n8RDTwKDRKGS2iZqHA5caqrqIMayHY3tdnr04nf0oMmEu8w2Xc1VyPKRbG169TgrCbCMHhmh8hQgkITUYCdZpE4kWgEBgYhEt4/vETptABEBoxoAVIT4SnfUakKqigBRn1N7vV4fUnu93p2dUUlVpWlLYmbDIm1ZNUwWQJGgqudVDQAAzF0Tjq9Nbh3tL2A5xgIAABRQUXFAo8de+8jXnnqq8+gn3fHk0LVaAMf57ODSAlLDVZtkxeL6LUoHaYOIppu0/kRcw6YLsT5ZYplZU/Ni/Vzxnrsf/csPfoABI1QGTQREwe8uv/OpT/5ztRcaZrZu9XMTIqEaFmcxQgjgEB2YgFixKIMgsBJ3BFqQFhnnDoAxJyrWpyLHXmc+zoTKmKBSiBIFRLD2bQmxsQai6SCNEIGtcBY4ICYMBlf9YiCB2rlqGLRivYQQY6DOOuKIvnNw4hJwWZ6tDcRIU5Vu6U6vF4N0uHv3yeJgdPc4vW8je/HC1T/5zHqRbj384OL45NrXnoSyOvOm11tHNz7+her4aPjw3ZvbG/PnrzfPX8/XN+XihuzP5PJRBN143Zmd7e35dBm8ZFmWZsliMR+KO5nP5yezUDZdG5Uwz0cYtaqq1ZBUl+d1Xa+aqHq9Xq8Pqb1e7w6lggCoiqAkEVQRgGIUIgYFUFidESMRkW1n7TeffvLyW951bmsnCiBFAtXIltO/8sgPPPPsN//wqeeOD7s03WhlHopUQJDIcAoFK2cKDtEKgTobjfUuquN0dyPfGthRChDgdUcPPH7hLefetOkHilEMoxjWNmB2/cZR6cPZe3LM5oQkodVoECxCjoiihBBYXYx5BAgYIgpgA8QdYG1hdDHJ8/XUpSpQq6HOHbadWXRlNVuylBFEOSAAUK42adI2JI1MRcVQRKoppjFAx7jERYONAyHIEbjrkqNpQUSdNikCzxp/OMukQ8YobXUys1laFsctcFi0JSK4rAlgE1mCzU2GmNjhSBJHg4LS1GY5WIuJtUVqCKDI4pRTl40G46W51RHmxozTouK6NgYlbhbjZlruX7oOEYpBUQwGJ8eThTGbuzvVolIKgCpKzLxaz7BaOnV7OapCP8u/1+v1IbXX693JmMll2QCAmrY1BrM8lYhVXQPCcFQ465qmKZvl2uZG11Xf/PITn3/084+/981ECKSqQmBR4EKy+TN/9d9+uv7VeN+bBHlRnhxev5mL29441YV4fHLN8HDr3gfAuPZoWS67YmsrE+8mSXm0XprUWzufH124e/s/fO8H78/vV6oAW5ZUwUW0Myw//KdP7Mm5Ijk3XnPexDYcG0jY1MAemZGdApJmgQRwSJqxMoBFCAZzwWz8QA75erSbQh1TR1W8Asu2xeCTRih6NMqN8QG7RjsTfBAVIVGLSApKniFY0CLXItGEKCjhnLuTcVjSKdGL3s/Ldq7VMaZ4NKnIG9eBrQqYdSEpa9YggCInL1/V7dyNzXgj7w6OQjupbjw3dGa6f+PoYA+mVVbXAu21z342CnbzZZZn02+/PP3O5dg2JrHNsmy//ix4YWOgDZNrR+JjnHWGzHI+q2CGiDRK0cPycGbBJph6kXK2VBUiQkTvQwgBEZmNiO+f/l6v14fUXq93x0I2NkkzVaibhqxj68ggdK2AcpYY4xzCspyrG0K6dfzMt1944ds3Ht/fTXdQlZRVCVitujesvfav3f/mD3/70qm7HpjXpwgHTUs6GjjsBqmAHel4G6yNjMnm1I68dGkXd+dVihsbmp2M+PL7H3rg3ff9JYgQMRi1GDMkwCgv1beePD4sTr/VwkZlXB1aU+sIfJaGQSGLRTSmUEIIpswSdYmNiAiCKtAhJuIjjkejDVyYoc1m6h216RLCLHrPaYxK5CvsIqkqgGoXRQgisQqBepLAAAjsUTuoAopThwiJkJF1fyFtq8a0xkSOSrEdhrrybWmNYO41BgFCiAY9km1LlQSKfC1HDtB1bUldYyzmgN289HVtLIZOqNEuxASdg5Yg+ioaBYMoUSEKqkIMqGKYuzYQEhApCUcgiUxMpACCACqAqICiimhsDBGIAEFVaDUttR+W2uv1+pDa6/Xu0IiKsfPVydQb4wRC04a2Kx0ZCUFA5ydHhnm1saldHMc2CISvfeqbz773mTOv2WElQYlGTEQEZsz/xjv+2vPN//DsS89cuOv9RZYclbPKd0jjjXwI2CTphB2nDiPsBhpJoi3W+c6DaK7k9dcfyMx/8I6/YSAHBCsjQQnGGxRF/cbVrzfpzuD0ed9y1aEXawO3jZOlH28MjZbLWec4SRFbKEkr1S5SCNo6TQEAuRmfukCILEK+0BhYIGVrfBsgIAFrjAiISAqsSIQelAABEYAAjIKSVSVldK9slSIBG4WAJEgMEmyK6c4gtHn0En0oo+86z+CErEJEYA3ok6TY2ohF0rgk28zXzqRHVO49N2+L4fo99xwfHs1v7pEP9u4dFm5fuOJD24zz4XhzefWmqxq0phk7WNTpMoCITzighQNxMdYW29ziskk1BolgsOuCEkeIgBEAYlQ2xncdG0QSFds//L1erw+pvV7vzqUQFQQghKhEJCAq0QfPzAQQ2ioCMhKRaWeHBcYW0uc+9cLvfvy33nDXI2d4M6J6CFZZRJHcOd795R/+7373G3/wm9/60MSlMTlrzBpoUpkNh2QwSCThvKVBMBi4Ia2x/do2X/uJh978U6//8XPJmVZWATAAr/Zc8dWw94fPPJHvvrPNdth3tup0YVwNWrWLGfpZuz4abo7peBq1LRhaooLUUWSnOSgDB2PawWjtYM83i+vSbKmptZxunX7tbqFzLwE0egzKkRBAEzYJm05jG6OCKhg0OSgrdKwdKyOgggaMCEJd29w8ytIN79jb2gxYtlNuB+ijD7ZeBmecmhSYom8oiF0b+nHhdteCC9mpcbKRnHWvv3716vbFCxv3XSwWi6ufewKn07PveQsI3mjC0eUXTz32hvHm9uD5zVtf/Gqxtb77yD3NlVuzb13SJD11z8V5XVXXjk2r66dPuVMb00uXFYETe+rC2cXBsprXaOjU7qaGcHBw7H0ohkWep8dHxyKxv5Pa6/X6kNrr9e5cCAxKIsxsRVRXCzOJgyoQsnOIoCGKYpYVEcSmI18f/9GH//iBRx/94GN/axOGDCockNGiSoRTMvzpt/zED7/xrR9/9lO//63PXSul1qztgM0wK7bZJD62IZSGXVyWZ8zshx46/5Nv+YWz2X0DiKDLRIeAAaFkzZLoatv8m2/+yQuHw1mbdTxLQmq05cZAE3y9rLsOaPN40RXjLrlAy4PYVXlLoeMmIoIyMDZEJAVU6/XkxJbH8+PQqXJ9cvd7xncV6VFV1+qjx04ooqJCyjY1tpFQda1AADJChg0ExRfaVrASAEAj4B36nc7QXqlnGrszGK+NwC9nFcYUXMocVBqIJEmRKpKXVkWsUTaC0lpQrSpuYXbjhg3N/Po1F8Ps8Lg9OMByOfnqUwpmeXCQAsy+9Zzbnh298DIHaPenJ199FuZ1Gqls6snVm77zMcSG2R8c2WUZpmU6LkLTHd3Y1xYsGonhaP8YAUGY2TZ1aOo5ADGbGEL//Pd6vT6k9nq9O5QIJS4viiGzm83nNrGDQYHEJ/NZCGF9c9Na09bNbHoy3jylWVZDs9yb3PzO3sc/+4nd4sxff/2P2iitUYtoVaMBD+KA7jEX/+5D//6PPfSTT9z65nOHzxzdvHr9pJx2N30HOeOpcXJx6/S9u48+evGue/J7E8lIgwJHcAZVQQUzqAwk7Sev/O5Hv/5kWb05CKA2NgwNYgiLOtS+UTAFMwFQFdBB2Fx3k9hlW+bZ5qnk0AlWrKGEWMqt1Gk962zTaVt2Ldm62krdmcKw6iJyZOgEvEZUKJx1bFqBRIOQJyYlG6SxSUHefvrWZ64tJyomskfb1LlvmjJrO5aYGVLluSWwzIxWhIskCKh6FTSk1pnom+itehwNC1kuDi8fyP7NAcFyOj/aO4xlM4TgMU6fe6kTDbHNHXdHJ7duTIIKGbIiejBXHyIAsvGzUrtAhqOxGCJMFqkCilri2HmrjhURMYQoSogGwYhEwNU8B2Dmvpba6/X6kNrr9e5QiBBC13YNQKcQQ9CyFESU0IFqWy99yyCKIIt2SSAoDVNqZfiFf/Upf9RkH+Qfef27GFIAEkQCQSAFq6qosotrf/X0e+LOO+Xh2GCoIQSVFG2GLhVGiIiAAghhNQmLMBUMCqjRSdp+6uYXf+mjf/Ty5IHYrWHZoIRWuEUIZi5EZAoaWJWa0ZEOpWuLxOL20PPr/9Unq1+tvtTZKkvC1pbd2XqdcYMYF4Sj4a6NM2tNRQykgUFZQQUYQBARAEXYAIEaMhEVNWjkhMhK8daHf+z5GzdvytOtl4XP9/erW+U5tDvgUBO0TCgkBrHIIPPeIqUMikAJE1lxGoIkzGsDGqSSmGyQFMPhoj6WyUFM0sHa1vJ40k1PMAS3MbBoyr196WrIsmJ9MDs8Zo9BWs4ciNiIQTpMTFQVERvEg3rL0vmEMGoEgKhiDCOoRI+IiKoQVSOokEEQiDFC3zjV6/X6kNrr9e7UlBpEu7oWREbETmLXKQsAIjHNJ0sCREBEWMwqE9FF9jYztcpR+Nyv/2Fl5/K3mh997fsMjQKg9YQIwB64FQqqhjAjtgg2BVlTQVAFECWiAAhBEhA1SEoQUE1Az0GAiZafvf7RX/joHz538j5LO1lORgJh4qkLuE4cbcyUOsWIMCARQt9iseCjbJNOmrPtcptdnEujJl/bHSdDO2+ZktRrkMJrsBKMOlKjxCwCHikoekAEtUgBOaIqGoUGkFQNAkVvH7jr3RJ1XDQH5aSU+0+mR0dXL6ejNSk6zhixI0ZMrWZAa2teW9+WbFwECwikMUa14wGOE17PooNkOzcDKgbu+vHR7j33mK2NUdkefu3JeHK49fjDIHT4ma/feumF7cceHqytDy/v3fzKN7LT4/ED57sbRyd/+kIs3Ma95xvvy+OZKX1x4XR2enNy6XJQMVm6e8/F5cFiOS3B6qmzpwn01t6+RBwOi6zIjg4OQ4j90qler9eH1F6vdwdnVAUQQAZQRSIQXc0sAgKNQoAiQkiETAGDxmgQoRUMwRHU2Xc//dw/1V+a/tTej7/pbw50DIY9dgZYQ06AQIAQFTtRQkQEEEIFEBUFJAXGoKSCRoBiBOPBSHqTbv7OUx/6rc9/5Zp/hAfnBwAMgsiAaEENeKAUFAAdgAIgAgMyGI6yI6yWJmpesJIYYoGpzMKRt8e+ArzWAdo6w46HxRaZBLWEkCLWbIKII0SKygQCESRyDEgpgYkaKAJT8E0ohKLFzocOImVFspY2mXoD68Zk0LXMoQCyFlJU6qzzrEk5K12CaTHyEDRFNFmkgVqgxCDXBiA1GqAzauzSN7O6Cd2WWpTQQlBGDgGh9aFWg4Ew6aCNEhOEAITguiigjYE0hkErc4WgqEHVBw2RAFRVQTsfFYkMRFVVFABkkCiofSm11+v1IbXX692RBA0nWZrmiKbpuoQz5xwjVW0TJA5HQyYybRJUAAAgAElEQVSWGMuyKkZDSkwUbRbLbDDgIh9sjSDK13/90vTotz/9vqfe9/Dj77/r3VvJeQAgDgoBgQOQqDWKoKAAqICoBK98CYgKKoHJE8gtc/zFq1/87W8+8dT1oecfNsV2ZlxUiAgAqwVYoAhIqIigukpgCAgIKMpE9ezWjz98z9vObyZBrJqS/dhZYq1R4e7zJlJHuED7Lz72lXq5DKPUE5IYFBZEFWBjo0DCJogERy0CGDCCqQcFCcyeBVWpw5TAmkRsaqwRw4zEKglKSlClmI/UVtJA6tvZz//4m4ek/8snnlzyMAvlQAPh3JpM5xYquHn9O7Y92X/2BWteHM3kbWdH147mz3/801kXce9wGPz+154es2lvnRRR/Ozo+vVDqZo0irTt0aWrWnuogzFmejiZHk1UJB8Nfdvdun6DvLHkFOn45jEpWCAiaud1t2gSdsrkQ0f9eX+v1+tDaq/XuzOpALN1LiV2UZEYkjQj4lYVQW2SMTOILNvO5AlaSyJt04AlM3T5ufTW1Vvp4OLR89lv7X/li/c99ZE3/Mm73/j4D77unXcl53LNQSwzAoCiIoCCAiIqAggiIICAthRqrS8vLn39u0985Ltff24xntOjMn4AwAJ2gNEzRVFAQEQkWsVaQFQA1duVQET0xnnx46m7f2v3h+87nyI4BVJIQEQ7ZUuRFbElUel+4+T6C9/41j1vfjBY13RRlYHQIPko1ljoooBGVPGBAxIykiGiGGNtPLENxniGdpwt5yMPTUjy1I7ALz0pEUfGLjGOBiSa+tkP3bt9LjH//H//P2R0n7/r4vUCT2fppklEus632kLeZuu+uLV39NhrH/7V/+o//6OP/8FP/Rf/ALY2DAoBcqdNU3Ebu6aKIMDICEToVaMP6IUBpAuvvBHAiNYyKAASoQnBK5KXyMZGUCVWEUDGVcsU9if+vV6vD6m9Xu+OZA109TK0rWGriD50bTmXIIoATJNqoVGcdRq65X7jY0xcijHWvlosDtaze+BwPxJVh0t7WNx8aXbzS594+vGnP/OGz73uvte+5ux9r9m49+71uzNIrYKggLICAiopdlgu4vTa5OoLR9e+8uLLT9+aTxqc6wNd9kidnm44YIxWU8JODEaJgEhIhAiI8r1wCoSkoIgYyBEN6Zz9ncuHX3/2mfq7T8fpQpflP/zP/v5D91/83379dz77+SfjMK+SMIz05FOXzg5G4d7NdGtYd7GpG5s6Z5O5eCKEqmOOQbo0gu2iOLPMomOTe+WycQqt91JIN2acZnS8B1rME47VtJiVg9BNWp2BGw42AsQkpkagq+ru5g0jpyBNhGG9c7kEWzSJ7czGzst7x3h+vHnmbLa+IwDlogGDcH5zejzTZZ2ONw2Z6Z8+DbMFMLrRusZYBy9Cw93t6taJV2AiAhARBpQYffCuSGMJPnSiMR3lgtjUNSASs7Vp5z36uKpD938CvV6vD6m9Xu9OJOIBBNTHKEjEKBICRkBCBVQvABBCh4gSWhDsqs4Yiq3HgqmB7sgLd6AedUycycnay7/RXvrw5z/2micG59K1cxvDNF8v1jbXNm1edGyEk9Zr2/hF2dWd+GDK2ga307kHKd9Q2Ayptm6hmJFlBS+oBEzAzAyguAq5AIKrrZ6rm64AgBbEgscifRqWTx4dw34VZhUvjv9uDA8ifPG7T//G17/hHnxtHFiJWT4YvuPRhx578F5bFK3QYVW/eOPalevX7fmd4Ou333vfZHEybevXnjq7ZZODpv7a9ZfaqnrrPQ/sDgYS5LnF8VeuHdC0covpP/zBNxQcP/70N9739offPNrKKH1uMv/Qt57/7e9e6TZ3/SI1gAzil7Kkbr28/p++/k0/eW53vOYCKZfNU7cO/8nzT+rW+N0PvvEDa7uJxkceed0v/Ec/u/PAvX/0iU9+/NOf3NhY+zv/1o+/95ceuv/UTlB9/tKlX/mV/+mjv/t/ZsOiA/mhD/zov/dX/p03P/Km0WA4OTp64ktf+p9/7X/99qWnT50/MztYLA5P2OL25piVri2XIYSNzc3BcPB/s3en0ZZeVb3w55yreZr97O7051RfaarSVPoE0kEaQjCEVlAQRLxc3xdUhl4BI0R6FQQu8CoXFARFBAVBr9JEgQgIIYFAWtJVKtWlqs6p05/dPc1aa8774QTHe7/nQ314fh/2OPvDOWOcPfbc47/XWnOu48dPeAioAVVdAbVarQ6ptVrtlBSAQGkgQ8Y475WyhEBIngMgmshKYGtMURZRmjjPqU1dVapY9ETstrbK4URj1Gi02lUDKhV8FVpjW0hAA648vNb1Zxwp8gMEpVqHLIzv2ms6M4ESUqludkcFugEXGFrNcYqxAOeAxRbKqlSx4lzYMowhjkiBMIMAKSJAQRDEzZC6+V8gooAH8SQ2wzTesS/MnjlyYZbX7fSkhpC2E3XununrfoHa7cH8/CdffPV1M90wKn74/R977y++7MJr9+z51vraPccO7ZjbMmnN1qnpkXOP/OzB40gXnnPeS3af5RFWR/27H7jnzLHZfXMz27Oxr37/3zKJLx47/bx28vLdzz+0euK+n3y/qdtX7dt32XXnZ3znJ+78gW51AjF6h6GvegfffcXzX33OjrXF+R/8x4/W+/mFe8+7ae9ZdN1zX/F7v/P2v/jLa3btorI8f/fuC3bvCQg//ewXyx/f+0dv+v1XPf8lxw8d+txf/ZVS5ldf85qv/O0X3r7t1j/9wAfG9+z6X+//sN8Y/dUn/vLY/PzFl1z0il/+5Ztf8sKX/uovfvWfvwoKISYP/ujJo8jISkjDymBldbgqSoBIWFhCXQK1Wq0OqbVa7ZQMqaiy7nij0dTG9vv9KI5MZASpPxx6Dt2xLgh476veRjzWzUwEQsOlJduNx0+b67THE7MeMol2dbVRtgpr8+vx9LQ1QDxcoVWZShFnjElh9bgdm+jOnOaibgmxlzhLtoMLLl10fEQavtBRLpo1K2ppjpEdhgDgwCwzGhYSECIkBIb/3wR6ESJiEQAgJq9MATb2WCiUTpdKz6KdiohJUIckKbNxFWVXnaaumZuIq+It7//wvQ8/PnQrW8abn/3IJy7Ys/dP3nvLtVc9y+46F/PRb9/6prsP7++54oO/97ZXX/sL37vzB+/89MdW8/wM0/3KX3+uq8mvn1yrQPACr7K/++evv+dvPr6ifNV3z7/4os9+4IP/z6XnfPELn4TtZxQgAErx+kw2tbXT+uYDD/32O29ZOnYkDuxU+OlXvn7pjjNPo+4fvPnWO6+/+j2/+z/+/Wv/8o73vktNtQ49+vjlV17ywhuvu+ueO170/Beub/RE5Etf/tL3vvufb33rWz/9mc+86Pob2zr6ow+/730f/GAFQlp9+jOffs2rX/2TH/90fPt0pz1utAZ0JXsBIiIRQSQRARAjRF7iRlyXQK1Wq0NqrVY7JT9QmIdrK+Wwp7WtnMtHGgBIKQ5BRNZGAwQgpdCFwvuAjGRVAN/zw8UFlRdVv6dt0p9fAq1QKYVlvnS4gDYZZxVDvmFKr+zIBs/F0PVWdWYQsQDtcUOcU6MiyhWOlE4hJnYlIOWiqgIZABAYKg2b2/wgSFhA2DyBCggkQAKIzCBCiIAUSkCfC2ggKhQ7l4chYRBAEQUyLIpeVajLzhvP2J0Yrl5+2aUvvOZaNZP0V5ZWe2vbt+/el80OHz0ML+ATq2s/uvfRMy+5qLtrzjbaBOqb371jY7m65BmXzG7ZsVaUk0nMC4cnGRLRJ9c23vOx/6/fGdt16TPytPGtg0f+6vYfv+G6S/eNzd71wFGsOGAFurFaTr/uk1+6eK7xtv/+hrNnprfOTnVbrW7aXOoNnHHzo/xEGQqAldXeffufbBZz/fX8Bb/zslaULi4tv+UP3mqVUUSuqvLBcGxs7LpnP/vbX//WrW+59Xfe9pZLr7ny8OEj8/Pzj+9//K1v/cPeoKdj3T+xAUAQBDQGCQpIePPKBArMijB4f9rsrroEarVaHVJrtdqpyCCBDwxQVR5JhVCyCAZGRCIqQw4ARERBCMlxhaRByFOAqCo3Cp5f5jhdn18RrdAosrpcXhRuo3VjW5L+kcNLa2jiOGspX2bHhsO0s73Z3a6SCcmF+6UMBzEXoEQ5nUZRqcGTZwbGzY4eIUFBtZlYn3oQEdQMhgVQhIgEQAgDOUEGcABApIjIu8oyOABHwmhUX1Mf8tjHJtaBOspe98xnWGtdjHDamUWen1xbT5vNQ4f2lyGQsTNbtu4778IzLz1/5+QkIHbarZ1bt116yeVn7D03SmIg7CTal0VCoBBNtz155rm7Ln22jHfGT18oTIKAs+2u6j2ZiBCg1mZSDd/3679xw/bpLuDhY8d/8PDDdz368C2//CtgbZym01Gy9+xzA2I0OZ6cu+fCK69aPXx415lnE9urLrzysgueKVqsNkqpXr+/8WQ/bmZ3P3jvS1/1Sx94/wdueN7ziIWZtdYLi4tXXHV5QCmqcmn+pCazY8du0vTE/sfFh/GJiU63c/TIkbJwSmnCegRVrVarQ2qtVjslsYiACIAwiwAQbj5VRAwiCIjIAEwgCpwQIikyokgiEwxBErM1iAqMSpqZk6AjJdJUiWCGupGlKtZRpK2ntJG0W9lEO2nGJQaP4pRhMnlRRKwhGOXIeNYITJshFQUIAVg5AQEEEGAQAGCoNm+g37yAYHNh1YsRsPjziapIAE6CeBWEQBAIc4wKr0x5bH3d0/R3vvOdW9/7wQsuvyzutFfm55cWT1jKqjTad+4eRQoAIhuPt8azqBEZCyCNOJ7IsrnJmcmsmxCiwFhijRajWBSFXq9hI+rEEKtLWxM3nL4Fmcu1lamIMgBLFGO44cIznr9jenBy4U1/+Wd3/+zhkxvFoYXFN9x4U2d8Il9eWg6yeOyoAhisr1cnlxb2H5zf/+h999z3sutv+I03/ObXb/saabDWcgibffpK60ar9e1//9YFX923ZdvW88/Zd955591ww3Ouuebad77jna//rTcoTZtndntrG0wiQSRImZc92QiekTQHqJv7a7VaHVJrtdopygFn3baNImVs5RxpJYCklfMuhJAkCQgg4TAvVbNhkTWZ4aC0iWrsmrI62eAEtelOTIlWjNgbbMzNbQPsOpWXtNYYn4ukq3VUFiPI0rGt29JWF00MSdIYmx2uq+HK6rHjlWkaijQAk3gkFEVBREQUKgEIiIgKN++peuo8KiMxPjUqNYAIMggEAKcAUARAUGHFLoMiEg8QWKGyrq0G7Szu99eHhM993k3fv+9n61DMzW276Nzzb7zu6kg33v+JT+zYPqeJLOlIiHKPuUcH4sUIpB6Nk6QSHYQI2ijjzUaDwGaNz3zwg39z+w9GiwebWyeed8bu8yej408efvzBn+yc2tkgUSId7c/qNNMQ7tr/8Mf//tOdidnLT7voll/777vm5oo8D8srG2tri48/ZiXsnZvpLm/073mgJeELn/yL33ndaz/0Z/+T3oS3fe1fy1H+yle88t3vebdS6oYbbrjwwvPf9773/fWnP/OpT37qtm/c9s1vf+vo8WPPvupazcYNnQPQyiDQyvyqgCg0iqJio8w3SkSltPZSST3Mv1ar1SG1VqudohBcCFxVBtExq4ABBYMwCBCWwXMIWhtA1F48sFIQMYljHpQUaxmOBPSgWkStAKDs94Yl+dAvaQhJLiuuLFcinVTrQ9WI9aFV32h48V7L3Nl7s/bYGRPTu6LIaTaJJCZqSJRZq61BRAkBRRSiFxEBQtRaR9oopQiVAisAQQKzKECjdWQxVpxobZWyikirAHLgyMKM0gImKeXc8fSlF57W7s51Y//44wf2bdvxgVvf7U0QQRYExM9//h+LvJycnNSkSFGoKqwqyZ2wsFYhAAYmDhELCbAwBtZFUAw48mfMznz6d99QEeYEsTgs3Qc/9OGiyrOmQgWAEZTlT+66e+Omm5915TVP3vN4bKKGioa9ISiVJEkaR80kOfD4Y/PLi1c8+6rjC0e1jv74T973jnfc+qb/8buf+czf/tOX/5GDBwAkWl1be+Mbf/vAEwfKfOTL6j3ves973vNeHzwa5QP31vpvf/vbRQAQAIGDbB6HEBABEWFBIFJePIJgvZRaq9XqkFqr1U5NBlXRG6BSpEaBBQhBBJgBCTZvhdrcUhcoQBiCQqNAe/R96IW0UR4/aWw6CAKC1hiLvLa86H0TIj+5rQHro8GC93FKEUue9HvzzsY2shTr9XylTFMzPpV1J7bv2tYw2G5EmYk6WTOKrVUowUtVoTCLAw4AkjVsEifWGEUGwQZhx8F7b0jFNkoiEytoah0jaBFA8AI7cebo+vqDhw8++eTihROdq7eMd5vjLnIrTy5+9Zu3z3Unzzp3ZxQnDx48+C9f/eoD9z7W3r3NNtKhd/c/+ogoQQU2MgPnHj50cH59TScpRmRj03P5icUTG3neSVoB9Hqv9/xf/sXX/dp/e+VLf1FH8UMPPvSlv/viXQ88NnX6npnTdj907Pjy/CKZNJD53Lduv2jvGedt37m2tPH1h+7/zN99/vprr5vIMpdms5PTuYne9Md//P/+6itP33HaYGP408cfw3byL9/99nNf8fJfftFLbr7heq30N7/97T+89W0LJxfA6sVqcO0vPPeNv/lbz7n++q1btg7z/I4f3vHRj3z08MLhbKJV5LkrKkBqT3YYpb+yxoJRFtk46m30gOv3fq1Wq0NqrVY7hWFgBUAA7IMmCoEJkJgAAEFgM7KKRxRGRoLgAynN4tkrJVbKsqoqCEBE1Qi0VgKV9xWUFeYVh1Holb6ITVKhaziJ4rilk4ZNY+KQY384YumV5HzezqDdCq025y6OdRob9I6rErxDMRwYEXkg0ABMgHUIMgwgFYfA7FGBMbqRWGsI0CilEUBEAaqUvvroI7fd+YBfXXztBRdUMBj4Qenz9s65NG3f/907v/gvn6s4HFle7fcGs3M7Z3dubU20jy4tfON7/zG2ZcprKMAdW138ycMPH11f3Dm1rRTX9/3lEys/vv+nbNTY9JRopRspT3T/4PN/+Y7bv6LITg3NRA5bz9gzefrWyV3b//W7//nQPQ8m3fGp7Vt6CX3kn/7+6I/uLcoizxKdZZ/6yj8vHDiwdcvWZHxyaueWtVHvxb/2mjAcuVJaY2MT+86e2r7l0aW1N73zbW98wyIQoVZRkkSdZtLKZk/fvnRs4Q/+8FZ6260KiVlYghhoTrbmts/lRbGyvKpIbd+9HRQcPhBcUc3OzrTarSePHxut51nUSBpRXQK1Wq0OqbVa7VTEKGA0amW0AkS9eVcmKiSip3rpJdKKGUGpIE4rhayUYmxFyeR0tM5kMwYhEks6VJKkxvEYm8qnRbczO2pWNtUJA0WJydo6yRQpAWhPTCGpNGt4CaYxpqOGN83KK2AFYIvSi3dcVRrElx4AGVi0QOFYVGSN0qr0VRHAeR0bRSAqL2MkoqAUCgjAZtNXsOnknrOfTdv27N07G9tswBUpFflo1/bxM182cfyZFx08evzYyvJKNYym0onxVjNGJrfv6svGFlaiVnM42gCUZHbisvQZ7SSzVs0P5ldXl3edfe7kxC4YVYhKETTS5s6d26fP3qtdmBz5aVJxTMpoXw5b3eicS8/03pumSmJz3mWXjmfZ2tGjSttkYmrjxPqUIHCwFtcXjo/Wl3fNzjoIwfnheo96vWoeJ7stnGn1OecgzWaTQXyoGKtQrmtXoAMA7RGIAgSIorg7MTboD6SCVtwKGFaXl4IPSRSncTrKy6JcUahaE21wUnlfl0CtVqtDaq1WOxV5xO7EuI5slCRVWUbGsjBbW7qKmW0Uee+MtcPhKEkbZchjY4e9Io617pjG3LQsjwImrU5HaUSk1dXe5EzXS0siWe0fHd8+1WxBksTQryhK2lMzOkmjKPGVa09PVcxp2pDKJ9lYbOLMtJIGUaRFUIMhAfEMzjMLIBKC9mIMaiAtyAIcIPjAHDgwgEWlTGRNbIWARRBAAIKKCuUb49Semd191jljrB2gAdcxOlPKZI3u3jP37NmzXpYbXOUQoHSzSXMsicei8Uez5VElpJXWZFJqTOlus8kRkg3DlXwsndqyu1Gs9R8/PH/7PXesuJCMTWzZc9Zss721hImKNxaXVlZX3MjHcbxlciyEECudVraZdqMZx42ZwTAfMY7KlelGa9DvlauD3mDDD/tQFk5RcB76TpxfOL5WGgyDUSLkfdhYW/dVqRFAwvFQqAI1oFWmYBdCQAWxTtDB8cePISsCHdAB8s+PniIKAiIAIxr2wmdRXQK1Wq0OqbVa7VRESKvLq4Jg40gAUEACM0CcJCzcC0FAbBRzEN8vKikqZTGQyyUvQj+KcLhqICsHA9So49gyFmtrVRhRwxpC5DKMCk3aK2XiCIiUiYRIx3GUNaymxNhQFCYCRSWqYeExgpZVmiUAcGAhUgxhs+PHgwQURnAIQhgUMSACiwaVxCZLgzbLA2bHSikABJAFZ9l0QtVn21joKSMqcAha5xrXMMSaWNCDDKtoWJk8BOVCjFGcQLDkYy7RCzhFEGmjIhiZKlbIFHQsJkVmTy187MDxuw8c6+7aE7ozBaVeZRhH4gZax0YnpCSykTY2ishaFbfaKmtWPqzBybQzEZt4kPcOrs9jt9HqdDBvHz90QAxObplDgUOPPFb1h4325PhYq7+41DtxUhpx1u1Uw2Gxtgae424D+74HoQoFxco20nw4clyRRooQCiQBEVIGUcQ5UaRYRBGGAIaCh4BQ1SVQq9XqkFqr1U7JkMoiPpBW5TAHQmBRRArAefbMoBQD5OUQgUAYjOTiURQQsAvVcKiCL/obEgwjKetQx34ZMQiZwJE45TaeWKmUmG53ZMsVvayiUdZqNbJseHKetNq2bXZmbmp8LDWR14aNtmREbGCUECtOEwngPRMREDhjcmNEo1LskT1BIAQMHoGAVlfgyP6FR+99/NiTi2uD3Hsfgh9Otmefd/703Ja11eEtf/n5bC1X6BGaJKIRCFEAGCEwsmBAESm6bX3j8y66/NpzXafLRQEATpi0HmrtBVJHBnDIts8qMknlKdu169zIJstLSwYcSAHiIl0VFkxCtiHMpQCItlGqMotRCjoZ27bDtNql42MnluzcljTvA4dRUYGO2ztOr8ohdJpBpLFrh1tYbExMeA2GREY91W5hpw094rJHwapmR+kA8aorORtr2U6jWFwsKzei0JgZd6tlsZGjgvbUBIewurjqmeNmlqTJ+vJyKQBGeapHUNVqtTqk1mq1U/MDBQGFARANkCaltCBwZJWNNFF4alQ+RVFMpAqobNKITAM0jnjIO2a7Z11S5ilXkSs4Ng3FUWMQ20GlPJRQNYw5fde55Yo2EIM3HCwEQz4q1iBN4kr4oSeWH82WWzN251mzp5+1ffeWcYTC+ZHHihEDqCBIrBiEhT1iRZKjQxEBEtQAQMRWRxsVHXli7a47Htn/6KFeXvkYz7vsrC1zXR9nODPWMZEdT5LnXJEVHCnJEUUAEQAFABlAASsRAWLAMozuK8mdKBtps6xiABAW5RCRCDdfnzAy24/1G4g6sGYxOGa2j+/qMFfAqbaFqJWkydMTbswxC4N4okIrq0mrSLwOzJUyDGDnZpLx3VtmztKKIJB4Dr70IdeJCcDVKPfDPEliR6KCG22sg9E2ScR7PxxBcHq2rSqpVkfMjJHRkXbOBVcmrYhdoJxCyUCsEwVAZemYQZEyRjtfYgVdomY+qEugVqvVIbVWq52KqlC1J1oQGd1IyGjUqnRONTPQRpDEGC+SNlvBcxQlOfk4axV5pZPYJoztjKLJohc1krm4iozT68fXk3aGYU0P2PmRr1ynO7HccwCKxBBFxqasVOm9dwRAWmVVGfo9Mz/PKirI9ndsb4MECCLCAACCIvxUGxShALAIEjMiAiEwi6CyZUkri9XSfLXRD2Yse/0tL2nM2AAj9rAMEOdFYvCMa6ajQMBcqSoAIxIAIiJICIgMpEQTqYrBBxiMyg0/FA0KCBGBgQEEwAck5U0T10M/eBIAQ5jEJlZaA3gQYHCeq7T01hEiAyCiQAjiiEVxzkyMgVpEARTr1MYNMy3CWgwxaksMFTMHBGu0YgGRClkRxcoEhsBMCFqBSBiSVwGzOPGChStJRAOSNUM/UogRW0uGVSh8iYAApFVUOU8oWivNsNXER791e10CtVqtDqm1Wu1UxIpGZYUghAialDU+BOIhGk3GBiyDImAEJA6Si2OhwMiEwXsX3MT0mK5Klg3OY12l0TD3oZ/3V2DIHMre/EYWOSG/3iuUiWyUDr0hbQJAEONFgopypVMeSxmHFaz2fbtftRKL4hQgMAALA2+OawUlCIxIighEWEoQ1EQGyAUdXNUbLOou/vbbf7GfPPHte//3sDhBMHKo0oqcFRGviIKwCDELEqFSIqI4BA0MjF4INQEZUd45sBCYGVATCUIQr7wYr0PsAhSKE+2Nl+CNF4qRA4IPyIRKsUZRAGzZCEupRQQRfUAETxZAtPMaVDCxM0NTMTkSNMESI6NTFIB0jpJ4sIAFhEBAQQsCaKMqZgisHZAiT4jIgRGZjUfW1icFVqxZAapAyAjEnlgAEVBkc10cAaRCaJvG1DEP8At1FdRqtTqk1mq1U44R6wYOcyZyqCggamM8DEUpZYxHDIqc0owoioBwZIyyBkgxAsSS5dot+V7hxHUaoZuUZd7vud7IMkhwpYyKcnVqbma0vmKtzgW1akVRpozyIwlE0uhWNvUhalM3aGYBCaLFIfmSwSMC/XzqPKIAAhCQUqAAHKtK2CIYgqA0CvCA+Vm/9Lwwzj/40V8Phz9J4+zk2ipUft070sSMzW4r94OGblBsghVwrEQ8IQVlGCslXjgSElEV8fLCRpyzsmzHU4PGRnGlSCkaYS4yjFVXmNE2HPYjMDXwom4AACAASURBVIELg6SMMEOFiGhQRqN5biep6wRiQ8qRMDN6z5wPqZ2WQVmKUAryrEg5Jq0NQCnil1dHqwV3ICRZ8N0kwnYkqqL1QFmmsFzPxQSTNlDbSo0G66M4GNUSsInymYKRBnIhBCTRBCAoQMgiAIDMsHkVlcZiaBsBJ+oSqNVqdUit1Wqn5gdKIAnIrLQBYCBCVJpQCAFEEXFgpQQQmAMqLQIQWFARKRbvq/VWszkaBYVeuAesA5qgbOUdkQaI1laH49Oq1W0M1oeRaiqxCIZRC0EAJLQIOiJrgSyDIUVEiEhEBIJhc+Lp/wURRTY36hUzoFaIICiMKErmtnVHbnk4PNnMstGK3LT9OY1ghmuDoCSZbj+4/5E0jjjkR3vLPoWJJNVFGBSBWWNiDXmCSgFxSSsPHr9+z40XXXDBg/t/cuf+u8b2TuQVD1DWZTgedRvSrHKucOQqNklclMutqG1CPBxUmOhKcqPZBDp99rx8uFrwgmLwQ61TRmvKDdEuEUW6KT4vTI90YoJmlWrvQqrS+SdOjMHMay954epg5V/v/5ooZVNVqDKJYhnGRblx8ZlX9Nfyg4PjpR70e2tbo20T8Y4jo2MVDfrlUsN0tY0ClkIim9FeBIUEZPOEAwAAEGJg0oj1CKparVaH1FqtdkrKlYemRaN0EqHRaLQLHo01ccyAQqiRokYGipTWRfBx1hKlVZJ4FkhT303Hx7eWJw2GOBVTPukmR/1iZVWVTlylLeV+NBy6mXO2wpGCQiNOrNNYqUyM9eCcioZIqhmH1IZYkdVqs1VLQAQQEQD+K6Yibu5ZCyAgkHAAUMLCAIAclGtOJEyhcn2twJclSbxFT4de8cJLbjqyeOJna4+pVbzusucsnHxyLlk5uHx4qHq9jfz87RdVln/4+D1btmYqgQC690Tx6dd+6vj8we8dfPj8ndfcePnNt/7L28Em1+26ZMOU9z1yj8xkXRyfgnEUO//kofP3Xv2zAw9XSTUeTwyXehftuvin9z8wpOp1r/mVb95522OPPnbGljP3TJxx55GfbIz6r7rw5ZGzX/jx/y6nqgmxe7ZfeP/Be0a2iGeSREX5ieL6rc95+TNf8e3v3RZZ/NjrPvqpf/ub+ZUT6UR3sNib1bPzvUoNteZo/eTGjmRsX7p3T7z3nHMufcvf35J0/GV7Lj84v7i4tticToNUStgEYMSgCBFANhMqAmxu+sPPM2utVqs9PeovvrVa7WnjQZJWI2k20lYz67bjZsM2U9Np2E4zGmuZTkbt1HSbupVGY03TbthuBo0IG7HuNFWzy6YdbGbbU7o1oZpjIcq0TUwU6TgycWyjNEu7hhqrvWLH3h2QcmWMxG0fmVxDoc0IyVkj1ogl1pvdUbSZR4kQfz4giei/DlP+PLWKIBAgBWFQoiyIHjnsly5oaitJlcK0A//02Dc++cO/u/vEQ7ff//0v3f0PB4aPenEvfuaLdpltH3vdR/NHB7/yzFddPX7FFXTJ37/yk8OjUkISNsqrd5wHJnnz5z7009EPP3X3n7/ta39cVdU7r33Tvuyi53evf/OFb1j61uKfvexDL9vxgrc9+3ffe+MfXqau+NirPjG8Z/gnL3nvLTf/3j5zxmde/xfJYqzz4E+6Z49d9VvPeD0e8++67s2dJ5OrTr/sVZfe/J6X/tbule4Hb/7T3fPdj7zs3XtwO656KGC4WN18xQvf/P4//OL+//zqg7e98b2//uhjD73o/F/6lXNft3Bg9VXXv2J6NHPJ3Plb2p3dbvzPX/lH581dePO1Lxqs9zo9879e/j+nj255/fkvvyjdzYs5IlUW+xYqTQAogj9//K+nSqQOqbVa7elUr6TWarWnTRr08MQaEBSxBUWgiAEkMiNrhMgDgtaV3UBtQJFnHjX6ZLW2iQMhHTdb7bBeRjC2eGIjyaazHoz6vXIwUN4jB+9UACFt3fGqsiemuurok32bNmxaEYVKYqWJAhnHxokNgPzUqikzi4CIbPYcMTMiiogIAAACsDBLABBSQEo21ldLV1SlV6ghaBFiFMESZ5oZT2IjjtpZajM3qJpx9pV//IeP3/bp88+9fGd7+y9dctPd33sox2rb1My2qbnD1YkYSVNc9QNh1ujajXIjH6rTou2zUfflH3pF0pz8xp98uWu35qF885+/7Q2v/f2lI4du/85tn734byfTpnLw3g+99+7jP/rHt3/pvNPP6zm33O/ddPHVzZ7aMrl9ojG7bcfuf/juV7vY+fiXP/6WN76pk7emunMa0ysvvWb/jz6nUxYRYOj11ub2nP6R3/j9NsQf/+I/jA4tS9TY6K95V8BQ0ZDcyfLF59/8kc/+xce/95nfedFrrt/7nGu2XZpWzfb49liSq86/8r7bH0qhRSLESLB5/ZbA//UDgmC9klqr1eqQWqvVTlVCKESguELSSAG10lICVx61JiKmwKMcrA8AoCgUzEZ7GqJWmMbruVub35jZvt3nxYmloiUmGno3GnjvNKITCELaBKXp0IGF9pbuxK7u8vJxGDVAxwFLL+QUBgRH4hAYIITAzADwXyF1cz9fRJCAGRlRCAAYkAEYUE4unegN4zTpGjWuyQTOGXIBFogJc3HrGWEkHKgfKGiEcpbHz50MFnPxh+aPP/jIw0f4KMzQyvBk2iWJ6PsP3/Mrz3rNG29+xX+cvP3aHc+55ryr3vi+385J3XTFTaYdu3xjI6w7yKd3j0cdkr5vnN7J42ooG+TlxmfdmD2Rdccnj64dz2zLZukTvSfKovzhHT/UaXy4PLKtu/W0sdNPO++sAxuHT/YW/+Mn/1lN4H3HfqYyU8WV6tBPH/jRR275o89+7/Mf/bMP3/LqN01Kdiw/cWnnovNb+85Kz8qV81bHafuxhUefdfm1D/WOXnPu9QHiJ0aLo6p31/dvH+R7V9JVlSWBgBisR0BxFABQgAFR4Knmqaeiaq1Wqz191Nvf/vb6VajVak+Lb33nP+760Z2swGYxRhpi5ZVQaqFhsGHFKrFkW6luxqqVSqTT8XbcbSfjbYmNGevEW0+zM7uokU3uOE0abYhaDcxi3UhtmjaaUTPTaRo3G6bb1NnsmldlilN7tpbWjlgFHVGWqXam23FzotVqZ2PdRifTqWWCwPLU6CnEoAiQUCFaVBpRE6IJaKkK5cLCkSxtTU2cPn+sevzgyp4LT7et3sEnb9dmgGAUR1YlLLRUrg6i0tqsDHhcL7nIq0TPV4uf/tfP3/CS5247Z8c/3/Hvo6SASAhQJeazX/vbK/defONFz4NSf+TLHw5nyz0P3fubL/1vp+3e+Rdf+Lg9vRnicGxlHoysFusVWqfcsaOHfuGZz184unD1Fdd+9t/+7kBxsNXNFsqlbz54+9Rpczfc9Ny7D//kYO9Ar7d8ydnn7jv39C//2z+4uHruC66/+7E7Hzh0bzKeoMKs2bzjvrt6vv/iq16wbfb0v/76V3rd6jsPfKc91XrGRc+46/4795cHfdNvQO+2H31jy9TstVff8OMH7z9Ey/959AeLa0+87JduXseVf7/7G525JpPDzd5+FEQBZERAFEJBEIUKdKOzmrzgwpvqKqjVak9PQlUKq6q+bblWqz093vK2t3zhi38vBEm7qawWjcOi4MSoVspKcRBf+Ua7LYqMiYZFmXW7FYtJGk7ERFlobQtmKnbYbKYe7cqhPFkBXF3NXC6hYOLCedS2sg1mnbMMyFOLxmabADLoO6bMm0Yy2dm6bXzHlvG9WxunTUZjURWqYcnsBJhDJbR5KpUEIlBWkSH2ulre2FjbWJ7qtGa6O8t8/N7757/xnXufedNlZ1yYfPsH7w74EKpgMALAldXlOI7TJA0cBv2RsaaRNpYXF9uttneut7FRFtBqd7PxiJQoVkB2ub82XBnCKGji1pZWOtHcONkrTxYEqjnWStrpicX5qenpYT+3KrJWLS09OU3dd77u3e/70w88UR1pbE+6E52l5ZVGI0tMtLa4Giqn42hmy8ygt7G4sJYmzfZkd2llAfNgIjU+00VDARiVqgq3vrhejipCo5RqdpppKz159AR6Ec0TM5P94cAok2WthRML3pXWGq3V5OTE0vJy6SpAGp+c1LENyAzCyASEgiKCgIiw2XymZeRNc/fhmU++7hN1FdRqtaeFMabe7q/Vak8bJlzrbwjRUIKODBBW3lOutBfRylcBkAoeYBSVyo/KUphsklRh6AJjLIx9lY37gayN1qe2buWwOgxolfNSeM4dYEGxFzMScgnBeGZmO5TqIVfdcd3CXHxS+ijuNHE8KTpqWbwZyEoZmMkJMTMwe0ZUoJAJvEXWwBiqPB9oZaYm5joRoSgmQmO96IcfWtpz8b4d257xs0cfixouSI6I1lqlVF4WRmsTaaWlqPpJ0wYsTapblIpYZbQPI2BB1ixFHFE805EShEWnpleMTKrTubb3oGI14lE2nlVc6kQFcVXkouk4r9ytn3yHmYim2xOh4XLup+NWsHLoG9NaHEZKV9WKjmhyyziLclKOTTUrF0hJX3IIwCjCoIxO5poqd0YZIiUka2E9mck06IBcRUA6BlADLrPxJqk2iCBBDj4da6uqVGQ9UVVVqJQPgZEtgJbNeQmbMxNAAEosAhqPUpdArVZ7GtUhtVarPX1ffD1yr0KFPvdeoSBqrQhVsTLCOBIhBOxjX6xmUoBQ6XVlDBpNWlVWheYax+sqtx6ld/zwRDaZL26oUTkILqQmn2jj7Ey2ZaZ72tjubbNjrYQVeAIQAh+0OM15CINSXAg94mHPRYN1rxBEWS9AEohLIUDgECrgCrlSKA2TTDenmmkrIkZfsYJA6JWknexn+w9P3jF56TNf0MxmBsMTIaBWhvmplnYAAEABEmZEfGpkACIgMzsEL4BCBgRIXOU8QKRUXHIJqqIQlJC3GOSp3xUWBUqJYhawwl5gmmITOZMLEgQjAFphYA8SFKID9BCQEEQp0BocoRNtkFA4PNXPtDnLVEQJomxONhVQIEABYPPyLWHQqCEAkjCACBAhMyMwIgJqZiaEzZulfn769KlzvQIAiEToKJg4yvIjdQnUarU6pNZqtVOREgLe3AjeHACFGFh+3ubPwAAkanO2PwOS0hq1EhARBtBKKyFRNhHQpYfCuW3bm8eeGEF3Bmcm9RmTYVeTpxrdmVYrwbToGcbAumTllRJS2meRziIsvO9zNSh4w4tzwXs2nkmBtxiCJARKKUM6M9oiUNBqxYHvFzYyjciEp2JjLJR1prM7fnpgsTd+2YVXj7dVoBKROBBs3ggKCABIm6MDQBAQN2cFEASxKIzkEBSIDZWiqmJUOmUOCA5BkMgQGKVjrSCIbAZLQI/gKDCCAk0giEFAAVDwAMjaiAA476UKIVRC4sEKRIJaQHRACawIIbAmgMBCwIaIWYEgMxIGAURBZEBBAGLEAMAQYgiEDMgiCKwgsHhAQQgaRdhDCAoNELAEAHhqTgIggMScRMK5D3UJ1Gq1OqTWarVTUUGeskgUmjSJ0ziAVFUVRTZppkGponSBuTU2xtY4Q6O8aI2PAZKO41FRJOmEmdqFzS3SSxibttUaLC+v6jVqZqXtwsQ4b21hh5rd9jR0XAVHAi4N+kWZW2eFwBFrsEBExmTxdEPPjVHVkFyDFwLHAMIaPLIQKgHDrFksCwUXChwZgYHz3UhbRAJGcioprU5EdZ84Vhw58kgjbrI9ZIwqcgmeQAgQAISFiAgQkXBz8zsICzsThFFVCOxH+3bOvuGmM8re0qhcDcEnWqsoTVpjnKuFJ3triz1feoUIDE4kZ2LYnEAqipAEXHCeK+8rEW52mtt3TrW6zSxxSkaFuLXCnejlB5f9oYWNjZO9hWMnuHKGUImv8mFwlY4MV1UYDiT4zSVbqEqsSgIW9sQCXpAltAxEVhQhodaiwPm85/oLCh24UcgH4jwyEjM7DyFAYGFBQBABZMHwvMuugJfdXFdBrVarQ2qtVjvlEGKaRAElazV0ZFlBGAokipoWrKICQmBpKh1ZDRJYmUgrG4kxRiHEETVjbjCJkmApzkwqvZx1R6UTWZWJtp7X1aDff8AMZGW0cXR1NPRkU2UTkeB9ZVsZxyZpJdOtRndiYutkc0uTO6rkUFQsTiQEH4CRFIsuGYae8xAGwRWiSsERB4c6IqDACpWJGiwWTBzFEcqGU6sAVDgJyghaEQBhARFUAAibFwcgsrATAVIRiChVEIviIQyK3BWjfOQrYS/OGmwcObx66InBIw8+PlwbQUBFBCjMgkFRhYqU6MAiCBpBmEsCBBTHnqye3bZ17pyJLTuibgt7ftRjnUfpMG6M0nJklRCIQnDOM6BCjUgaggbvKkUq+KBCUMzMHsWDq4hFI1VVJVKBVUCA4rzru3IQfE/8CKsNroZSluABgwgz+ICByYsSEBeUOAdO3Dl1CdRqtTqk1mq1U1Ec1GCpBwrKQQGEqBQiOoVhsSdaMwCSWl3YUHEaQgCk8uTApGkAZCCVbKjVoW3N+aKB1C3ixZADVTrP8laLLZr+8upwTcW6pRJnB6BWiqgXolSBcUExhRB7GzJlYzFSxjgwAEZIiwMpAQQliHhBEUYklRhSyAx+xAIcBUQH4J9qBwqoBTRJQNJKRV7rAFg6vxVRGWskILMIB0AmEiQSQiBEgMAMAAxiPYoygs65JE1tr+gHrgqjPOhAECr32LHi0IF+XibctBXEEGdRA0Mlvuq50YCibiMxzvhqyChe54CNrobQ9+vFRm/IZuQmizW7gxxqsllMOXm3yoSTu3aUEtz6etUTaDYjFUWkebCAWQS0s0F+MH8gUOp91kgjXwwHw5Ii2+I8S826QuhkiKHZSvrrC1pKd+j+dneCfEzVcH1hMaIosnHwoRqM8o1hq93hqoLKl6uDdhyJqeek1mq1OqTWarVTkiAhEBCCEAhKQKsjYIaAAqSRgEEAWDwIklGSh6oYoLUmsswjkb7vD4OOUI+qDRecauoxis1wzdkwyhIVxWo0WhIzVviigkFR9VllhhoBjQiGKg8eK4xyjEbBlkFK9jkGRAoEjr2IRyEGIRACo0WBCFBArgQ0A4JYYANoSbdArWk9grREXWkxzHOkM4UCHER7CAF4c1YoAcnmXCYQUcCGMCghEoc+UsBsw2hjb3NLP9dHKijItlPfiWHN8IPlMnanu+r4eWdv/8Gh9dW4wULp8vC6S3bf//jqwKr1CLeOUdFbGpubPDoKgqaT6qvPnXtiuSxxVcxUGbwx4jgkFC6cjagV3Xekf9LITDK6bPvYExujA332zFMpdCfa+4sY8vXrL90tZd4b2idXh0DDsbm5Q72N2AcdNq69/vq79j8aTNTtJmONMctV0TwDIN9YKTrpZBXKBqVJbBVyvqLXMExuHa+GoxjpyVF/bm46MrYugVqtVofUWq12KgoSyCATULQ5l9Mwg9KiE43GOB88hzhrsLVCVHmXtDKyWpQqnKMkbUzNmWRr4Rtsmp1svHIKnS+UibttFfug13WWt6e1QCZJPKxY29RGTYoz5iBl2ehM5A2rmpHSbCMXESdKKQhBvAgKgCAyK0FAQBAlgsIEzCBOAAEUCwugCAZVYTwgyn2EqIwLDQltIUb0zMABgBBEbf5NoJ8PtRdARcSAwEDEmgCZg989Nz1nKG83Hnz4IU3xBefuBU7uzNfX3RKn9EevuTYceXz39MS7/vmHOD33jlddmS0desGuXa//wr+tdqdff82+WUmrRvyxf/3R4SJ9xUU7n9U1NDH10Tvu6UM5rdtQKl/hJA1fefn0337/8f7C/AYWL75y+2t3tMDG7/mn735/vjr9tLlfu37Pr//x31DUuurKq15z/flvfucn73rk4M1X7fmtV974st98x0lov//WV53WNq++aN+v3fKu5Uj/yRtfe1qqDi8v//lf/fni0rEVi9WgGLlSafE8glElpT8yeEJcqZwHh/v37985s7UugVqtVofUWq12KmIIYxNdNjQ1N6MiOyqK1bV1lelovE3W9nq90vn29AREVhBXexvN6Sky2jbSjVGf0k4yNpGkEzLUDpNseiJ3ENxKkQcznhqjAOzIr4MCm64kcSJVUq6TSdsSxeyLclhRU7nEAvnESCvmiThqKwpFICAEEhYIugTFwCiEgACEgsAGggUCAKdUKWq1P1pez9eDHXluB+j8H/bu7Ne3LTvs+hhjNqv5dbs/555zz71VdctV5YrjOEiRaGJHEeIhCIQExAgp4gkpEuIBeEAC/oA88YSVF0sI8RIHE8uy5NiEBDdxFweXLBy7bvlW3e7c0+3m165uzjkaHo7zP5yH9fkD9tPae38111xjGHhzBcNkSkBgRszydkKBAejbH0No8Bef5zsBMClko1fvQRN2/dAg/tzP//xX68V3vv7dGnHi8V/+v7+9ewhPN9P5efh7P/87n55cPXA8C19bVf/wH/zuf/jTf3N6/iMYEfrxP/mrT7735Y8OP/oBrj+8hA9/7Z/+q7/6M3/57P7Ndhiq736rCssJcnDjpfH+00/efP5ner4J8vSXf/sPrs8XH2DKzz/nr1/W6Vi9+ewY3/tH//if/Js/9Y1//Jv/jOsNl71NoxyPqPydxxe/9L/9/f/mv/sfquPp0BW8ffj3//a/9/u/9cfTx8+VD9xE56L0rAoAVciB1LhLFTWeCxNnSTaPSZ3NZnOkzmazdxXe3t2fPTr/4svPiHy9WB53BxxcTGxEJRcx22dwTW1qXHI/3ca2cRtOh319DqAtE2AK3rWmUvkFAzeGrRs9Yc5j1NqKU0uJ+9B0gRB9yriagLlJk+ua1l+t4zeuF88ul20bEo/iKJsKkoADK2jiCR0qgaG+HcMkREaEZqnrx9MujdSE+hr9mlkyMXlFdCYRKRuqqGpAM1U1ADAEIARCQDQzFXUOFU3VcuUF2Df+zeHNy/v13/7Z//Tv/fIvvZ0JQAhZJUEldXVUOMr04qHTixur/WS2d+XkLeVRUtqq/uDFV0/WZ8P961JdjqDJ4QRMvfDQYxmb1i0UXS4efbuouCRaNFhH8MHFSkvBktE0KysmrcFdn0Fdx/YMYx1qF1A8Dq6Kk0dqQtZcgHERi6c/+N4ffvcnfyKVEwSNZ3UeMkRzPlpmBdXMWBugFisAYGaI853U2Ww2R+psNns3ExXJBDhzdzwBgiThQ+8Vx7sOnUNDD5jpoEAEiAQD2uAwLRdjfyqrpqM/hVKTa8z5Q6gxLHXxGB9flg+u/NoLFBFPYRGqNoz9+OILGI+b88XmZnXjvGGsdX0Vbi6pXt8XOrptc1FXDVqhUFOsnDKnfioZPZGj4OsMlAoPeRylc+ArcmVR35x/KNXj+zeOcaduhIjmBMEArRibqoCqmZm9HQrqHCqCoSERAigBqzIIggk6ABGTpz/2Ya/5p7714x+eX2h3NINX98fz5aPlcMpUa5L//Ce/8Xf+o5/4b3/x/5HqrGf4a9/9aBmpAafBmtr/4u//0c/+jZ92p507HFT1p79z8f754v8qg9ZniSHY9I06LqgdsuyO+0fvf+14toGK/51vP9us13/wg09pycsobrnQJxtfW3seFi2tH7WH9oIuFtaie+Jx3U5B//q//TNBLS5hsakXV+vf+/3vXT59tnz/4thtP/zog4eHnacAkiCPXqDbn84vrk777cXi0e1n9x+991GI8z+U2Ww2R+psNnuXCYCA884LIpuhIjmV4gRMgRy9nXovWgCxbiqaBjgODtXRZANIYnMWVkuoFtD/SN0TvPmu1isGy6PWzTq2FxWOadiGsbu4bBpmHYbSDU8XHzSnAge7T3ncrFbneblopUyhbn2stEw8HFNW8ESOXKy5asUH56Bx51WoFojrZRvjqmMyEmxYRjSM3psDNihIXtWARUWEVd5uAUUkT+QcEDokFcnCiFQJEUJAL2Td6dh+48kv/cqvPv/0jf/OzWenw+pi+ZM//uFv3f1Jjfhzv/nP/9aP/9T/+g9+AxWgyM/92u//nb/2E3////ynXR3hEXxv17/Y8ie/8lvp4qJq8XdePSy/8eT//vU/+v6LT77zV/56DJtVjX7YL2P9+XT3s3/zLw/6x9vL+nR4OX70/m/9yfd/85OPn37r/dQM/+yHH/tV86TRPL3533/9lyb/5qwqrz/b//Kvsg4a+av/5X/8n/7L//g/+6//7n919/nHzePLX//Ff1he3f3Gb//G6cVDlDT86ZfTfofOeUdQci6Whmm/y1LKg43DsfvqlL794TfnZ382m82ROpvN3kUMJS6Dq3EZF3VVLduVQDZHq8uVmeV+Sn06u7yAQIXzcXc4uzjzVQxVGHBcXK7adlGz6/ddknLx5D1oa23DbagWj8/w7EwR72/3cd0ubs7q7NOda+rV+uZpXGy4O3XbzwnOzJ85RJ6O1fLp2dMP2toNx4cQfaxryQN7pK64qvFVE+qqeAdgpeBQgoiiB1UqKRfrogsXq+Z13ikCOkeAZqQIokXerrcnIkMwMJeBDMkQEYlAjUDBSMgpgGi6quXJ2fqff/LJn335g/aiiSt6MR6++P7zX/i9l7q+yS394WC/+Wv/Ih9PblXXdf1DtP/+F/7JeLuHy+vYrv/ozW4KzQ8++xSf/dhyvfmXb3a//yc/THfbbz59cna+XngHLID0kI6//cknn//JvzoWvrr8cL+j//n/+J1PP/7z2tVtV/3wj7/4g1cvjvuOKvenw/i7v/AG0oSA2+P0uw8Zmgq5+57I3/1HvwKEEKl78eJXf+97aM40gRkQ9J/f/+tFsABGZIRIhzeT934UURK2Mr/sn81mc6TOZrN3FBERESKqCBCgQwGLFEGNyEQEgApziAHMCADVEMmAgEHE1LtRJHlISL2pMdMYTAhGgMAG4lLSYZjGrkzHPEywT4f9ripJTrv+eH96OITQVIb5YdCNwNh4amKaGle1sChYjaIsY9CF4yZoZAF7u3RJEYkR6gStFQAAIABJREFUQJnQYXTcOnuyiTms7oaTwgQijiIbFiwTcDLxBAYEAA4oADgkBDAGVUBj41LQG+E6wl9a+qcR6rB59pd+wrq8urqGurr+4Osf/NSj0+7AzSJsLlZxbaszBIJVzTG6j75dX+4q56vVRpaL4J1zdVQC713tMDbrJ0+fXK02NzdVYMlc1I4sQvXl+988Pv9C9t3E+awN33z2aDwNCz7y1G9cZjwG8Tqcrtu46w4VEVCJay7TCdRcCETAXKxo8B48AnAp5r0HNAQqpSCi91717YVcdZ7UCgZ05rgozB9OzWazOVJns9m7yXHwHKWz8TQN20nPbOFWwtBtB+fJazztDjLZ4nKVc66wySee+m4YBzlyPx6sMwJkUUAcbk8pTxmM3v/a8auXtlwYmRROfbZxsv7evviC704vHh7aZdtIhm445Ojv7mpyVbaE7kE8r5fEA7Q1LpNyLqeO0+BqwThIqqRpxVesQdiQlE1Fk5WyWjdfr6pzm74dXFosEIpzVIwUQNAGyYOWZLmoqkJji8q54Mh7B4aFNUtOmjMjAW0ifX0VH0XpJ7p++r4vAD54j8vN2fmTzaJuS4MhWLVa+aopBr0pqGETq+oqeG/OGyDGGM/PSIxVCkhYtKvV6vLmrGorASHno28HLsHX6w8++rGLR5zGzz75uK2Wzz46V8m7+5cnPX74nQ/X+/V0PL3s9o8e3VQbV6O7ff78vD0TLqSahqxidV2lKcUQ9vvDzc3NcX9crVd3d3dXl1en7uSdz6WoWYxhGIamacZxXK1Wp/vTzeISkeZfgdlsNkfqbDZ7JyPVuWHoDc0FJyLb7Q4AARwEBoT1coNEhtCfTmkYQQEAgAAAgneaSv/qQRGMABR8DE1TJ0IS1ZyhRHHm0aGqDlmPIw0Z+lTwUJiJJTDYcdBFJw5AgPsHTVdpyNG4QGHvy5Smvp+mk0xTFV1JQfASls7AAxmAck6pz0VzWxbvn51/Z3OGVLVh2UZER+zclMeJ84t92k0lmRZVU6uoj841wS+btmnbovYw4qH4KWkQd7Vov/5o059ufzR2gAhIgcIiesXKeWaiqqLoSkBAR0lZS8JiykVJASwgoSipqKkYkyOnamCMlkCScgETj8E5U1BWDubJlzHjWLQwEKKKDkmngkUb9KkoFJUpNzHYmKwwmtY+gGqyDABVrBySGRBCHaPUi2W93MGuDrVECSGonMR00bQIWMUqjWnZLlOYFovF/HH/bDabI3U2m72jMqT1xSprZuPgwma5GYaRXKxWXk2Aseu75cWiPV9N45C6YblYYvR5Svvb+2bTXjy6QucOXScim/Nz70NMMi3b9c0VrpYF+HTsqnZZX7/nr1ZjN7q4uvngWbNu8+54ujtdf+tbzddu6qj93f3ix7/+3re+e9Yuu+1d1Sza5RmXYg9L6w9tvSCC0PqprXuMxIZcWCW2zQrWG+FVdJ7calltlquWoAITs0Muba1Fadk+6or1U84pCRfneFlX54tFG6op50PXm4w1weQlgn/sq7WUwzhoZkEh9WClKpSgqDDkKTAESiTGisC5sWzCHljECMgje6AibGbFslOIIkCoBafkrPECKoKnacqFT8dO+/H+q+eRxQ77BDzclmmadOJyGF/ePd8dthUS7rlP+93uvnYOOjmediUnFQXyZtY/9CmlKgZh+XJ4nsbyUG1F5Hn/VcqJkNCRmBzujmYWfBCVL45fmuhxd/jOd358/hWYzWZzpM5ms3eRmQrIYrUoUjabzXKxPP3oc+dD3VTk4HTf1XW1Xq/MYV3X/W5PnmJdrTar/W7rzlo4byVzGSyLrJoqx9Asqh5dWLS0XpnmfDo1MbZN65z0zkPV+IsraGtW3O5OTy7WcPOIqhjCZfPhT22b91/105RWlW/j1IjE0fKE0UNL4KOAJRscDspiyBheca0SX7FGhba4TeK2zW3EGst+t19e3QRqxlR23dRPuYxDRFs3cR3AJykK0PoKwjJWr7dffv7mc79aLly9qlzNsTdLzOwUAIIgilNg1gxlsJwYOgNnUJEVKr2pgBiZBgrIiIhBRVVFJjT1rOjIyliSF2mFNLGlseunfsppGvvb1y8qo3Hogcs4nNIwEYPlNPbHYewHMch6HLs0ZAWzVHLhkgsBUFBhUVUETJyIaMyjCrCwd15EiEhU0QyRhIv3Xoo453POIfjCPD//s9lsjtTZbPaOChRPuw4Bj4dTt+82q81wGJMr/XAkh6VnFLx9cSukJlrGfJfvqtXCx8gjp9O051tfEIfkgUbX4aK12vzFpqg5VQNcrs9CXWNFitBenflG8HwZzjb1yl0vafnR07NvfrRaXqQH+eyEu2MOFJ2eKSP2aEbGywKt8gIoeMmYRqodYYnkJhcPyd/nEBRU0A/m92z+6Ih1OiwXS9ltnbrMwmDCqQZZOX7s3bOY2jLu9sNiqIqIkDtZCev1wzTiqr6fBj6FfZGMxh7BoJgWKRDtNPUgk+kwycF8UC1e2NtoIGhKas4EDJXMgAnMU/GoToqR99G7YKrFELz3btlmZPR4eXOjpgTw/EcSTM+ub8o0nnYP4wmePNrs9g8kdvfFi/Xy3HUUALuHXbtZqoiJiggamGlJpWnqoR8W7WIYp6ap+75fbhbTlBBAzcCsqiouxYeQc66XVZlKVUWbV07NZrM5Umez2TtK3o5jIkLUpBIFzQGTDIVBURxhSMesJGDmEXOXS5aqbSGDn2zcH4m19jU4N96deNfb+bpZ33T7vZRsjsi5fujGe4BhD6m3cdx9xf60IldidLc6lck+v90evxr7QWB1o8E5UHBo5A0MURIw4WjogcTFUq3c9cqfeejNvzyWsjtFVXaggIhgDkSLdwq7RK6yXN5umALhCGXTxCcUmoW/0fE47SNXdbseLU1QGOsq0mGcmmVVpSxsiOBMDVFAR4a4cNX4GkTYcrEBJEIxKAyWTQuqEYs6RnIgppxBDFAUIcvkXWigDsjCRTAa+lihn1zlonp/9exZt9spovPx7OpCSppKV9hfvHe1vFo9vLktz6W9XCyuG5vyoXuo1vWirgnx9tWtmT16/J4Kj8M0lPHxs/cmHqqq/vzTz66fXKopIjzcb1Ho6upymkZEvL/fffjh+7u73aJp5++mZrPZHKmz2ewdZaQKpigKRgHNo6EaOfJEhFyAVSm66NBMlMVF56pQNWE6ATiszhYglkWVICybUFXWnqmnxaqB5VLJT2mMbV2v1zHG40NnjNeXN/XlRSolq2nz3v0+pi09vD7W5Km6VxQ2BUXyzsAERDhVvjLyo1NRWEldNLL5SXKylPI9KCuRIDlAc2qomRHQGSChoAoIIKMAHXve981fOf/wen0xVk4MhuOYgoCLxTii2/MwGSOYMQsaixmJU1PzpPlvfOPiB//ik9x3uBxFJyqsrGyJc4HMJkIYyTyCSc7AZibisCg3ISw9BKfiuGNbmkuFE3N36hZEOSceBhhHdDgeSURKN5Vumg79qTuVLkGC6Tjm0jsRSMWm3I0TAkgSQ9g9bEvJZISCx+2xL30VJs14eugyZyTIYwaB7f1DyYmItPDd67upH4aun5//2Ww2R+psNntHMUpYeahwcdWenZ83se3zEEO8vtmQg4eHw9jnx+/dhOj6vtveP1w/vvZ13TR13+/dJq4fXwdyb97csdnl196r1uvJmjvA5eV5c32TxV69ehEXzer6qjU7PeywXlx99O3m4qrbnl7fb4dqjc3aTZKxx9bF5gR+YCnkiEJQUzAJLISOnamnGBeWY01PKu89b52+8eGOjBEdAXoiIhMw8k4NABwBqIKBKoAZsfL9oRyOrT97RgVN9WKxen28z87QkYo2TTOOfXYVa8mAgp4AHIBOo5j8xOPr/+Jnmj/8+A8sthoa4cBlLFy0jl5iyRnraARoAB5RbSrZeSfqFpVfeqs4hzRGcLmTfXcqw4j91J1OL1+91DTR6ZSYjy9edMNQi+eu//TlfdednEE1wfHz23E4khgWPRz3pWQRDb5Rk9P9CcA8eTJ39/yhaCE3kdFhHFiyoRE5Qjp0HTlQVe+r/e0JSEXT/Lp/NpvNkTqbzd5RRKQMYLRZr5vYjkPSJOBsGkfnUHKRwtMwmkUVVbE8ZSOqYtycncWq4bGQM2AwtTIVXwlroliBMBS2IjZmqxOkCXzAqlIfxqZiR6UCay03mZqe3YHOt7oQ3BhgwTKhcxgKmoCYIWgEC+qIHOB5aC7iQosS95hfO7gnVEMHBg4AgUAVGJ0BOlJFUlAAhy6LIUEqJ5aTQ0TF2kWPeLO5+PTN6yFnVLWI0VdXq3UqqRxGA2dahlKqOjTQUu//gw+ePe2/cT8eoFpkwzH3g1Snwjol9cEv2tg0yjr2XZFyHMQhpSlHyK0LizLUUjQlWl+U3aF0fffJF9iS7B5QpHv12psiAaSUkqXu6B2gFFTMY9dW1WRIiIKARI4CiDgkEws+smQiQkFwAGiI4lwwFQMFMCQicmKooECkYOicmgAAzNP8Z7PZHKmz2ewdjdTsdNTTdDo9dGZARgh+PKbx1CGCGYG6+5c7JAVDMtq+OoA7vLY3KAa2izE6IgFE5+/GFxTvYLEK7z89vXhz3HZiiCVPhe9TqprGNdFX9T1PMJF3Shdr1uR47+q+eYTsc67IuWABzSEjIAVhlto5B4DiBC+qzdfPn1XsJ59xOg0PzwlHQ0QABEPvwNAAyDkkQCMQFlETYDExYhFOfSk7h+bMeXSRsAie1a1MSaai6h89Olv7egcE+84JWkpJUrnecB1sHBen/b/19Nm+vyzO91yOqdl3vrNpYMlJN6tFE5fg7M1uOGXdWNTE/W6qG2hc20ag7liOOwh15fzY993L59fPHj9drseuezicqhDee/Ykgzz/7HPl4YOvfT3x2f5++/mbF9ePz1aPlmTw5eeft+erZrEQ0/2rhwrp/OrcTMdu3N8fnjx5LL44dK+/enN5ce48Gdr9/V5Vrh/fMGdh6U791dVVHgZQnYf5z2azOVJns9m7+geFPBo471jEEakokfMUWAo6QEMiL8IIiEAICKrmHJgSIAIrs3MBEZBA1ZjZMyOLpGwuFgN0hIiGHmJTLRdhubIYXKyVCAxXrq4cjY1ntyKrKYD35Jl9cEQEYIUlITXOBzCn8MHlM59BYTyNr/78498DOqiHtyOeEAQhihihIyXvKWcGAxEzURURNRXW3JucpCRlENRiUsRAwKlJUURDRsuMrFomKAYpm3E/jj641le7oSckcr7xxKLRqCpBuhP07CduW1140GLtSSQXT6iTuoPELGebCiAUPnDqs0zsYtbkib0qOScA3swBOEBv6Mw8QnAE4EE1OHKOKDhgNRMD9d6hoaGpmQ+kauBATdATkiMX1ACIXKgEipmBaQgOwDEXFQnBqfegOr/un81mc6TOZrN3FFtBZwLF1z7GSOCGbgIH680KyaaRp7Es14tYuZLLNE7L5cI1lYimw8l8OL86j7F62O+NcHN9GVcLzr4jWJwtm6tHo/DheGwvNpsPvxna5ZCLkl8uVotm8VBOWctZgMaXW8ip5IAUyRGigXgjNDCDAGRqNaBXbKs6j0NOxVH5+Ee/M47Pm9ZEgoIzKWBMri5FnA8oRhSZk2l4O61JRVRZmaEMJslEzIxFAY3FinJhKSzoQxZhscx80iGQi07YzJmqosM4ZmhjAMnGGaYpbXue+HTqT7vD2I/iI1AsqexvdyOPJy5UpNydSlP8okPP7nTgw35oHg4F9Hiy4/HUtFlkGodpTGT26uUrBk2nkXt+8+Wb43DkxKTucHsolsnAi0u74XY3GICwmsqL56+5FI+OkO5e3iVThx7Eb990rHskQCAyfPPlKxbxzjnA11++FmEzA5hXTs1mszlSZ7PZO0ldrto4jXm5aFarhbClNFGkzdUGEcr9HpmX523bNt2x66YuLsJqs8ypDIcduhA2yxgiDCc1iMtmeX52uOu4O8WSI4jV1WEIoV5V1YKdQZ7QvC2WLKUqufTHvHGgoPng00ERFT2ISkrmiIjQu8JsiVNVZ/Kp1/0hRwfbhy8Ot3+yCA4mVnKIiGZmBbBgYRBSAKVKShbzqCAsUgqoAQtMAxVRwcyTB8ESGQ1FpVgGCMLKZbAklolNzYoqcgmiZJCFq5wLQh2cmTMGHnOZpv7Ydcfj0A3t4uzoTlLK6bgf03iYEha2U1fzAt9E9DFwP/R9ub/b95mGo1jZHra73SkiGZepT/3UjynHrJrk9tVdN/WRHGSYZJhkCoRWjBGLFEEOGBVMc1ZRRSPDlLOAIRkYsgkAKCkBARKzApIqOHQqZmaGMN9Jnc1mc6TOZrN3FAINXSbyx11/3HcACOq4lBefvySHXAAh3L28dwRqaIK7291xewIFy6ClbD97HbyXVND74/OH/q4rU2K0w48+GY97bVfIllPpxmILnLYHxAb6oy5qTT2n7iTFBUv9bdq9SqXA5coT9l0fqxjqitFySjaOrm0oViSCeSqp2x9eN1hsyqCG0ZkpACIoukQiCgaIjKqFAdgMoCiJogGyEnMppYgkzoaKGgVVtSiIkiECEWTJIuyQRE1MUUSZx2kYZdlAGHM6niYE6PqxS1MStuDNoRKKIwhBjLM3w9i0jYzjsT8olvWyie1yPJQxV5ubm8ZV+xdf7j6Wm7Pzm8dfm47d8f4+NvWjD56x2usf/rBo/uaPfTuZ3L16dTt8eXF1ebW6MU4vn79ars7qRcUwHd6cHODq7BwIp37ojv3FxYWgeqTt/W61WpFDMem7QcQW50s14SIllcVqUdSpyPz8z2azOVJns9k7ShXA3s5ZIgQ2QzMiQCvCWRBijLGUqSgjuBAC51KmBOCij6BS9oM6V8VaFKeHk4XBk/mmOnzxBe4e3GKzWG/Kdnf/1csSdYHe+cWb21f1sq6jcZBt2rfrMB1eTHcvZcrbhxCrwFNOVaA6AiJPkxO24KmuUATyVMoYI5GvgMVEkZxDensmaAymbw8HDchIEUTNDNlAFBW0CGURKwpiACLGJmxFgMErgVIAQDVVBKrrms2wkDqIbawXtaFmEfDehappmqwYx4xIa6og1OR5E+t1qLLKgapRJaJjLIzeC1ZCfqIyghus4eCpGTO1Gj0F7yN5Ty4ooos1OWRUJYzLmtDwwSmZX1SLq3XuOiMTp8vLNUM8bE8EeHFz7mN4+dULPWqzbldny7Hr7x7um3V7cXGeOX3+6RdmevP0EaLe32/Lls9vzr3zQ9ebzieps9lsjtTZbPZOQkQkMxXv0XmnisJoYKGOAMoFs+RQee9CKVokhzY4502gTAW8tps2+DCMkzpbbtZh0fJYTlNaLlbt+jyrHT7/ol2sz599qBUdXt25OG3Wz9Zn67S/Hfa7s1WMJH1/V26fx6KBzjz7dOy18rioEdF1I08lLFqsgpYieWxXLRhaVstsooREwRuLgaIzFAMzBVMT7x3njGooAKogAJmhsObEuUhhM3YU0es4HQ7dQxLJobojDpCPp92UO1YxKaC5z4rF+DQlrJq6rmLsS384Hrr+yGAH7A/QH7GL2GVxLMNeT1khm9UNpSCD5tZKVaau70/d8XA8oE/7w6Efh+qwh2zTsStD79Qf7+8VsfSjpLR9fSsO0qkj1nTo98oyjZhRR9293iplTSoqb17dgek0JTQ8PBwO+z0aOHOHh31/7AREsxLS6+evDK2UggbbN9uiRVnf5v1sNpvNkTqbzd69SCWpm5CzLJbNxeWmZH71+iHU4fGTa0R4/eph7KfN1dlqvTjsT/fbu+X56ux8M/Xp9YvXUNP6w6sm1sOLV6zaPjk7u7w6vOwOd3fn14+vnzw5HI+HNw/B+etH1xz1dPugqpvz84vrm4fhqPd5ESqHWgONSSJDbb6yYKOIYWgIAWWyPGL0jshLscKRcjB0zpEWQDEgQ1MTUzNFjiHkkglAONftorw9bVU0VVRkZisszMIqjOAQPZ7S4dOXn+zHUzGpQpjytpvuD4fj7ekkoKDZhNsxLoZlFSoUrKs6xgoNDsf91PcGdpzG4/7+2He8hWpsoUz3h5dTki6nYBaLbDaPDqcd5aP1xzwOL59/eeqz9Xtnev9wdzh84RVSHkqW+27PYhWLsnz6gx9mKU4hmu/vj9s3xQMg05iGYd8JZI8VIOxe7wCMnItUD7tBkBGIwKWOJ8gKHCh4itMpGyoiBqp41GzFROcrqbPZbI7U2Wz2jlKBlAoY9f1gIKqgrCXzfrdXkZyyqZ0OJy55Ggsw9H1PSJzZFKzocBiKL5LYEKfTeHSnqR+Aeeq6034/DgMAGPNwPFiNVBiRpRvS8cRTNjGdCjnFJFAU2NmkJBomAALM5gAogzFQ5rf7PEkNGFwkYLUiJoLkzADFiACKhuhSUSRU0zwl8j7xSOiIEADJOQx+EjmM4zFng6mT8uf3n74a3xynIUPxBY+ye350RWzMxRAJ2JQr9tVwdEjA6n0g8oTEZdKcDHAiSM0kXvbu4GxwmHmTpZin4NXkpE9/8qP24v3c4fHlSzo+XL3/tWJ+/+KL4sb1+dk1VOl0ev0pedLHFxdTLodXr0o/vn9znUrqt/vpbh+rGCNZzlM/BV+7gIxOR1Owpq7NVMREJFRRRbzzxuCQxAzRmRkLI4GCIaKoEODbPJ0bdTabzZE6m83eUURRGb2vhLk7JhHzvoasx7uTqSLGQFU6lXSaELz3VTrkfNyCYnCRR+6f70HB+UDenb7c9697b9pWfvfV893drRE6pWl/+Orj71u0OKnzevfnnxxuXzss3mz78tXyzJV9TxmkyLA/ApJPzKjZdc6wGktQgaRmiVSdqWUw34iqpGxqhKiMqEbBORfKlKsQU0oxRkTnaheaKqeCamiIwVcIifBu6A6lGCUrp+/ffvrQvz6MHTuu6xCEdGJBUiVQZU7KqfIhOu/Q8TRUTauAoAbCpAUMWZzwWJQp73ysqKQy9hlInGtD7LtD+uz/+zeePm7P32fjKaq8d+N8Y5iPbz69fPxos77Ch116uEOPFz/2LTY95J49Xnz0YYzhsz/7wXF/Wj8639ysu/329KMvqa1v3n9UdLz/7DUqPPnaE+fp1YvXp+3p/Hrz+OxmHKbXz19v1uvL6/eylpdffgUgj5++56K7v71PQzq7uIh1ddzvcX7bP5vN5kidzWbvKgV4u7CJ1IScMzNwCuaJSEQRzdAICRVNjJAckgGaGAKaoxCdKgABOvTRIRuL+lj7KgpgyWKEbbMkx1MZ2EMTXNPGlAokDY4qHwsEp+g0e6wdopiSQCWAZmBGamIAQKiGbFiUxEgNiqpqCMEQQc2KEWmRKTSh2gSqW3ARMKvpYrECM1UrmZtFZeBv036S7CXkhl+XfVeYHQJ6oKrP2RABjJ0iKJnm46g6JXB106pKyV3KWURBzCGYmBPEMXMutCoUA+Sip1FMwIHGEMbyYD/8wz+S7/74v0su5FHKSWNr3I02Fu4mbnRImYuwQkpZCfNYtCinjGYsbGgsSTgrK6ihZp4GtcLMaDBNIyCUXBAh5eTHkMYJAbjw2A9ZCiigYRpGn8kKg1qakrGVkRHmjVOz2WyO1Nls9m4mqgk5U8sh+sViKSKnU09EZ5sNoj/sDyzTYt20zbI7DcPUtct2tVrlqRx2R/Nw9viiidX9/YOAbK7P15cXx7v9dn+4ubq4eHRz7PsXX75s2/by/fdDgB/98BMI4cl7TzZPb158+ZmM/WLRNotqrEJWrgliXQVyXT8qUh0CIeYxKwtCICIVNlZSoLdrUNXIEBWAgAs77xFQBcXc2dmNUUD0AIIIIupDQESpVNm8b3IxMQxYpZJZMYQmoKvr2lRDUwMYqDERArqqjOL7hx0pG5/MGRKJ6tvZrKoACqpGYqBgYqZmbJLYI4Jomfoy5BDrfrv94rPvP1m9H4C73a0dffdwhznlw+7NME1d5zgR691XXyYRygIsX33+BYvkU+cAu/3x1B1tZBSSsdw9f80mkAGI7l7eiwoaeorTYTodejRw4Msot/0doBF6ADzsjm/3SxG6/jSdpDfT+fmfzWZzpM5ms3cUohooITlnsfJcABEA1DlENHJqRRHNB0IP4ExJKRIqKjISUUAMqCRiak7Ro5kCoQIYggKAqQCwEYIpkKoVsyIqKqbCXEwjiIGhqqkq/8XFWFUzAFBVYEFWYCEAB4iqIAqipIaAZCAsZKApuypSWF5cP6vatUOXh4E5IYJzJNkMMRcQltyS1UFEBLGIpDEvmtq5SgobkiNHDhUVjZp6CRU08QLkq3y6d8bgnCE6783MUEHUOYdoQKyIgOC9t2COglMxIFJSBa/QhAp0fLj/orJFGg9AUaYBS5ZxtCwyDpiTaNExFJaSM7ByLoWL5EIG3lxJTOqdeSyAHsiMwJsaCry9zACKiIQgRETgENChM1QzVEUihwj49tQcgRyq5Hkt6mw2myN1Npu9s5HqTA19GIc8jg9E4FwlVm7fPCA6RCLyXTd1xwnBI7rUpdfdazTnNFjWhy/fBOcRCc2Or3fDbiSBALi/ve+7rqiBIQ/jy89+GIPBNKCzh+dfdt2Wpz6Kjdu9Jy79hFlAtHSTAnoBY5A+CQAWdUZSxIhJDNmgqKYCrMBmYDxl8M4yk0PJevPog83qmXk/dQcsGjyxqYgoGLPyX3zXX5gT82TkDQaHxVOVcgEA9MSqhKRqlpmV12ePMGD1pHn+54foRAANEBHVAN6uHEUkQlYDM4cOEcFAwYCIPKIpkDNAdBTrQOCGbrw5fxqqZXq4T1naq/b80dP9/f39i6/aWD169oGQ+/hhx6BPP3xW1fXnH/9guz/Wq8WTJ0+P9/vb572P/ubxjYC8eX4LYO89eUzOvXn9ZuqmzWZzfX152B+73amuq7Pzi1TS/uEAgJuzM+9pv98z63K5qkK1329xvpQ6m83mSJ3NZu8oIzCH4ACcI1IVBRTiLkRLAAAgAElEQVRDxGCGYEjOgamqeHDovZqwMBl58maquRio9x6ds4w5p9q7EGPKZWBG7wMFYEn7rUUgBVfFst+bTN5hcJi6npDHY+eVgEvux8ZHTKxq6BwiUjEUAwETIwVQkKKaBUWtKAIAEYKRoYo6pYvlowo3SG7ih1x6QjUCACDAQIAkQkZaNI1oCdAhTsi9TPB2WiyiI0cmAqZkIsm74tq40ca/djVzj4aIBCYECGJogGYgb5cFGIiAGIqCmSG9PbIUVTIzQEOf1RRIDEmUxcSA0RUAJifoBFHIG5ERIhE554M3RCBAj77yFElJzLnYBlY0UkCgysUYMSCQYcRm1QxpsJ2Bg+XZEkfQB3WEi0W1WLZdf8y5hIBnZ+tp6ufv+2ez2Ryps9nsXW1UM0BTU0L81yeD4IjMwDmnamZKBCFGYxAVcFZVFSpKUXTQtE2kME7J0GLTLNpaU8qibbNoz9ZDzv1piFV98eS94HR7d6dm15dX7fXZbnubpnG5uLh8dL7N/f3dbSS3aBcV+XHIoBZDAAMDBjUPCEioggYESEhqamqEAGpAZmps0oT2sr0kXCWepv6QdAsMZkBGjggMjNVYqeFQASgEUq8sfY9GqCYm6B0GryZqasw5Z2umVf0Ug19W6910F9GQDBTBDNRA1Dmvos4ADICV1FTU2BSV0JQFFd5WrBSWrJowjb0p5mmwUsowlH7Ip95yUYJ0OhZAKKy5nPaHMiVOiRRyyvvdYeh6MNQi++2+KKsAkh32RyLMUwaAsU+vvnotLIAgrC+/eiXKCEhE9w/3D1vMuSDB8XjquymnBDCfpM5mszlSZ7PZuxmpoESglus6bDaLnMvx2AHao0c3YHj/cF9yXixX6/X6sDt2w1i19cXZeRqn7d0WiM5uzutQHV++KqDNJq6vz0+vttPxdFbHy8c3uD8cd0epoT678E6n+y0i+dW6Ob98OO6SHheehCCDMUF0HkJQgWIG5AXQe5fVnBgZgpExmyh4Q0MwBDVABAFA4MzJypPlxhJ4gW7sTg+3XG+DVsAgZmKICpw5Z7GVYG2o4Dxi4XF3qrIqZ1HFGCWSAoiUbFlz2+E9VV9DoLPV5Xb7IyQgM0NDIlDIKaM3TWwsxgIslgunTKJkAGpWiqViqZRuTMsORuPetvJKFfvtbbCS7u9e7Q5lTDVnJ+Xu008nMZhyUHzzxXNRtZRrdNyVV8dXxBA0guruzV5BnEZTON4eAQ0MPdQ8Sh4m70PUGkab+okcOQwAlCYxYyKHRmAhZ1bV+SR1NpvNkTqbzd5RZE5FQ3Cceb/vTQ2MQGR7tyVyxuoplKnsy6EURnUw4WnbMTMCmVi3PWVXrDhEJ0Pp7g88TZ6glHTY7Ya+BzQ0SfuDOCJG8Dwet6H2Ok7eVE4jrheeIfpADohAs6GQqjEnkADmChiCEf7/7L15tGVnVe4953zfd6299+mqTqUqRVoIAekjKj0JbdQQ8CoKOCRAAnyA+F0Vr1dBxQaVi+gHKigKOhTpBaT1ohebSPMhCCRAEkhCCKSt7lSdc3az1nrfOefz/bFOVQrw3nHvGMGR8Y31qz3OWGfV2U3tveuc58w5n2eaEJMLuQOqruZdJI4xEljIQ5RYjYuBqZnPb9fFphgFL1ac3FmiqnWlCKcaMVsXlYW1Lk7HWg3BmkxuVhnGiUBBLSlxmS/45tbvmWyJQlUzizrFCCZRUFZSl0DkpO7sEHVRFyc1ZZIYA0I0YSKPwpGQHaq+EuNkstQcOjAvtjqKe/edurmxcfvGARfes74+Ybp16wi07N2zr1qe3H7TTdo0IaVT1ta7relicytEnqwuFbJuMzNjNKklhnbeQj2EUFcTmJdOU0opVNkyTAkmMbAkVSUGkZEQEQ8SdWBgYBCpAwMDd1mYiJgZoNwVEQGIRVT7wpsws6rlrEwSQzS13GVmDhJdbDGbNWhEUkhhvjWdTbdrCaFK7XTetp0R1ammYgdvuTWFEBhOdPTQoXnTAZmEZtOZ3WZl3sRqZJ471yCIy7VXRFUgkVAi10HHzKMAEeqURoHqmGKoAsgsVNFFUkzVaBwlwWFUStckkRhSIrLAThwlkgjFUKcJEeXcWZFJYCslz9syDt4Z3AAKIiKkTaediZrJds6NcG1AiBGdcWAhYYIZhMQdDjjB4JEIQH9DkZlIwMFAfdgBkzisLRpiiilxTMWBGOvJkkxnHUBBquUVEEiCUalWV5d2LacDB9q2q6u0d++ew1qmW5skvLa+u5geOHqABet71utRffNNt3Rdtzwen3La+tEjG01uQpD9p+2bNbPDBw4Hkt271iZLS7fecqtD67pa3b378OGDg3FqYGBgEKkDAwN3aQA46IRkYWY3Y5E+DbQ/w7RzHELor0JEIiwsTAS3ECVWKSpp1jgKKSYDadsGicsra8LctU0gGse0VNeLRVGjyGk5jrX2bM5hPFlbSgSdNTSqZDJiIlQdC9soUQqhmLhZDD5KYuC6jcSItQdx7zjUtdQoptDIsntplaMHgwZ1J+Y0qgMZiyQC5ZI5UxdgXR5zjAWajYEQEQ0MsWzBwAaoatchmbvD3HIJEoSZQVDXUjgGSkHqioKEcRXGdSAgO3PkFEk1jpeq0URCZSbmxCG1WqQUZYqTCUZ1x+xVPd61O5CjTu5c794Tl4ovTRqRtut6qZsXTc4dxJ2lbbIVJWIiLBaNmpoqAWo6b2eddpSgrNvNtC2tRBbnruscAIGE3W2xWKjaEEE1MDAwiNSBgYG7LsxsZilV48mSqi4WC4B2r68D2N7eBjAajZaXV7a3pk3TjMfjtbW1tm23t7fhvnt9LYZ0dGNTzVbGK8sry9NDm0V1VNV7VtY2Nzeb2cJD3H0KB+ZjGxvEvFzVI8Ph2w7ldrF06vrK0tqB2zaPbhwYL9e7V/dGt6MHDlI92bV/LUQ+euAwcq7W1serq2U2axezOFle3rvStYt2a1FJrFfGXMWubTgZLwsnwJXVa9SRmBkFWcEhVK6UWw0ptotMVeRCORLMJBsWhToFnDhwdJBRdhRnNRkbSiExKqZZqSiichByuKqbhxApSJBA5lylUNcJxEhMQimQelWPq5UVqifqwhzqOs6apjMzkdW9eynIsWZhIezad6rlpgGBadep+0uxLkhhmezdNz241SzybTfeVKwwCxuOHTxCzjEEMB07dpSYYIgpaSmHbz0cYhILUDp26JiTB2aAZrO5YyoiRFSKLrpNwIY3/8DAwCBSBwYG7tIilXY6/nfU1cyMiAAAcHd3NzMRwbdj6E33JRftSslFS2nn88V02s5mPpu7yOzo0cCsm9tEmKaKis9uO4i2QdttpfH0toPdodt0ZdysneFde+iam2i0Qu1kPEoHr70Z82ZyStlzt7B16MB88+h4155UVmfz6ebBw0ni+v5KRvWRIxuj3Ut7dhdPIIJnR0eJRijatcWc4jhS9m679YBFmPoYgaQNzqVYpymyd0oARbO2uJAXc4WoezFSBWeoUXEYoI4IN3dHFVMIiVISdiEOo4qiECQKFZCkSGacXKoJxVHgisQtEofAwiFF1gqRQ6wADpMx1SFUY3XwEpKRRfHIe889NxXe+Mp10VjACUwAwQGGCAggYu5fRXYj4cgqgiAiuWQWCVGcDED/Egvzzq6pwTc1MDAwiNSBgYG7MgBCCGY2n88BiAiRb29vi0ivSkspx44dg5OIqOqRI0eIKIQA4a2tbUFgSJRYmnw0H2OnlJJm3Th40M1SCnAsNjcFFJgYXLam202Jps5MucxuPyTznGREhZoDW2JliSq3xNumCx1lCMWUhaZWdRxCHSzy1FPLy1aLc1hADCMNlUYqsFbdi7VkTQi85F1Li0JExJFyqTRFF521maKIdJHQtczs2UidiVydjchh6mTUyz8vxZCleDQqxSmBnPqNrDGlKtWFRbVjABEi4s5uIBYHu7ErR5WgzAFWSsk2WopVFRp2c41cj0Z1B2qbaSRUVQoki66xrGu791bra/PZdP/KWr1nfXHrbc2Rg2V7MzHv2rOeHZtHt4h9dffqaFwfObxhxWKs1tZ3TbdmJRcirO9dz9rNp9swTFaWq7ra2tx09xSrpaWl7e3NIYFqYGBgEKkDAwN3UfrqGjOziJv36tMBZhYRd6edeQAPEk/Mp7p7CMHI3YiZ4cRMzMHVRKTfEG+mTCQsTihdTsyRiJhRVL0luAjcdDGfeZcF5EbtbJGQWTNzyfM5EglcUcRK27VqBWRQLV2mXNg9ECMXY2JzUrc2a537iACU6Dmii6SVCAWLBEpcezbLqlmZqY1A6VJKKUqgIExS1STRyapUIVAtohJMs3rruUBJs0rlDLgZgKqqhAOTmMLVKKYosALPJgyBWFYuxGLSurO6muZOqyrGaKZwt5JhCitQdTI340A5t+Lczhc2rtOutdx2u77rXqfsPeWqf/6oE5SAih3oPW8hhJQSEzlgbmmp8rm5KlikBklfcpUYQ13XzAwHEVdVNbimBgYGBpE6MDBw1+VEF5iA3stvZg4NQYicue/oU1VVJRsRiUhKSVXdnZhSnQhUijGzMI/qUZfNCSQ0WVrumjbnwozJynJkaban5r60OhmvLG8cuB3Zq2q87/QzNw7c2m51weOuU/dx18yObFCg8cpoPKqnR2o1H4usTsbH5qnpZBR5uarbUhbFNQgJC7O3mVoVNVhjDi/KJC3gbJlADgc7OBMhBTAlJzCarMQkdcWVILkCqQqpSqCoTGaEWIvUmvMibllZFGemaNm5gItRATwx6mRejMhV2jYSazZTIICKCijDA3nRLlrSUtjdmq4zUFYqWTxaM0PbcSlublVrQFC4a26ntE0h0OraagNy833n3vfgFV8gbbtZ01rpd6+2s6adL7wgSCLw5oENy8ouwrK9MTUrgkAUFtNmMZuTk1BQxebGpmcb2v0DAwODSB0YGLjritQeJhqNRqqqqiJhPF5i5vl8DveY0mg0cW9KKcJcj2rqqGlaFoyqioitLACkWI3qUclzd0+pWhlP0JVMCqJqXMcQt7e3iOFB0tKYAxM5ATFEFoYVjkmYADczaIYrU6Vqbga3wICZmbmpe1HLWjK7uBuUtZSYs7Vd6VrAtOuICG5w9JO2UIM5g1iY4GZKRCrOrFU9YnEhOFMMIbA4QSQFEQlRnbqmidFQiqvBnMz6+4c6k0SJqkpOMDMiY0GBODHAApgFA2mxriMOaJWV3To3UO6COkwLNVaUHUycm7bAyVyAPF+EGFsOVTUeryzPStl773PF9OA112xvzZJIDBVgbdsSUQiRwO5oFm2MCUxEXHIh8hRrd3YvDgshMAeA3XrX1KBSBwYGBpE6MDBwl+Tknm/TNP1Mqjtm04WIMAdi0eJzb4oVCWLw2WJhZhyECe2iJVBgYQ6qNpvPoRZENOeNIxvw3qCDsjlVR2XEzDRvZnYYRTlQsW5j41CzmHEg9by5cRilRXBFmU83tVs4ClDadr61fbTtZmZtznFr+2jbzNvSiEnTLEKqtBQrpbRtbFu1nOdzFhGuYJ2WDFBhBuBmDIaplQ6gyMJicCYnImGAnGEEODuIyGEwdIuZp5GWNjjUwE4CIuLiTEZiHCgmjq5EMGYldSjgCCGwOzsBLCHFWGsulJFqriNym61pQ6xGddWYdU0jxHVaZpam6dx1NB6NIciej21jXNWTkZaycvczyW16yy1lc8tA/chBSrFtO3cXCePRUs6lXyY1mUxUs6m7c0qJJeZc3C2EFFNlTQGGjv/AwMAgUgcGBu7CIlVECGCW48YpcnciPrHbvW/u92W3UjIRhRjhXooyUZDkZOZOwkJMcId5LsRMTsxo5lMChAVAsYxmRgxKBO02jhwkbUiIzDc2DrCre0fO0+nmXKSUhqBNnmGbc567ZutY5pulazttmAMtZqkadTnHLneLRRwtFctWCjNb7MyyamFiE3F3NxUXiDkVJvIQSAxGICbqi4/k5O5wBzNAILjnXJTMOlIjM1cmNVf1YqSAk7gECmxkms2ptDlnDcSSEuCluKSiEpLUaBrrLDkRsc0XZb7wqh6PKmvbdnvKoKqKIMrTqWpJhlBPFu12ULNtnqytCPGmKq0s77vnOQeuvb7bnDJTXdeTybgXqcyyurp25MiGm4qEpaXltl3M8sId9WhSVWFj4ygxhxBWVpa1tMP7f2BgYBCpAwMDd3VwXJBixzVFzGSmMQaAwSQcmJmZQ6h6devkMU4CB6gbs6QkVUQ2EEKdqlEFgqsByqMQQiilEFGsqqqu2umWAFwvT8aT3GyXnCmllZV1t9w020QymaxKkNn2hFFCvVRPlrv51EtGTEur67lb5EXNHKrl9SpNRqNY11WKAldYP6rKwuQOBjH36woc5kYuIsTs7saBo6VQm3Y7FjBnJhYSuAsxGE6w0oGMoawWnAQgBxsFMBlQKFKIiKywUkrx0rSqBqbglZt5geViqVKeN5tT74xGhc2azc0yX0iVqkDzzc28NXW14IWYF4c3zAo3C9ZcQqhyjhLKfN6JBOa5GzHRyhib28KccyaC+85vF9vbUzeEEAGaTedqGUCMqW1b1d4gF0op89m8FBusUwMDA4NIHRgYuKtq05OyUVNKfeAUSCeTiYi0bataUkora2ub83kpJcW4fsopXdfNZjOOaXn3rkri9tY2mOuVpaW1le2jm+o2Wl0+Zf++2Xw+m06BMlmtOUiZTjmGejwZj8ceC5lLGi2trcQ5Fu2MqtFoeaIqXdUGpHo8lhhabtlDqOo4qYu0VABJNAkpVhyNKdSTcV1NSmklsJmyFrUCMwrkrgSwgwgcICAyp34+VcRMHSU6MwWCCIgJDGEwwQNHAgsTw8iUHI4cHDFFEokkzIFCSBxZiZjFRSDBSNgjiIlMDVK0y2rOoWqm064p3bzjwrlpm/lsvrWFrvOGunaem4aaDLVZ1xRTtMVdt6Zb8+3N0fpuZxJ1cWrMq/FkLHGxveVmKVVuueu6nDtmYRZ3LBYLJiGSEEKzWHCgEAIAVStFQwjCAkbXj+0OI6kDAwODSB0YGLiLi1R3V1UiEhFzLSWLiLsyk7s1TePmfa0ud13JWZjVvStFWZ1BMTa5oy6pkDF38FbzIjeFjFwxNxIOXWYVGErXeSlGhNLNFrPcLoqZdU2SmZMuuk48E0SCdCXDshCrcO5auDo7tQuUbLkNnFhLiGqm5sQls2bVAtfIbGbsRm4EQNn7T4ncGEpu1ocxCUmUCCgxBWYiBguoz9HqN756b8AaVSMvTpFDiEIiYCEyVWaGeQqRRFIQD8LERKhTLcSUC8BMECKoigtzrGIiuJsToY4MITUVIAFRpHWFW4wySoHd4MrCwlxRyPN5iGHEQcHGBDizhMBE4gYAO0tbnYjAIszYeZV5Z7RDVZkDEZhpME4NDAwMInVgYOAuynHjlAQh70WbiHDU4swkkpRcHda0zCQibDbb3BQRZqpjKrOFhSAiqhY4NptTjjGEEIg2Dx8ilASDWi4gAsHJg1rnuRCcAWEvWmDGbpHIfOaEWplZPHdglmxMzF5Y50HN1ANn9jkBZGQC0s46ZoKpW9dx1YoZiBzq3AYHmwFwAgHsDkACk5G4sQgbRYgbmbrEwMYiAriAwYHBcGEYyDmkAqQEBCIS4cCRCUxaAsONBDGkVE9qomBNqUM9Hi+LtPDWDeNQp1gZd25aj+OkrmecWstRZNdo9dhCi3TmtjyeMKGdzWE2moyXl1cWAMxMJKXEMCYtpVSJqUoucJYqpRhD12UmSODRKOacSUi1jMY1YFrALDHGEFPbtiLJHXVdN4tCQ5r/wMDAIFIHBgbuqvS1NAMxEYMIcIDcIQL3fukSuSOEvvQGEPVh/nB3ZiYGMTO5qguLeRDpmgULGCrkZL6zFECEgOJZQmBmAoicDGbOTMycm5aIzQ1EHpSY1awPcIVRKcV34gJaYjYQCayUgti1nRVFtso5a/FeRo5Gbdf2FdMYo5rmLhOzhDga1Tl3cI8pphhn082iLQVJdRVCsKLkLpICc25b0wJGPa6atuFOqYrLu3dpLvNZu2vf/t179jpRnjVHDh2YTw/sWd+1vTlr552k2KystG3bzhcEjCaTWI2mR7coexqPl1fXto8c9VZDxZuqs+ksty2AhTkzl6YDrJ3P68nEJMSiLmzMpkpwEMGJgP7JCSGEEOEdU19YTUAv1EU4OMGhcCcKIQSADCYcY4wiQ5z/wMDAIFIHBgbusnC/uAjMxMIAEYGcYoz9Zqne7x+CuJuZhRBGo5GZmRkR6vE4hdh0HUlIqVqaTJquMy2xksl4XPJCc0uOFCIxmxnMYwghRlODQ0SiBHL02wRiSgSYGzMJBZEAJ5Kd9Vf9sAERxRDNjRwiIhKFmUHiFEERtGi7PiELzNbmrusAH4/HWrRrFu6o6iq4tYuFlRwlLE1Gi6NHc2lJeLw0qVLVLBbkYJYUYrOYWykhSFxbzbOpKDyGUaibpu2aLLsBdfPixdBpuzmfK9rNpmSjwLH1rus0F7iH1ktc2Kxhp9KVWZt90SUnVUyzqmpkIeIynZNwJIYEbXOzPQtLy2Ig5tJ1cCEgsOSuzV0WZifKOWspwkQgArdtJkgQAdC2GeTMHFNSK9YUEWYOcJrP52ZDr39gYGAQqQMDA3dd0EtV5p26Wj+k2m+f6kP+mTnGVIr3BdRev+achUMMIcZALUxLVVeBSeAOY3AQUvQKcyfLqpgRs8QoYHMQel1FTGTmzEwgU2fiGGJV1SwCBwUwc4yRiPrSbYwJhZgsSOgfu4hISqFKzkRCbh6YHebszgbAYEYGATEZmboa1GFt1wl7M5taziQkRBa6rmnhIBFNqWtbdwseSilFjdWdvNPS5eyqDjJ3JyluWRVObZPhRCQwz51qVgILpHQKIyJiIvfSdSACiYCQNcPBgYTF3AUCInIPLJ41LZE42FFMiQKDmOFqrrpTY3Y3UBAhAjG7mUjonyh3EmGinc23fUbVzgs+FFEHBgYGkTowMHCXlqjgvgLnAMGZhZnBVErpK5cs7O5d1wJORGY2n8/70iYRFotZlETugdlKaedzYgiBXLtFa6WwE9wdTITAAURQ733zvUJ2czcICzOrqjuqUR1CYBEWTnVFdLySmkLf7u8t6iEiVqMUknCYjCcASNiEYp1iHUiIIyKHUE16zR0RR0t1r8qDSL2USM1UqxRTLTADU6oSEZkaOTwIC8Oc3Fkk1VW9uiwOD5wm49HykmaXKGpKII48XlmKce/KqG7nBYhqNh6Pc9e1TWNmdVVLCs10ysWkilVdL6Zz5BJiHI1GXduWUtRKParhQHEmZqEUI9RJnZijBDgXLQpECVWMLTHc+zq3qYYQ3F1i6E8CFAKDdl415p2TDidIDKLfnO0wMDAwMIjUgYGBuxBMfQ+9V40CB4h6Udj3+lmCiJipCIcQaMceziklEFSLk8ZQMbOVYm6hCiIEJYUTICDm4NaPiYqIALCsRCTMbu6+s5tVQlBCqFJMlcTg7uZgEXInYoAAYhYiggNOTCxE7iBokAB3EFxVdsQvPKtQXyBmOl7GhENCMFcmClUIiQFUyyMiBzOYRETMGSCWnDuRWNc1ERGzpAhXFzayuoqRIDC20rVdFetRFUtHiCKjBI9L1WqMcd6VNF6KAAGprmabUwanECfLy/PpTFUJSCupaztmlhjNPYaY2wyYQMbMxNTl7NnHkzFIrCsGj0wC8qIwAzOnRNTP7FogdkeQRMT1qFJFKQZIiCFGzrkQKIQQUyhDmP/AwMAgUgcGBu7ySD+MSiTMzOR9jS2EUMxEhIjdqZ9bJfT60jhwkBCI+/1UEkOIAe7MzEGCCMzMTIiZ+oFXwKzXjTiJXr+6O4KMJpPezm7uILD3/fG+CtjPJDCD4O5EWjSyO1gtkyMENlfsZDaBAZHoDmKS4/ujmLiIEpHDPQgzGayU4q4cAwmLCNSihMV8G2qqOqrGVVVJjA4QWYERE0vsZnlklEKab0154p7L5uaxqkrzedt0OGV3LKVsbxxLVarH9WLedKXObcuhyptTjqlk9VARbNHkbtGmKgJeOrXgIOZ64iU3bQcDcUzj6ujW5lK9PF8sUqqyabs9IxZKDOaiKhycmKvKrDAzsRNx17XMxMQhRnfNuR/+JXcvxYGh6T8wMDCI1IGBgbs6zsTYsfLD3E8UUwUkIJEIcEYhoqXJ2HI2GJzqmEYcF6oeWQNNqoimATgESRJy1sDiahwFRN67+EWExdwAhBiZ2dyJ2MyraiIeQW6qgBNATA5nZmBHNzsgIfTiFu5eFHAH2EkouBXVzAJyZxaYUx+ztJNCACJy6yuyO0tfHShdZhAXMLMRMdN2M7vX3c+55CeeuVgs3v72t99y660SQzEl4hjCg8978Kc++f+efsaZ5z/2MR/9xL++5FW/+we/9tuL2w/9/Ktf8/63vuPss/b9yItf/IrnX3LqPc/8wz9+6+t/8Re+8Y3PvfiXf/vv//4ffvTSn9i47VBA9+43vvGZP/mSGU/q+bGvXPnFJz35+1/zK7+opfnV1/7+u97y7if9+I9PlfYsLb39DX+0e++eC5976YGjB8fkb33l65//i78xaxqzMr/99mv+7VNPffHzNg4dWaonb3/dn73oN15+3de+tlbylR+//HMf+8eUYGD2KCyAwYlZ+rBUwN2YSIac1IGBgUGkDgwM3OXZMTjtrEU9cdBXPc0ziUUmhlhemDOiGHmH4uQqBHBwRltcjVOAuRZ1OLnDTHrzOeCOQAzqc+zJ1SQGGAxFQqhSBYPDTBWwHRPXTvgAw51EADjMsRO3TzAi7/1dbmZFzYoIEYNPGrk8uWSocKJAJJT6aQK3rNJ7xUSIOZeiXfneB3/v7//ea2az2Qt/8kX9hMOhQ4f+7bOffehDH3btV6597mXPe/T5j/6Lv3rzkdsO3XDDLY9/2tO/8D8+Ohnvuv6zVz/3l5/xwSyhwxcAABzkSURBVPf894c94Slf/tq1N8/tGT//sle/9AVxsu+M07/n1i9e91e/91uPfMozfvLlf3Lb1sbWVZ9qDm9d+bHLz7vgux98wROCVBsqD7noBz7wwQ987WMfO+fhD7n0Vb++sbn5+p97SXd0/pgf//GLX/jC9pRd//KWv+VFc8mzn33w4Ne+fPnHP/y299z3Medf9PznTfadufnJLx6Y3vbZz/xbYGE3YXJxc+/dbyeeBGZmErMyvOsHBgbuXGR4CgYGBu58jnfeT6iZkz81kFNKXo+1rroqZqlKlNxv28xO5nCYWZuZhEBatORsavAd446Z9UOuqqqq/Y2bmZubGRz9XGl/7GZwB+BmMHdHf0F/MSd3OMgAK+4Gd3JzU+/b/XA44A43uB0/2R8buTPAcHKQg8z76QY43GFFhbhru9Xlldtvuf2B93/gxoHDNcflNDp7/xmXPes57Xx+//vcd/vosQ+//wNfu+Fro1R98F3vfcRjH3P+05765t973f7Tz3rYBY8667z7fc+FF9atdDcd/NA73vnSP36Dj+p5s52ZSaqGIFGU/NCRrWnTki8+/IY/efDjHnvhc573vj97y4ok3TZCnM/akSzVWNKGuYi3RnXixI+96KI/+Ys3feidbx+laIGoDluzrThKW6U5sHVk1szJlEHsJEJgGPmJV9jdd0aNT9KsAwMDA3cWQyV1YGDgO0JfND0hTE8MjBKRSCAWgZijBGh0DiU4R43MYLhCnaOBhZyIIEwsAOBOgIP7SYIQxPu+PfqlAeTmAGKsYkgwEDtg5CByZoID1KdYMbkTiHZGKfs6qTv0eGpWH+5UiKzXYKDj2aHUrynoNRmYCK5EQuwAkxMMIr2tyrjfp6q+e23XZZddaqrLk8l8a/vTV131rEue9Y53//VkaXL9Tbc99nGPX5Tu/R/64Pr63Tauv/aD73zbA867/61XX/1f/tuvvenVr/j6DTdf+CMXn/6gc1Jz+Jq//dCe3f74pz/zyLFrnvCjl13yW69cX6r/9Dd/+imXPu+c+z1gLbQh33jVP32y62ZfuuJzB6+65u/z9jP/yy/cunHRqXv2/vnLX76+Z8/PvPZVhw8eXFoev/n3X3/pcy77899+9Rc/8N77P/LBX7z8Xx/6wktX73H2Pc+6+5v+22tf/KpX3OMBp602p4ynF3z6o3/HgUEsTCxCvvPi3iFMT351BwYGBu6snyM55+FZGBgYuFN46Utf+trXvjaE0MvQnR1Sx2UMHW+UG6uMLMzZXVQY5KKgEIXTSh3bsigMSqmuJyidkYcqVFUyM6hyv/yI2cx6g39/vFPPiwHOo/E4pggXInaou/Xt/l4h9wOy/dXvmEYgYglBgvdr6d2Z3Cz3oUt9NuvJshs7iwpIhEDCFEKomBmwxWJ2oiF+Qp1rm8ej0Ww6TSnFGEspWopEJmYGp1R1JS+trdbjpeRyqG0W2pxdjQ8sjjl4pZo0bdusL/Osu5vHjW67NZ4sLc+1TWHi8/nuarK5WMTxkieLMUvk+ZHMXdizvtzMN2ZUqsmesrW9ztqxz5dXxstrzWIxqsa5WewfrcwXs2luvYs0CiLwxbxSdOMoKYkId5lKZnYXYgiTuN8hR0MIZkZg1e7iiy963/veP/wvGBgYuFNIKQ2V1IGBgTuf4+XNO4TpifPMHAJ7gXKyaoX37d912tnW+PTg13379m1HggR2OFwL4My9eb6fHcVO+fN4u/mEZNy5LyUw4NBsRH3alLkbkffbkuBgZrAD6MUWiBxEzCIEAQBmYQLDzfSEGYg5/jszDOTWz6QCTIGJiQDrlwpwfwEQQijAxpGNpbWVtuvELVaJmWIVSs6j0ahZtF3OtapoFomTTuvReF4ayu3qrt1l0axUo5hZDT4mriajw4tVT02ZyWyD06iux2OUdnHYOYzW1grzspeVtdEiQUbjNC1y5MiEpSQ2MB3Z1GNNqOrRamrEtmvkxuMiK2Va0MiRSUeSukVTRWuhUZiYjIVA0frlp0PNdGBg4D+CQaQODAzceTDhhD4j2gnwJ3Z2EAkJOYjASmLV6LsetveHnp3375lGVKjOsSldd81N732bH7s1UXInLZmFggQ4SlcIEKbehn9C+PbF2uNZUuxw6decwlmEqPeeq8N6vxT1D44ZcGYBnEgcYGIEkRCIyMn6xUqm5tjJq+p3MPXq+7irncAgBgFEwiSEnVsGubAQuI+sKl1OIZz7wAdcd/31u9fW0qiezxfTpgECHNPt6age7Tl1/4FDB0Pb7Tpl/R5nnvX1W29qyB5wrwdce+MN+07drwqdLlZDVWaFJ/VZ59371q9cf/d73O8+Dzjvq9d9+etf+XK9PP6+xz42OT7/8c8tjZbHZ+zaPHIbMFk569x73u1s0bYNxKOlvDldjXGxmK2v7br5y9dMJqdsHDl6n4c8fNfy6jWf/sTR22+lwFWKbUEYjcyoEiHAmSBMTjtLE47/4nHi94S+nk3DVOrAwMCdymCcGhgYuBNFal8+vKPW2BfeIEAAQMEDkxSHnnbu2S/82dkpZz3q3HN/4XHf/XOPuu9pk1F394d+10t+tdRrql64wIsfNz/BACczcvC3DECe5OBxZ++vYnD1ol7UirqaW/81ZsW8qGVzdai5OinInNS8mKlqMS2mRVVVvWRTVTNTLVayaYGpWzEtbgWqVuAGU9NSzIqZuZu7umt/R+66mE/v+133+eD73m9tedoPP9UXnWS76HFPjMZn7Dvt7NPPDCRPufjiM0692xl7982ObTaSt2ab55x29gc+/LfRw/v++r2n7N7dddNsedHmcbX8wl//9Xs++Qk/9YrfOrzAz/7yK37wkkt+4hd+Oe47l1b3P+M///w5D33kIy66eHasnYx2Pe0FL+I0uvDpz3n0jzyjXl7ZtbL7ng955Mv+6E2j086iM/Y/4WlP/83f/+MHPe5JRy28+BWvjsvr7lSK5xjJSdzdyUlgHJQiWMlOGKfopEnUYR51YGDgO8FQSR0YGPhOK1ci7BQfWQAH4ugeT3tOvVb/+Q8/xktz5fXXnbXv9Dc8/0d+7V1/95n5vrX7nr/52fdT8lGpzanPjeLeOAWAnMOJFvzJtTsQiElAgIP64P7eSuX9oCkxdqqhO1d0MIh8ZzSBieHWH8rxSiEAN/Q3xY6TlPdxlXY8uuD4Bix3B3M/S3BCwPEpe0/5gz/4g0ue9cxDhw4961nPuvnmm9fX1y/6wYtO3X/qve997z/7sz+79tprL3jMBefc+16f/9IXtre2v9g2p59x+sc//vEnXvjEL3z2yq/f+I0mJUhscofOD2/NHvjYC37vt3/p9s986aYvfuqX//h173jPO5/6lP903VXf+MDb33OPB92vWWQgtsWpaa94/3vP3L/7lqNHPv++D9QFN3716u971Pf8wzvfuu/MvYH5Ix/+709+zrOXVlff98EPdrkbMwWw9pmy4kC/uQDuHmMEIDv16UGVDgwMfMcZKqkDAwN3KjuOom+psQmDmZwF6laddi6d88CH3veeb37Ph3/3TX9z7c1HfvoNf/MLf/je51/4CNu8NdzjTArChQ0jgOE7MVAEEhYmgVN/MUMfGAUnN3InIenTq0zV1Ez78qlDvc+icusP/MQF5mRO6lCQGRmRwdVhgIHcyYkM5KA+acrJDW6wPhHLHdbnTznMYN5f3VXJicGlK57tzDPP/KM/+qMXvvCFs+mMmVdWVt7+9ndsbW/d8NUbDhw4cN555+3du7fruq5tv+97v/dLV1wp4PPOO+9DH/rQIx71yC99+SpSmxQqTT7lHmfc60H3P3WyevTzN/zg45+89973vvCpT7v1+pv9SPsXr3vjF676wq/8was2F0fPus+5e849+6EXPm4x3yLpUtLViYSyGFEXxrY0oYqUSreUwiiEN//pGz/6wQ+88lWvPP3ss82JiYOD2D24CPfCNIRwskLtK+V9l39InxoYGPgOMVRSBwYG7lT6WiPteIZ2CpwIAITdYCCZnHm3+Wp808e+rpv+i4//nqfd95wP/uONV3/t9l1Sj4t3SyOBLHfeJIBpJ+L0+OwjETELy050AO7YF8AAFA44CfVWKGZhJzeAgJ0VquzA8QSlnarpcWntakzkJ77M3YGdzVJEBOx0uvmkWAAzYxaAXEREepNXn1FlqiIC91SlK6+4ouTyG7/xGzd87YZrr7vu/PMf/YxnPP0v//LNL3vZS9/2tretra0tLS097GEP+5d/vnxtfffG4SOTpckXrrzyS1/60vXXX1+xPO7hD7v88n+ZNYunvvhFZ59z7z/85Zd949prf+B5z7vs13/rqk9e/tb/+n/vP+ucJz//xZMxv/4Xf+66z332bmP5qd/51UM33vTmV/0uVfHaz3+x0cx1Uufpsc2/++t3U2nzYvq5T3z8uqu//uRLL927b8/LX/KSW2+8oU6RnAMJyCCA/zvLTk+kIpy0qYF2asoDAwMDd+LPkyGCamBg4M7ipb/0ste85jUxRuHQq0YiMMGpJvfEDRitplMu/EG+5AUbR3Z53vyZh6xcdNa5P/W6t774xy9eXVn+uY98On7+iuk7XrMsuZVkEk50lk9IImf/9m9lvcoUETBC6E3ogYjdCnznYQiz+h23syO2hGknf5+Pp59Kv/KzP98vuNqxSu3ocP5mUc5EHEIQESIppWPGiZiqXljnRVvX1Xy+qOtKREzt+F2zu7l7CFGYnaCqy6srIrK9uRVTcjhnHdejMBln864rbmCWqrK2AclS0O2lyjsKHS2RKku3a2l5e7uxGAmagoQQqPWSpK5C6kojknO3PB51KFpAWiEJBaauCzWLloBAEBNzMTEhumMXA52UevtNItWplPbJT77ob/5miKAaGBi4cxgiqAYGBv5Dfhvu9R+TCEkQ71Jq1kVoXGbt4XD/R576rt/5uZs3p7/ytsuX9p2yuOUGcGqighR3CMc7HOXE3zSndLz7TMyRuV8PdcfUKYGZcMJ5HkXuuFYfj0pkJylU5kBEhD4ZNYCMnHgnVuDE/fJJj8e4l+MMdyMCg4hgZjFGouNZBEy5y313XNVEOEgwM8BjjCLijq7rqipVKcE9q46XJu6O4hbC1CwVVKm23BATyFhDdHOb18JskpizNuzMy9yWJpgbnAKDKLctKTvQOAnChJOF2g3mFjkKoStdLJk9kpELmSERMyT02QTfrssHBgYG/kMYROrAwMCdSh9lyidZa/pEUZD3A6bwrUM37590bF0Rv5Em777mhj9/98e/Md7ra+tnT286du0nmKWTkUjLSkLfGrN6kjDtDU18R3AnOHAghwMM68diT3wdEfi4wOU+KotAIMGOMCVmIQao17YEdzMJAU79bEC/oWrntnoflxD6PzuPrZ9McGY2tV7e5ZL37F6/5JJntm37lre8teS5O4sgxphz5w4zm4zHj3zkIz/z6U/DQd6paqySM+857awfvuzSRdG/f8t7Slcu+tnnBkDm3Yff+/6H/KfH7j3r9BDluk997sAt33jWpc8+ujn9h3e+dfu22x7x9B8769GPyAcOfeSNb7rnefd/wHd/LwLfcvvX//V9Hy4lkwQDYohePAoTORmEoeouJBLgRATu9fa/8wrjWz7SkD41MDAwiNSBgYG7MgzaiUilE03hfn5RITBEAgWCfeO6U26+bn7qPbcno1u3tq88snbDZFfZf9o5dT705+8qRw7FEAKEjelEKinRNxl3+k498bco116nErGIOIx2pkjvEFuA79zmTp+ecXzXKfWRrg4iYkGvfIVZdvYF7JRPiQjudFwim6H/B5vtSFK49+J3Z7bV3Io97nGP/9d//UzTND/2Y08zsy9/+cvT6fSmm24666y7792799GPfvQVV1xxn/vcR4jWd+/+h4/+02WXPudDf/vh244e+9nf/t0//t3XzprZE576Yzd845b5ZPUjf/qX51/4/U/76Ref9eCHvP4Vr9s49rXRYvNXf//Vr3r576ysrD30iT/UzWffdd793/Bbv/PAhz380v/6q2nf3ne9/W23XXXNK9/xptmBrav+6R8pFKdARkyU2dzBITkzkUTq4w6UmUFC3zp7+k0HJz4O7/yBgYHvBIO7f2Bg4D/wO06f+r6Y3fD2N5+ZRjQ6ZbvafVuqcNqu3avqV3zy2Cc/VcfkMUWK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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Bo<span class="_ _0"></span>oks</div><div class="t m0 xa hc y22 ff1 fs7 fc0 sc0 ls0 ws0">C++<span class="_ _c"> </span>T<span class="_ _5"></span>emplates:<span class="_ _8"> </span>The</div><div class="t m0 xa hc y23 ff1 fs7 fc0 sc0 ls0 ws0">Complete<span class="_ _c"> </span>Guide<span class="_ _c"> </span><span class="ff8">(2nd)</span></div><div class="t m0 xb hd y24 ff9 fs7 fc0 sc0 ls0 ws0">D.<span class="_ _c"> </span>V<span class="_ _5"></span>andevo<span class="_ _d"></span>orde,<span class="_ _c"> </span>N.<span class="_ _c"> </span>M.<span class="_ _c"> </span>Josuttis,</div><div class="t m0 xc hc y25 ff9 fs7 fc0 sc0 ls0 ws0">D.<span class="_ _c"> </span>Grego<span class="_ _5"></span>r<span class="ff8">,<span class="_ _c"> </span>2017</span></div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">4/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6" class="pf w0 h0" data-page-no="6"><div class="pc pc6 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXElEQVR42u3ZsQkCQRCG0d3D4cKrQbAEOxBrs4nr0OjCm2TtQMx2hPcaGPijD6ZnZgMAgDIiYrECAADViFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIA8GcuJmCu43Wdcvf93I0P8MXt/jACE/XMtAIAAHVEhHc/AADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAIBf9L6t4zhbG2NYAwCAEj7KBhP1Co2hbwAAAABJRU5ErkJggg=="/><div class="t m0 xd h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>unction<span class="_ _1"> </span>T<span class="_ _f"></span>emplate</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:215.297000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkklEQVR42u3YsW0CQRCG0VuLkaOTa0BEVIAsywGBJXfmJujFAQR0QEIHjtBFTHLOiAgQAZpD71Uw+jf5tG2x+ugAAKCM4373YgUAAKoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAXLTMtAIAAHVEhJ9UAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAA3Gw2oVuXn2sPBgBwn8P2d0LX+kkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAAeqmXmVG4dhsGDAQDcp+/7qZwaEX5SAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAUEbLTCsAAFBHRPhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAPLfZ6Wduhav+vjZGAAB4vOX7d2tvr+Pp3HXjOBoEAIAS/gH/cR/+RYolewAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Overview</div><div class="t m0 xe he y27 ff1 fs8 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate</div><div class="t m0 xe he y28 ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span><span class="ff1">template<span class="_ _e"> </span></span>is<span class="_ _b"> </span>a<span class="_ _e"> </span>mechanism<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>generic<span class="_ _b"> </span>programming<span class="_ _b"> </span>to<span class="_ _e"> </span>p<span class="_ _5"></span>rovide<span class="_ _e"> </span>a<span class="_ _b"> </span><span class="ffa">“schema”<span class="_ _9"> </span></span>(o<span class="_ _5"></span>r</div><div class="t m0 xe he y29 ffa fs8 fc0 sc0 ls0 ws0">placeholders<span class="_ _0"></span><span class="ff4">)<span class="_ _e"> </span>to<span class="_ _b"> </span>represent<span class="_ _b"> </span>the<span class="_ _b"> </span>structure<span class="_ _e"> </span>of<span class="_ _e"> </span>an<span class="_ _b"> </span>entity</span></div><div class="t m0 x1 he y2a ff4 fs8 fc0 sc0 ls0 ws0">In<span class="_ _b"> </span>C++,<span class="_ _e"> </span><span class="ffa">templates<span class="_ _9"> </span></span>a<span class="_ _5"></span>re<span class="_ _e"> </span>a<span class="_ _b"> </span>compile-time<span class="_ _e"> </span>functionalit<span class="_ _5"></span>y<span class="_ _e"> </span>to<span class="_ _b"> </span>represent:</div><div class="t m0 xf he y2b ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">A<span class="_ _b"> </span>family<span class="_ _e"> </span>of<span class="_ _9"> </span><span class="ff1">functions</span></span></div><div class="t m0 xf he y2c ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">A<span class="_ _b"> </span>family<span class="_ _e"> </span>of<span class="_ _9"> </span><span class="ff1">classes</span></span></div><div class="t m0 xf he y2d ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">A<span class="_ _b"> </span>family<span class="_ _e"> </span>of<span class="_ _9"> </span><span class="ff1">va<span class="_ _5"></span>riables<span class="_ _b"> </span><span class="ff4 fc3">C++14</span></span></span></div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">5/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf8" class="pf w0 h0" data-page-no="8"><div class="pc pc8 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _9"> </span>T<span class="_ _3"></span>emplate<span class="_ _10"> </span>1/2</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">The<span class="_ _e"> </span>problem<span class="ff4">:<span class="_ _9"> </span>We<span class="_ _b"> </span>w<span class="_ _5"></span>ant<span class="_ _e"> </span>to<span class="_ _b"> </span>define<span class="_ _e"> </span>a<span class="_ _e"> </span>function<span class="_ _b"> </span>to<span class="_ _e"> </span>handle<span class="_ _b"> </span>different<span class="_ _e"> </span>types</span></div><div class="t m0 xe hf y2f ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc5">add<span class="fc0">(</span></span>int<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _11"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y30 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y31 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y32 ff6 fs7 fc4 sc0 ls0 ws0">float<span class="_ _9"> </span><span class="ffc fc5">add<span class="fc0">(</span></span>float<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _11"> </span></span>float<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _9"> </span>{<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>overloading</span></span></div><div class="t m0 x3 hf y33 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y34 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y35 ff6 fs7 fc4 sc0 ls0 ws0">char<span class="_ _12"> </span><span class="ffc fc5">add<span class="fc0">(</span></span>char<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _9"> </span></span>char<span class="_ _11"> </span><span class="ffc fc0">b)<span class="_ _13"> </span>{<span class="_ _9"> </span>...<span class="_ _9"> </span>}<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>overloading</span></span></div><div class="t m0 xe hf y36 ffc fs7 fc0 sc0 ls0 ws0">ClassX<span class="_ _9"> </span><span class="fc5">add</span>(ClassX<span class="_ _9"> </span>a,<span class="_ _11"> </span>ClassX<span class="_ _9"> </span>b)<span class="_ _9"> </span>{<span class="_ _11"> </span>...<span class="_ _9"> </span>}<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>overloading</span></div><div class="t m0 xf he y37 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">Redundant<span class="_ _b"> </span>co<span class="_ _d"></span>de!!</span></div><div class="t m0 xf he y38 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">Ho<span class="_ _5"></span>w<span class="_ _e"> </span>many<span class="_ _b"> </span>functions<span class="_ _e"> </span>we<span class="_ _b"> </span>have<span class="_ _b"> </span>to<span class="_ _e"> </span>write!?</span></div><div class="t m0 xf he y39 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">If<span class="_ _b"> </span>the<span class="_ _e"> </span>user<span class="_ _e"> </span>intro<span class="_ _d"></span>duces<span class="_ _b"> </span>a<span class="_ _e"> </span>new<span class="_ _b"> </span>type<span class="_ _e"> </span>we<span class="_ _b"> </span>have<span class="_ _b"> </span>to<span class="_ _e"> </span>write<span class="_ _b"> </span>another<span class="_ _e"> </span>function!!</span></div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">6/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf9" class="pf w0 h0" data-page-no="9"><div class="pc pc9 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIoUlEQVR42u3YsUlEQRCA4Vt5g9FiDWJ0FYiIwQWCndmEvRhoYAcmdmB0bOQkz0zzh8isfl8Fw0zyM+3i8noHAABlvL08n9gCAADViFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAL60zLQFAADqiAifVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAADww5aJZt3fHBwMAGCb16fHiab1SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAf1vLzFlmHWM4GADANr33WUaNCJ9UAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD+r5aZtgAAQB0R4ZMKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+BXLRLOOMRwMAGCb3vtE0/qkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUq0AAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FvLTFsAAKCOiPBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAGBey/H+3BaKeL99sAQAgP3VXWtnp+vxY7db19VCAAAo4RNxZSX8rdbJSAAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _9"> </span>T<span class="_ _3"></span>emplate<span class="_ _10"> </span>2/2</div><div class="t m0 xe he y3a ff1 fs8 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>T<span class="_ _7"></span>emplate</div><div class="t m0 xe he y3b ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span><span class="ff1">function<span class="_ _8"> </span>template<span class="_ _e"> </span></span>is<span class="_ _b"> </span>a<span class="_ _e"> </span>function<span class="_ _e"> </span>schema<span class="_ _b"> </span>that<span class="_ _e"> </span>op<span class="_ _d"></span>erates<span class="_ _b"> </span>with<span class="_ _e"> </span><span class="ffa">generic<span class="_ _9"> </span></span>t<span class="_ _5"></span>yp<span class="_ _d"></span>es</div><div class="t m0 xe he y3c ff4 fs8 fc0 sc0 ls0 ws0">(indep<span class="_ _d"></span>endent<span class="_ _b"> </span>of<span class="_ _e"> </span>any<span class="_ _e"> </span>pa<span class="_ _5"></span>rticular<span class="_ _b"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e)<span class="_ _e"> </span>o<span class="_ _5"></span>r<span class="_ _e"> </span>concrete<span class="_ _b"> </span>values</div><div class="t m0 x1 he y3d ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span>function<span class="_ _e"> </span>template<span class="_ _b"> </span>wo<span class="_ _5"></span>rks<span class="_ _e"> </span>with<span class="_ _b"> </span>multiple<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>es<span class="_ _e"> </span>without<span class="_ _b"> </span>rep<span class="_ _0"></span>eating<span class="_ _b"> </span>the<span class="_ _b"> </span>entire<span class="_ _e"> </span>co<span class="_ _d"></span>de<span class="_ _b"> </span>for</div><div class="t m0 x1 he y3e ff4 fs8 fc0 sc0 ls0 ws0">each<span class="_ _b"> </span>of<span class="_ _e"> </span>them</div><div class="t m0 xe hf y3f ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>or<span class="_ _9"> </span><span class="ffe">template&lt;class<span class="_ _9"> </span>T&gt;</span></span></span></span></div><div class="t m0 xe hf y40 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y41 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y42 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y43 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _12"> </span><span class="ffc fc0">c1<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span>add(<span class="fc7">3</span>,<span class="_ _11"> </span><span class="fc7">4</span>);<span class="_ _14"> </span><span class="ffd fc8">//<span class="_ _9"> </span>c1<span class="_ _9"> </span>=<span class="_ _11"> </span>7</span></span></div><div class="t m0 xe hf y44 ff6 fs7 fc4 sc0 ls0 ws0">float<span class="_ _9"> </span><span class="ffc fc0">c2<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>add(<span class="fc7">3.0f</span>,<span class="_ _9"> </span><span class="fc7">4.0f</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>c2<span class="_ _9"> </span>=<span class="_ _9"> </span>7.0f</span></span></div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">7/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfa" class="pf w0 h0" data-page-no="a"><div class="pc pca w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3ZsW0CQRCG0VvrRg5dAyK6CixkERBYcmc0QS8EENABiTsgImSSIyMjBM3BexWs/k0+7bb5908HAABl/B/2H1YAAKAakQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwE3LTCsAAFBHRHhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4L5+Kgcdliu3dXPcbY0AALywlplWAACgjojw3Q8AQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAOCd9FM56LBcua1HO+62RgAAKmiZaQUAAOqICN/9AACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIDn6M/rmRWm7vS7MQIA8DKGxV9rX5/j+dJ14zgaBACAEq5SyyAAGr/c4wAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplates:<span class="_ _15"> </span>Benefits<span class="_ _9"> </span>and<span class="_ _8"> </span>Drawbacks</div><div class="t m0 x1 h7 y45 ff1 fs3 fc0 sc0 ls0 ws0">Benefits</div><div class="t m0 xf he y46 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">Generic<span class="_ _8"> </span>Programming<span class="ff4">:<span class="_ _11"> </span>Less<span class="_ _e"> </span>code<span class="_ _e"> </span>and<span class="_ _e"> </span>reusable.<span class="_ _9"> </span>Reduce<span class="_ _e"> </span><span class="ffa">redundancy</span>,<span class="_ _e"> </span>b<span class="_ _d"></span>etter</span></span></div><div class="t m0 x3 he y47 ffa fs8 fc0 sc0 ls0 ws0">maintainabilit<span class="_ _5"></span>y<span class="_ _11"> </span><span class="ff4">and<span class="_ _b"> </span></span>flexibility</div><div class="t m0 xf he y48 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">P<span class="_ _5"></span>erformance<span class="ff4">.<span class="_ _9"> </span>Computation<span class="_ _b"> </span>can<span class="_ _e"> </span>b<span class="_ _d"></span>e<span class="_ _e"> </span>done/optimized<span class="_ _b"> </span>at<span class="_ _e"> </span>compile-time<span class="_ _b"> </span><span class="fff"><span class="_ _e"> </span><span class="ffa">faster</span></span></span></span></div><div class="t m0 x1 h7 y49 ff1 fs3 fc0 sc0 ls0 ws0">Dra<span class="_ _5"></span>wbacks</div><div class="t m0 xf he y4a ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">Readabilit<span class="_ _5"></span>y<span class="ff4">.<span class="_ _11"> </span>“With<span class="_ _e"> </span>resp<span class="_ _d"></span>ect<span class="_ _b"> </span>to<span class="_ _e"> </span>C++,<span class="_ _b"> </span>the<span class="_ _e"> </span>syntax<span class="_ _e"> </span>and<span class="_ _b"> </span>idioms<span class="_ _e"> </span>of<span class="_ _b"> </span>templates<span class="_ _e"> </span>are</span></span></div><div class="t m0 x3 he y4b ffa fs8 fc0 sc0 ls0 ws0">esoteric<span class="_ _9"> </span><span class="ff4">compa<span class="_ _5"></span>red<span class="_ _b"> </span>to<span class="_ _e"> </span>conventional<span class="_ _e"> </span>C++<span class="_ _b"> </span>programming,<span class="_ _b"> </span>and<span class="_ _b"> </span>templates<span class="_ _e"> </span>can<span class="_ _e"> </span>b<span class="_ _d"></span>e<span class="_ _b"> </span>very</span></div><div class="t m0 x3 he y4c ff4 fs8 fc0 sc0 ls0 ws0">difficult<span class="_ _b"> </span>to<span class="_ _e"> </span>understand”<span class="_ _b"> </span>[wikip<span class="_ _0"></span>edia]<span class="_ _b"> </span><span class="fff"><span class="_ _b"> </span></span>hard<span class="_ _b"> </span>to<span class="_ _b"> </span>read,<span class="_ _e"> </span>cryptic<span class="_ _e"> </span>erro<span class="_ _5"></span>r<span class="_ _e"> </span>messages</div><div class="t m0 xf he y4d ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">Compile<span class="_ _8"> </span>Time/Bina<span class="_ _5"></span>ry<span class="_ _8"> </span>Size<span class="ff4">.<span class="_ _11"> </span>T<span class="_ _7"></span>emplates<span class="_ _e"> </span>a<span class="_ _5"></span>re<span class="_ _e"> </span>implicitly<span class="_ _b"> </span>instantiated<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>every</span></span></div><div class="t m0 x3 he y4e ff4 fs8 fc0 sc0 ls0 ws0">distinct<span class="_ _b"> </span>parameters</div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">8/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation</div><div class="t m0 xe he y3a ff1 fs8 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>Instantiation</div><div class="t m0 xe he y3b ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span><span class="ff1">template<span class="_ _e"> </span>instantiation<span class="_ _b"> </span></span>is<span class="_ _b"> </span>the<span class="_ _b"> </span>substitution<span class="_ _b"> </span>of<span class="_ _b"> </span>template<span class="_ _b"> </span>parameters<span class="_ _c"> </span>with<span class="_ _b"> </span>concrete</div><div class="t m0 xe he y3c ff4 fs8 fc0 sc0 ls0 ws0">values<span class="_ _b"> </span>or<span class="_ _b"> </span>types</div><div class="t m0 x1 he y4f ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span>compiler<span class="_ _e"> </span><span class="ffa">automatically<span class="_ _9"> </span></span>generates<span class="_ _e"> </span>a<span class="_ _e"> </span><span class="ff1">function<span class="_ _e"> </span>implementation<span class="_ _e"> </span></span>for<span class="_ _b"> </span>each<span class="_ _b"> </span>template</div><div class="t m0 x1 he y50 ff4 fs8 fc0 sc0 ls0 ws0">instantiation</div><div class="t m0 xe hf y51 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y52 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y53 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y54 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y55 ffc fs7 fc0 sc0 ls0 ws0">add(<span class="fc7">3</span>,<span class="_ _9"> </span><span class="fc7">4</span>);<span class="_ _14"> </span><span class="ffd fc8">//<span class="_ _9"> </span>generates:<span class="_ _11"> </span><span class="ffe">int<span class="_ _12"> </span>add(int,<span class="_ _9"> </span>int)</span></span></div><div class="t m0 xe hf y56 ffc fs7 fc0 sc0 ls0 ws0">add(<span class="fc7">3.0f</span>,<span class="_ _9"> </span><span class="fc7">4.0f</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>generates:<span class="_ _9"> </span><span class="ffe">float<span class="_ _9"> </span>add(float,<span class="_ _11"> </span>float)</span></span></div><div class="t m0 xe hf y57 ffc fs7 fc0 sc0 ls0 ws0">add(<span class="fc7">2</span>,<span class="_ _9"> </span><span class="fc7">6</span>);<span class="_ _14"> </span><span class="ffd fc8">//<span class="_ _9"> </span>already<span class="_ _11"> </span>generated</span></div><div class="t m0 xe hf y58 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>other<span class="_ _9"> </span>instances<span class="_ _11"> </span>are<span class="_ _9"> </span>not<span class="_ _9"> </span>generated</div><div class="t m0 xe hf y59 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>e.g.<span class="_ _9"> </span>char<span class="_ _11"> </span>add(char,char)</div><div class="t m0 x7 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">9/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Implicit<span class="_ _9"> </span>and<span class="_ _8"> </span>Explicit<span class="_ _9"> </span>T<span class="_ _3"></span>emplate<span class="_ _9"> </span>Instantiation</div><div class="t m0 xe he y5a ff1 fs8 fc1 sc0 ls0 ws0">Implicit<span class="_ _e"> </span>T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation</div><div class="t m0 xe he y5b ff1 fs8 fc0 sc0 ls0 ws0">Implicit<span class="_ _e"> </span>template<span class="_ _8"> </span>instantiation<span class="_ _e"> </span><span class="ff4">o<span class="_ _d"></span>ccurs<span class="_ _e"> </span>when<span class="_ _b"> </span>the<span class="_ _e"> </span>compiler<span class="_ _b"> </span>generates<span class="_ _e"> </span>co<span class="_ _d"></span>de</span></div><div class="t m0 xe he y5c ff4 fs8 fc0 sc0 ls0 ws0">dep<span class="_ _d"></span>ending<span class="_ _b"> </span>on<span class="_ _e"> </span>the<span class="_ _e"> </span><span class="ffa">deduced<span class="_ _b"> </span>argument<span class="_ _b"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>es<span class="_ _9"> </span><span class="ff4">or<span class="_ _b"> </span>the<span class="_ _b"> </span></span>explicit<span class="_ _e"> </span>template<span class="_ _b"> </span>arguments<span class="_ _9"> </span><span class="ff4">and</span></span></div><div class="t m0 xe he y5d ff4 fs8 fc0 sc0 ls0 ws0">only<span class="_ _b"> </span>when<span class="_ _e"> </span>the<span class="_ _b"> </span>definition<span class="_ _e"> </span>is<span class="_ _e"> </span>needed</div><div class="t m0 xe he y5e ff1 fs8 fc1 sc0 ls0 ws0">Explicit<span class="_ _e"> </span>T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation</div><div class="t m0 xe he y5f ff1 fs8 fc0 sc0 ls0 ws0">Explicit<span class="_ _e"> </span>template<span class="_ _8"> </span>instantiation<span class="_ _e"> </span><span class="ff4">o<span class="_ _d"></span>ccurs<span class="_ _e"> </span>when<span class="_ _b"> </span>the<span class="_ _e"> </span>compiler<span class="_ _b"> </span>generates<span class="_ _e"> </span>co<span class="_ _d"></span>de</span></div><div class="t m0 xe he y60 ff4 fs8 fc0 sc0 ls0 ws0">dep<span class="_ _d"></span>ending<span class="_ _b"> </span>only<span class="_ _e"> </span>on<span class="_ _e"> </span>the<span class="_ _b"> </span><span class="ffa">explicit<span class="_ _e"> </span>template<span class="_ _b"> </span>arguments<span class="_ _9"> </span></span>specified<span class="_ _e"> </span>in<span class="_ _b"> </span>the<span class="_ _e"> </span>decla<span class="_ _5"></span>ration.</div><div class="t m0 xe he y61 ff4 fs8 fc0 sc0 ls0 ws0">Useful<span class="_ _b"> </span>when<span class="_ _e"> </span>dealing<span class="_ _b"> </span>with<span class="_ _e"> </span>multiple<span class="_ _e"> </span>translation<span class="_ _b"> </span>units<span class="_ _e"> </span>to<span class="_ _b"> </span>reduce<span class="_ _e"> </span>the<span class="_ _e"> </span>bina<span class="_ _5"></span>ry<span class="_ _e"> </span>size</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">10/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomdpYiI/AfPM0H40rz8ebM7JAAACON2vSysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICXXGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAj3Qzeus0TT4MAOA7fd/P6LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAJ/ItVYrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAMxNN57WVuBv7sezEQCA97b7IefVso2PlFprBgEAIIQnLg8aAoXj3W4AAAAASUVORK5CYII="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Implicit<span class="_ _9"> </span>and<span class="_ _8"> </span>Explicit<span class="_ _9"> </span>T<span class="_ _3"></span>emplate<span class="_ _9"> </span>Instantiation</div><div class="t m0 xe hf y62 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y63 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f(T<span class="_ _9"> </span>a)<span class="_ _11"> </span>{}</span></div><div class="t m0 xe hf y64 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g()<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y65 ffc fs7 fc0 sc0 ls0 ws0">f(<span class="fc7">3</span>);<span class="_ _16"> </span><span class="ffd fc8">//<span class="_ _9"> </span>generates:<span class="_ _9"> </span><span class="ffe">void<span class="_ _11"> </span>f(int)<span class="_ _9"> </span><span class="ff10"><span class="_ _9"> </span></span>implicit</span></span></div><div class="t m0 x3 hf y66 ffc fs7 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;<span class="ff6 fc4">short</span>&gt;</span>(<span class="fc7">3.0</span>);<span class="_ _17"> </span><span class="ffd fc8">//<span class="_ _9"> </span>generates:<span class="_ _9"> </span><span class="ffe">void<span class="_ _11"> </span>f(short)<span class="_ _9"> </span><span class="ff10"><span class="_ _9"> </span></span>implicit</span></span></div><div class="t m0 xe hf y67 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y68 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="_ _9"> </span><span class="fc4">void<span class="_ _9"> </span><span class="ffc fc0">f<span class="fc7">&lt;</span></span>int<span class="ffc fc7">&gt;<span class="fc0">(</span></span>int<span class="ffc fc0">);<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>generates:<span class="_ _9"> </span><span class="ffe">void<span class="_ _11"> </span>f(int)<span class="_ _9"> </span><span class="ff10"><span class="_ _9"> </span></span>explicit</span></span></span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">11/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameters</div><div class="t m0 xe he y3a ff1 fs8 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>Pa<span class="_ _5"></span>rameters</div><div class="t m0 xe he y3b ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>Pa<span class="_ _5"></span>rameters<span class="_ _b"> </span><span class="ff4">are<span class="_ _b"> </span>the<span class="_ _e"> </span>names<span class="_ _b"> </span>following<span class="_ _b"> </span>the<span class="_ _b"> </span><span class="ff11">template<span class="_ _e"> </span></span>keyw<span class="_ _5"></span>o<span class="_ _5"></span>rd</span></div><div class="t m0 xe hf y69 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y6a ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f()<span class="_ _9"> </span>{}</span></div><div class="t m0 xe hf y6b ffc fs7 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;<span class="ff6 fc4">int</span>&gt;</span>();</div><div class="t m0 xe he y6c ff11 fs8 fc5 sc0 ls0 ws0">typename<span class="_ _15"> </span>T<span class="_ _18"> </span><span class="ff4 fc0">is<span class="_ _b"> </span>the<span class="_ _e"> </span><span class="ff1">template<span class="_ _8"> </span>pa<span class="_ _5"></span>rameter</span></span></div><div class="t m0 xe he y6d ff11 fs8 fc5 sc0 ls0 ws0">int<span class="_ _18"> </span><span class="ff4 fc0">is<span class="_ _b"> </span>the<span class="_ _e"> </span><span class="ff1">template<span class="_ _8"> </span>a<span class="_ _5"></span>rgument</span></span></div><div class="t m0 x1 he y6e ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span><span class="ff1">template<span class="_ _8"> </span>parameter<span class="_ _b"> </span></span>can<span class="_ _e"> </span>b<span class="_ _d"></span>e<span class="_ _b"> </span>a<span class="_ _e"> </span><span class="ffa">generic<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _0"></span><span class="ff4">,<span class="_ _b"> </span>i.e.<span class="_ _4"> </span><span class="ff11">typename<span class="_ _c"> </span></span>,<span class="_ _b"> </span>as<span class="_ _e"> </span>well<span class="_ _b"> </span>as<span class="_ _b"> </span>a</span></span></div><div class="t m0 x1 he y6f ffa fs8 fc0 sc0 ls0 ws0">non-t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>template<span class="_ _b"> </span>parameters<span class="_ _9"> </span><span class="ff4">(<span class="ff11">NTTP</span>),<span class="_ _b"> </span>e.g.<span class="_ _4"> </span><span class="ff11">int<span class="_ _c"> </span></span>,<span class="_ _18"> </span><span class="ff11">enum<span class="_ _c"> </span></span>,<span class="_ _b"> </span>etc.</span></div><div class="t m0 x1 he y70 ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span><span class="ff1">template<span class="_ _8"> </span>argument<span class="_ _b"> </span></span>of<span class="_ _b"> </span>a<span class="_ _e"> </span><span class="ffa">generic<span class="_ _b"> </span>type<span class="_ _9"> </span></span>is<span class="_ _b"> </span>a<span class="_ _b"> </span>built-in<span class="_ _e"> </span>or<span class="_ _b"> </span>user-decla<span class="_ _5"></span>red<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e,<span class="_ _e"> </span>while<span class="_ _b"> </span>a</div><div class="t m0 x1 he y71 ffa fs8 fc0 sc0 ls0 ws0">concrete<span class="_ _b"> </span>value<span class="_ _9"> </span><span class="ff4">fo<span class="_ _5"></span>r<span class="_ _b"> </span>a<span class="_ _e"> </span><span class="ffa">non-t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>template<span class="_ _b"> </span>parameter</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">12/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Examples<span class="_ _19"> </span>1/2</div><div class="t m0 xe he y72 ff6 fs8 fc0 sc0 ls0 ws0">int<span class="_ _1a"> </span><span class="ff1">pa<span class="_ _5"></span>rameter</span></div><div class="t m0 xe hf y73 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">A,<span class="_ _9"> </span></span>int<span class="_ _11"> </span><span class="ffc fc0">B<span class="fc7">&gt;</span></span></span></div><div class="t m0 xe hf y74 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">add_int()<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y75 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">A<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>B;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>sum<span class="_ _11"> </span>is<span class="_ _9"> </span>computed<span class="_ _9"> </span>at<span class="_ _11"> </span>compile-time</span></span></div><div class="t m0 xe hf y76 ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _1b"> </span><span class="ffd fc8">//<span class="_ _9"> </span>e.g.<span class="_ _9"> </span>add_int&lt;3,<span class="_ _11"> </span>4&gt;();</span></div><div class="t m0 xe he y77 ff6 fs8 fc0 sc0 ls0 ws0">enum<span class="_ _1a"> </span><span class="ff1">pa<span class="_ _5"></span>rameter</span></div><div class="t m0 xe hf y78 ff6 fs7 fc6 sc0 ls0 ws0">enum<span class="_ _9"> </span>class<span class="_ _9"> </span><span class="fc5">Enum<span class="_ _11"> </span><span class="ffc fc0">{<span class="_ _9"> </span>Left,<span class="_ _9"> </span>Right<span class="_ _11"> </span>};</span></span></div><div class="t m0 xe hf y79 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;<span class="fc0">Enum<span class="_ _9"> </span>Z</span>&gt;</span></div><div class="t m0 xe hf y7a ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">add_enum(</span>int<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _11"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y7b ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">(Z<span class="_ _9"> </span><span class="fc7">==<span class="_ _11"> </span></span>Enum<span class="fc7">::</span>Left)<span class="_ _9"> </span><span class="fc7">?<span class="_ _9"> </span></span>a<span class="_ _11"> </span><span class="fc7">+<span class="_ _9"> </span></span>b<span class="_ _9"> </span><span class="fc7">:<span class="_ _11"> </span></span>a;</span></div><div class="t m0 xe hf y7c ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _1c"> </span><span class="ffd fc8">//<span class="_ _9"> </span>e.g.<span class="_ _9"> </span>add_enum&lt;Enum::Left&gt;(3,<span class="_ _11"> </span>4);</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">13/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIqUlEQVR42u3ZMUrEUBSG0XmSi9XDNYiVtYWItSJuzE24Fwst3IGNO7AaHjh4m9jZ2AxI9AbPWUHyp/m4aSfnlxsAACjj9fnpwAoAAFQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+NIy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAFZkMsH+xhhGAABWqve+oqd1SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBgcS0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwHImE+xvjGEEAGCleu8relqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAAW1zLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAABLmkwAAD/0vtudXd/+k5d9eXzwxfkFLTOtAABAHRHhdz8AAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAZdP27tgK8N3b1b0RAOBPnF7ctHZ0OG8/Npt5ng0CAEAJn95KKP7xjVwPAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Examples<span class="_ _19"> </span>2/2</div><div class="t m0 xf he y7d ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">Ceiling<span class="_ _8"> </span>division</span></div><div class="t m0 x11 hf y7e ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">DIV,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 x11 hf y7f ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>ceil_div(T<span class="_ _9"> </span>value)<span class="_ _11"> </span>{</div><div class="t m0 x12 hf y80 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">(value<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>DIV<span class="_ _9"> </span><span class="fc7">-<span class="_ _9"> </span>1</span>)<span class="_ _11"> </span><span class="fc7">/<span class="_ _9"> </span></span>DIV;</span></div><div class="t m0 x11 hf y81 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x11 hf y82 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>e.g.<span class="_ _9"> </span>ceil_div&lt;5&gt;(11);<span class="_ _11"> </span>//<span class="_ _9"> </span>returns<span class="_ _9"> </span>3</div><div class="t m0 xf he y83 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff1">Rounded<span class="_ _8"> </span>division</span></div><div class="t m0 x11 hf y84 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">DIV,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 x11 hf y85 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>round_div(T<span class="_ _9"> </span>value)<span class="_ _11"> </span>{</div><div class="t m0 x12 hf y86 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">(value<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>DIV<span class="_ _9"> </span><span class="fc7">/<span class="_ _9"> </span>2</span>)<span class="_ _11"> </span><span class="fc7">/<span class="_ _9"> </span></span>DIV;</span></div><div class="t m0 x11 hf y87 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x11 hf y88 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>e.g.<span class="_ _9"> </span>round_div&lt;5&gt;(11);<span class="_ _11"> </span>//<span class="_ _9"> </span>returns<span class="_ _9"> </span>2<span class="_ _11"> </span>(2.2)</div><div class="t m0 x1 he y89 ff4 fs8 fc0 sc0 ls0 ws0">Since<span class="_ _b"> </span><span class="ff11">DIV<span class="_ _e"> </span></span>is<span class="_ _b"> </span>known<span class="_ _b"> </span>at<span class="_ _e"> </span>compile-time,<span class="_ _b"> </span>the<span class="_ _e"> </span>compiler<span class="_ _b"> </span>can<span class="_ _e"> </span>heavily<span class="_ _e"> </span>optimize<span class="_ _b"> </span>the<span class="_ _e"> </span>division</div><div class="t m0 x1 hc y8a ff8 fs7 fc0 sc0 ls0 ws0">(almost<span class="_ _c"> </span>fo<span class="_ _5"></span>r<span class="_ _c"> </span>every<span class="_ _c"> </span>numb<span class="_ _d"></span>er,<span class="_ _c"> </span>not<span class="_ _c"> </span>just<span class="_ _c"> </span>for<span class="_ _c"> </span>pow<span class="_ _5"></span>er<span class="_ _c"> </span>of<span class="_ _c"> </span>t<span class="_ _5"></span>wo)</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">14/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf11" class="pf w0 h0" data-page-no="11"><div class="pc pc11 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI1UlEQVR42u3bsU3EQBRF0R3kEdGIGhARFSBEjEToXlwEkTugCBdBQBF0QLSaiElMRkDoZc0fcU4FX8/JlS2nm7uHAwAAhPH+9nphBQAAohGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAB8S601KwAAEEfO2ZtUAADCEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAA/s7Q0a21Vg8MAGCbUkpH13qTCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgDAGExDTOM9G2NkyTUYAIIjUWuvl1lqrBwYAsE0ppZdTc84+9wMAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAA5zWYgJjGeTbCzpZpMgIAQaTWWi+31lo9MACAbUopvZyac/a5HwCAcEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAA4r8EExDTOsxF2tkyTEQAIIrXWerm11uqBAQBsU0rp5dScs8/9AACEI1IBABCpAAAgUgEAEKkAAHCqnv7uBwDgP/B3PwAAEYlUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPhhOD5fWwF+y8fjixEA4ES3908pXV2ux8/DYV1XgwAAEMIXp940/HVzj1IAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Default<span class="_ _1d"> </span>V<span class="_ _5"></span>alue<span class="_ _1e"> </span>1/3</div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++11<span class="_ _b"> </span><span class="ff1 fc0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>parameters<span class="_ _e"> </span>can<span class="_ _8"> </span>have<span class="_ _e"> </span>default<span class="_ _8"> </span>values</span></div><div class="t m0 xe hf y8b ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">A<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>3</span>,<span class="_ _9"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">B<span class="_ _11"> </span><span class="fc7">=<span class="_ _9"> </span>4&gt;</span></span></span></div><div class="t m0 xe hf y8c ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">print1()<span class="_ _9"> </span>{<span class="_ _11"> </span>cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>A<span class="_ _11"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span><span class="fc9">&quot;,<span class="_ _9"> </span>&quot;<span class="_ _11"> </span></span>&lt;&lt;<span class="_ _9"> </span></span>B;<span class="_ _9"> </span>}</span></div><div class="t m0 xe hf y8d ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">A<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>3</span>,<span class="_ _9"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">B<span class="fc7">&gt;<span class="_ _1b"> </span><span class="ffd fc8">//<span class="_ _11"> </span>still<span class="_ _9"> </span>possible,<span class="_ _9"> </span>but<span class="_ _11"> </span>little<span class="_ _9"> </span>sense</span></span></span></span></div><div class="t m0 xe hf y8e ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">print2()<span class="_ _9"> </span>{<span class="_ _11"> </span>cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>A<span class="_ _11"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span><span class="fc9">&quot;,<span class="_ _9"> </span>&quot;<span class="_ _11"> </span></span>&lt;&lt;<span class="_ _9"> </span></span>B;<span class="_ _9"> </span>}</span></div><div class="t m0 xe hf y8f ffc fs7 fc0 sc0 ls0 ws0">print1<span class="fc7">&lt;2</span>,<span class="_ _9"> </span><span class="fc7">5&gt;</span>();<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span>2,<span class="_ _11"> </span>5</span></div><div class="t m0 xe hf y90 ffc fs7 fc0 sc0 ls0 ws0">print1<span class="fc7">&lt;2&gt;</span>();<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span>2,<span class="_ _11"> </span>4<span class="_ _9"> </span>(B:<span class="_ _12"> </span>default)</span></div><div class="t m0 xe hf y91 ffc fs7 fc0 sc0 ls0 ws0">print1<span class="fc7">&lt;&gt;</span>();<span class="_ _20"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span>3,<span class="_ _11"> </span>4<span class="_ _9"> </span>(A,B:<span class="_ _9"> </span>default)</span></div><div class="t m0 xe hf y92 ffc fs7 fc0 sc0 ls0 ws0">print1();<span class="_ _1c"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span>3,<span class="_ _11"> </span>4<span class="_ _9"> </span>(A,B:<span class="_ _9"> </span>default)</span></div><div class="t m0 xe hf y93 ffc fs7 fc0 sc0 ls0 ws0">print2<span class="fc7">&lt;2</span>,<span class="_ _9"> </span><span class="fc7">5&gt;</span>();<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span>2,<span class="_ _11"> </span>5</span></div><div class="t m0 xe hf y94 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>print2&lt;2&gt;();<span class="_ _1f"> </span>compile<span class="_ _9"> </span>error</div><div class="t m0 xe hf y95 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>print2&lt;&gt;();<span class="_ _12"> </span>compile<span class="_ _9"> </span>error</div><div class="t m0 xe hf y96 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>print2();<span class="_ _13"> </span>compile<span class="_ _9"> </span>error</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">15/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameters<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Default<span class="_ _1d"> </span>V<span class="_ _5"></span>alue<span class="_ _21"> </span>2/3</div><div class="t m0 x1 he y97 ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>parameters<span class="_ _e"> </span>may<span class="_ _e"> </span>have<span class="_ _e"> </span>no<span class="_ _8"> </span>name</div><div class="t m0 xe hf y98 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc5">f<span class="fc0">()<span class="_ _9"> </span>{}</span></span></div><div class="t m0 xe hf y99 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="ffc fc7">=<span class="_ _9"> </span></span><span class="fc4">void<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y9a ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g()<span class="_ _9"> </span>{}</span></div><div class="t m0 xe hf y9b ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">main()<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y9c ffc fs7 fc0 sc0 ls0 ws0">g();<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>generated</span></div><div class="t m0 xe hf y9d ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y9e ff6 fs8 fc0 sc0 ls0 ws0">f()<span class="_ _b"> </span><span class="ff4">is<span class="_ _e"> </span>alwa<span class="_ _5"></span>ys<span class="_ _b"> </span>generated<span class="_ _e"> </span>in<span class="_ _b"> </span>the<span class="_ _e"> </span>final<span class="_ _b"> </span>co<span class="_ _d"></span>de</span></div><div class="t m0 x1 he y9f ff6 fs8 fc0 sc0 ls0 ws0">g()<span class="_ _b"> </span><span class="ff4">is<span class="_ _e"> </span>generated<span class="_ _b"> </span>in<span class="_ _e"> </span>the<span class="_ _e"> </span>final<span class="_ _b"> </span>co<span class="_ _d"></span>de<span class="_ _e"> </span>only<span class="_ _b"> </span>if<span class="_ _e"> </span>it<span class="_ _e"> </span>is<span class="_ _b"> </span>called</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">16/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomdAwjCf+fzTBC+NC9/3h1OCQAAwnjcbysrAAAQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOAj11qtAABAHKUUl1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIA8Ce6Gb11miYfBgDwnb7vZ/Ral1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgCXLtVYrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQCA3+nGy9YKMF/P89UIACzM/jjkvFm38ZVSa80gAACE8AbyrxoCN2gv9gAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameters<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Default<span class="_ _1d"> </span>V<span class="_ _5"></span>alue<span class="_ _21"> </span>3/3</div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++11<span class="_ _b"> </span><span class="ff1 fc0">Unlike<span class="_ _e"> </span>function<span class="_ _8"> </span>pa<span class="_ _5"></span>rameters,<span class="_ _8"> </span>template<span class="_ _8"> </span>parameters<span class="_ _e"> </span>can<span class="_ _8"> </span>b<span class="_ _d"></span>e<span class="_ _8"> </span>initialized<span class="_ _8"> </span>b<span class="_ _5"></span>y</span></div><div class="t m0 x1 he ya0 ff1 fs8 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>revious<span class="_ _8"> </span>values</div><div class="t m0 xe hf ya1 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">A,<span class="_ _9"> </span></span>int<span class="_ _11"> </span><span class="ffc fc0">B<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span>A<span class="_ _11"> </span><span class="fc7">+<span class="_ _9"> </span>3&gt;</span></span></span></div><div class="t m0 xe hf ya2 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f()<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf ya3 ffc fs7 fc0 sc0 ls0 ws0">cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>B;</div><div class="t m0 xe hf ya4 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf ya5 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span><span class="fc4">int<span class="_ _11"> </span><span class="ffc fc0">S<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span></span></span></span>sizeof<span class="ffc fc0">(T)<span class="fc7">&gt;</span></span></div><div class="t m0 xe hf ya6 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g(T)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf ya7 ffc fs7 fc0 sc0 ls0 ws0">cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>S;</div><div class="t m0 xe hf ya8 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf ya9 ffc fs7 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;3&gt;</span>();<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>B<span class="_ _9"> </span>is<span class="_ _9"> </span>6</span></div><div class="t m0 xe hf yaa ffc fs7 fc0 sc0 ls0 ws0">g(<span class="fc7">3</span>);<span class="_ _22"> </span><span class="ffd fc8">//<span class="_ _9"> </span>S<span class="_ _9"> </span>is<span class="_ _11"> </span>4</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">17/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsWkDQRCG0Vtzg6LFNRhHrsAYxQZ15iZcjgMX4Q4cHRt5klOmTCAEhjnuvQqWf5OPac+vxwkAAMr4+f56sAIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAALlpmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCA6+YNvXWM4cMAAO7Te9/Qa11SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAbtEy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAB2ZN7QW8cYPgwA4D699w291iUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAADwH1pmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAALszLx9PVoAd+n3/NAIANb28nVp7PKzL3zSt62oQAABKOAMjXyAAILNvYgAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _1d"> </span>T<span class="_ _7"></span>emplate<span class="_ _1d"> </span>Overloading</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>Functions<span class="_ _e"> </span>can<span class="_ _8"> </span>b<span class="_ _d"></span>e<span class="_ _8"> </span><span class="ff12">overloaded</span></div><div class="t m0 xe hf yab ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf yac ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf yad ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf yae ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>e.g<span class="_ _9"> </span>add(3,<span class="_ _9"> </span>4);</span></div><div class="t m0 xe hf yaf ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf yb0 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b,<span class="_ _9"> </span>T<span class="_ _11"> </span>c)<span class="_ _9"> </span>{<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>different<span class="_ _9"> </span>number<span class="_ _9"> </span>of<span class="_ _11"> </span>parameters</span></div><div class="t m0 x3 hf yb1 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b<span class="_ _9"> </span><span class="fc7">+<span class="_ _9"> </span></span>c;</span></div><div class="t m0 xe hf yb2 ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>e.g<span class="_ _9"> </span>add(3,<span class="_ _9"> </span>4,<span class="_ _11"> </span>5);</span></div><div class="t m0 x1 he yb3 ff1 fs8 fc0 sc0 ls0 ws0">Also,<span class="_ _e"> </span>templates<span class="_ _8"> </span>themselves<span class="_ _8"> </span>can<span class="_ _8"> </span>b<span class="_ _d"></span>e<span class="_ _8"> </span><span class="ff12">overloaded</span></div><div class="t m0 xe hf yb4 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">C,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf yb5 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _11"> </span>it<span class="_ _9"> </span>is<span class="_ _9"> </span>not<span class="_ _11"> </span>in<span class="_ _9"> </span>conflict<span class="_ _9"> </span>with</span></div><div class="t m0 x3 hf yb6 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b<span class="_ _9"> </span><span class="fc7">+<span class="_ _9"> </span></span>C;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>T<span class="_ _9"> </span>add(T<span class="_ _11"> </span>a,<span class="_ _9"> </span>T<span class="_ _9"> </span>b)</span></span></div><div class="t m0 xe hf yb7 ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _23"> </span><span class="ffd fc8">//<span class="_ _9"> </span>&quot;C&quot;<span class="_ _9"> </span>is<span class="_ _11"> </span>part<span class="_ _9"> </span>of<span class="_ _9"> </span>the<span class="_ _11"> </span>signature</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">18/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIo0lEQVR42u3YsUlEQRCA4Vt5g9FiDWJ0FYiIgYFgZzZhLwYa2IGJHRgdGznJMzOWB3fM4vdVMMwkP9Ourm93AABQxuf725ktAABQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOBXy0xbAACgjojwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAP/MMtGs+7t7BwMA2Obj9WWiaX1SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAk2qZOcusYwwHAwDYpvc+y6gR4ZMKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgJNpmWkLAADUERE+qQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQCgiGWiWccYDgYAsE3vfaJpfVIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIAptMy0BQAA6ogIn1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQrAABApAIAgEgFAECkAgCASAUAQKQCAMCRLYenS1sA/u7r4dkSADiq/c1jaxfn6+F7t1vX1UIAACjhBzB3JfwdGpWVAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Sp<span class="_ _0"></span>ecialization<span class="_ _24"> </span>1/2</div><div class="t m0 xe he yb8 ff1 fs8 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>Sp<span class="_ _0"></span>ecialization</div><div class="t m0 xe he yb9 ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _e"> </span>sp<span class="_ _0"></span>ecialization<span class="_ _b"> </span><span class="ff4">refers<span class="_ _b"> </span>to<span class="_ _e"> </span>the<span class="_ _b"> </span>concrete<span class="_ _e"> </span>implementation<span class="_ _b"> </span>for<span class="_ _b"> </span>a<span class="_ _e"> </span>sp<span class="_ _d"></span>ecific</span></div><div class="t m0 xe he yba ff4 fs8 fc0 sc0 ls0 ws0">combination<span class="_ _b"> </span>of<span class="_ _e"> </span>template<span class="_ _b"> </span>parameters</div><div class="t m0 x1 he ybb ff1 fs8 fc0 sc0 ls0 ws0">The<span class="_ _e"> </span>problem:</div><div class="t m0 xe hf ybc ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf ybd ff6 fs7 fc4 sc0 ls0 ws0">bool<span class="_ _9"> </span><span class="ffc fc0">compare(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf ybe ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">&lt;<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf ybf ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he yc0 ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span>direct<span class="_ _e"> </span>comparison<span class="_ _b"> </span>betw<span class="_ _5"></span>een<span class="_ _e"> </span>t<span class="_ _5"></span>wo<span class="_ _b"> </span>floating-p<span class="_ _d"></span>oint<span class="_ _b"> </span>values<span class="_ _e"> </span>is<span class="_ _e"> </span>dangerous<span class="_ _b"> </span>due<span class="_ _e"> </span>to<span class="_ _b"> </span>rounding</div><div class="t m0 x1 he yc1 ff4 fs8 fc0 sc0 ls0 ws0">erro<span class="_ _5"></span>rs</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">19/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf16" class="pf w0 h0" data-page-no="16"><div class="pc pc16 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Sp<span class="_ _0"></span>ecialization<span class="_ _24"> </span>2/2</div><div class="t m0 x1 he yc2 ff1 fs8 fc0 sc0 ls0 ws0">Solution<span class="ff4">:<span class="_ _9"> </span>T<span class="_ _5"></span>emplate<span class="_ _b"> </span>sp<span class="_ _d"></span>ecialization</span></div><div class="t m0 xe hf yc3 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;&gt;</span></div><div class="t m0 xe hf yc4 ff6 fs7 fc4 sc0 ls0 ws0">bool<span class="_ _9"> </span><span class="ffc fc0">compare<span class="fc7">&lt;</span></span>float<span class="ffc fc7">&gt;<span class="fc0">(</span></span>float<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _11"> </span></span>float<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf yc5 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">...<span class="_ _12"> </span><span class="ffd fc8">//<span class="_ _9"> </span>a<span class="_ _11"> </span>better<span class="_ _9"> </span>floating<span class="_ _9"> </span>point<span class="_ _11"> </span>implementation</span></span></div><div class="t m0 xe hf yc6 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he yc7 ff4 fs8 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>ull<span class="_ _e"> </span>Sp<span class="_ _d"></span>ecialization:<span class="_ _11"> </span><span class="ffa">F<span class="_ _5"></span>unction<span class="_ _e"> </span><span class="ff4">templates<span class="_ _e"> </span>can<span class="_ _b"> </span>b<span class="_ _0"></span>e<span class="_ _b"> </span>specialized<span class="_ _e"> </span>only<span class="_ _e"> </span>if<span class="_ _b"> </span><span class="ff1">ALL<span class="_ _e"> </span></span>template</span></span></div><div class="t m0 x1 he yc8 ff4 fs8 fc0 sc0 ls0 ws0">a<span class="_ _5"></span>rguments<span class="_ _e"> </span>a<span class="_ _5"></span>re<span class="_ _e"> </span>sp<span class="_ _d"></span>ecialized</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">20/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xd h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _f"></span>emplate<span class="_ _1"> </span>V<span class="_ _7"></span>a<span class="_ _7"></span>riable</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:208.239000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIo0lEQVR42u3csWkDMQCG0ZM5kUp4hpAqE5jg2uARvIeHcH91hsgQKTKEN0hl1MRycSkCLo05CJFy700gfjUfd6DwtFp3AABQjePH+8IKAADURqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAHAVSilWAACgHjFGX1IBAKiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAODP9Q2dNefswgAApkkpNXRaX1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAYO56E8Dv+bpcdsNghzu97fdGAOBHKKW0ctacswsDAJgmpdTKUWOMfvcDAFAdkQoAgEgFAACRCgCASAUAAJEKAMC/09ITVAAAzIEnqAAAqJFIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA3NKfDo9WAGr2uXk1AsCsPL9sQ1g+jKdz143jaBAAAKrwDSSlJgAdDQR1AAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Va<span class="_ _5"></span>riable</div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++14<span class="_ _b"> </span><span class="fc0">allows<span class="_ _b"> </span>variables<span class="_ _b"> </span>with<span class="_ _b"> </span>templates</span></div><div class="t m0 x1 he yc9 ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span>template<span class="_ _e"> </span>variable<span class="_ _b"> </span>can<span class="_ _b"> </span>b<span class="_ _d"></span>e<span class="_ _e"> </span>considered<span class="_ _b"> </span>a<span class="_ _e"> </span>sp<span class="_ _d"></span>ecial<span class="_ _e"> </span>case<span class="_ _b"> </span>of<span class="_ _e"> </span>a<span class="_ _b"> </span><span class="ffa">class<span class="_ _e"> </span>template<span class="_ _1d"> </span></span>(see<span class="_ _b"> </span>next</div><div class="t m0 x1 he yca ff4 fs8 fc0 sc0 ls0 ws0">lecture)</div><div class="t m0 xe hf ycb ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf ycc ff6 fs7 fc6 sc0 ls0 ws0">constexpr<span class="_ _9"> </span><span class="ffc fc0">T<span class="_ _9"> </span>pi{<span class="_ _11"> </span><span class="fc7">3.1415926535897932385<span class="_ _9"> </span></span>};<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>variable<span class="_ _9"> </span>template</span></span></div><div class="t m0 xe hf ycd ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf yce ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>circular_area(T<span class="_ _9"> </span>r)<span class="_ _11"> </span>{</div><div class="t m0 x3 hf ycf ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">pi<span class="fc7">&lt;</span>T<span class="fc7">&gt;<span class="_ _9"> </span>*<span class="_ _11"> </span></span>r<span class="_ _9"> </span><span class="fc7">*<span class="_ _9"> </span></span>r;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>pi&lt;T&gt;<span class="_ _9"> </span>is<span class="_ _11"> </span>a<span class="_ _9"> </span>variable<span class="_ _9"> </span>template<span class="_ _11"> </span>instantiation</span></span></div><div class="t m0 xe hf yd0 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf yd1 ffc fs7 fc0 sc0 ls0 ws0">circular_area(<span class="fc7">3.3f</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>float</span></div><div class="t m0 xe hf yd2 ffc fs7 fc0 sc0 ls0 ws0">circular_area(<span class="fc7">3.3</span>);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>double</span></div><div class="t m0 xe hd yd3 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>circular_area(3);<span class="_ _9"> </span>//<span class="_ _11"> </span><span class="ff9">compile<span class="_ _c"> </span>erro<span class="_ _5"></span>r<span class="ffd">,<span class="_ _11"> </span>narrowing<span class="_ _9"> </span>conversion<span class="_ _9"> </span>with<span class="_ _11"> </span>&quot;pi&quot;</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">21/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXElEQVR42u3ZsQ3CQBBE0TvEipAakCjBHSDX5ibokMghm5wjx87wCr1XwkRfmp6ZDQAAyoiIixUAAKhGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBAPgjVxNwrnV5GIEf+8xvI8Ch5/QyAifqmWkFAADqiAh3PwAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEqgkAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAANj1fr+N9dvaGMMaAACUsAEO+BP1Qlu3KAAAAABJRU5ErkJggg=="/><div class="t m0 xd h2 yd4 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _f"></span>emplate<span class="_ _1"> </span>P<span class="_ _7"></span>a<span class="_ _7"></span>rameter</div><div class="t m0 xd h2 yd5 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _f"></span>yp<span class="_ _0"></span>es</div><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:149.618000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:115.247000px;width:68.076000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1a" class="pf w0 h0" data-page-no="1a"><div class="pc pc1a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _1d"> </span>T<span class="_ _7"></span>ypes</div><div class="t m0 x1 he y2e ff4 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _b"> </span>parameters<span class="_ _b"> </span>can<span class="_ _e"> </span>b<span class="_ _d"></span>e:</div><div class="t m0 xf he yd6 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">integral<span class="_ _b"> </span>type</span></div><div class="t m0 xf he yd7 ffb fs8 fc0 sc0 ls0 ws0"></div><div class="t m0 x11 he yd8 ff11 fs8 fc0 sc0 ls0 ws0">enum<span class="_ _c"> </span><span class="ff4">,<span class="_ _18"> </span></span>enum<span class="_ _6"> </span>class</div><div class="t m0 xf he yd9 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">floating-p<span class="_ _d"></span>oint<span class="_ _b"> </span>type<span class="_ _1d"> </span><span class="ff4 fc3">C++20</span></span></div><div class="t m0 xf he yda ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">auto<span class="_ _18"> </span><span class="ff4">placeholder<span class="_ _b"> </span><span class="fc3">C++17</span></span></span></div><div class="t m0 xf he ydb ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">class<span class="_ _b"> </span>literals<span class="_ _9"> </span><span class="ff4">and<span class="_ _e"> </span></span>concepts<span class="_ _1d"> </span><span class="ff4 fc3">C++20</span></span></div><div class="t m0 xf he ydc ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">generic<span class="_ _b"> </span>type<span class="_ _26"> </span><span class="ff11">typename</span></span></div><div class="t m0 x1 he y91 ff4 fs8 fc0 sc0 ls0 ws0">and<span class="_ _b"> </span>rarely:</div><div class="t m0 xf he ydd ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">function</span></div><div class="t m0 xf he yde ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">reference/p<span class="_ _d"></span>ointer<span class="_ _11"> </span><span class="ff4">to<span class="_ _b"> </span>global<span class="_ _18"> </span><span class="ff11">static<span class="_ _18"> </span></span>function<span class="_ _e"> </span>o<span class="_ _5"></span>r<span class="_ _e"> </span>object</span></span></div><div class="t m0 xf he ydf ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ffa">p<span class="_ _d"></span>ointer<span class="_ _b"> </span>to<span class="_ _e"> </span>memb<span class="_ _d"></span>er<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></div><div class="t m0 xf he ye0 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">nullptr<span class="_ _8"> </span>t<span class="_ _18"> </span><span class="ff4 fc3">C++14</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">22/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1b" class="pf w0 h0" data-page-no="1b"><div class="pc pc1b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIo0lEQVR42u3ZMUoDQRTH4R3Zh9XgGSSVJxCxFuw9Sg6RMhfIIXKIFB7CG1iFqXxg1k5SGQhIZsn3neDx3+bHbFk8Pg8AANCNj/fdjRUAAOiNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FfJTCsAANCPiPCSCgBAd0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgMsZZ3Rra80HAwA4T611Rtd6SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAIArM5oATvo+HN7Wazv8n+1yaQQAjpXMnMutrTUfDADgPLXWuZwaEX73AwDQHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAq1Ey0woAAPQjIrykAgDQHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD4y7hf3VsB4Njny8YIABf08PRayt3ttP8ahmmaDAIAQBd+AJVkJgAowFkzAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Generic<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span>Notes</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>multiple<span class="_ _8"> </span>values<span class="_ _8"> </span>and<span class="_ _8"> </span>floating-p<span class="_ _d"></span>oint<span class="_ _8"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>es</div><div class="t m0 xe hd y2f ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">float<span class="_ _9"> </span><span class="ffc fc0">V<span class="fc7">&gt;<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span><span class="ff9">only<span class="_ _c"> </span>in<span class="_ _c"> </span>C++20</span></span></span></span></span></div><div class="t m0 xe hf y30 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">print_float()<span class="_ _9"> </span>{}</span></div><div class="t m0 xe hf ye1 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y32 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">print()<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y33 ffc fs7 fc0 sc0 ls0 ws0">cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>T<span class="fc7">::</span>x<span class="_ _11"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span><span class="fc9">&quot;,<span class="_ _9"> </span>&quot;<span class="_ _11"> </span></span>&lt;&lt;<span class="_ _9"> </span></span>T<span class="fc7">::</span>y;</div><div class="t m0 xe hf y34 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y35 ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">Multi<span class="_ _9"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x3 hf y36 ff6 fs7 fc6 sc0 ls0 ws0">static<span class="_ _9"> </span>const<span class="_ _13"> </span><span class="fc4">int<span class="_ _12"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>1</span>;</span></span></div><div class="t m0 x3 hf ye2 ff6 fs7 fc6 sc0 ls0 ws0">static<span class="_ _9"> </span>constexpr<span class="_ _9"> </span><span class="fc4">float<span class="_ _11"> </span><span class="ffc fc0">y<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span>2.0f</span>;</span></span></div><div class="t m0 xe hf ye3 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xe hf ye4 ffc fs7 fc0 sc0 ls0 ws0">print<span class="fc7">&lt;</span>Multi<span class="fc7">&gt;</span>();<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _11"> </span>&quot;1,<span class="_ _9"> </span>2&quot;</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">23/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU0DQRCG0VvrRkQrarCIqMCyHFuiM5qgHAcuwh0QWRsxyZEROjAEc/i9Clb/XfBp2svuMAEAQBmX82ljBQAAqhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8aJlpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAOqaV/TWMcZantp7928BANzNJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAeTMtMKwAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAIAHM6/orWMMHwwA4D699xW91iUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAOA/a5lpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgFvm6/vWCgB/4vP4YQSA33vdv7X2/LRcv6ZpWRaDAABQwjffOCAAUPMwAAAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">auto<span class="_ _1d"> </span><span class="ff1">Placeholder</span></div><div class="t m0 x1 he y45 ff4 fs8 fc3 sc0 ls0 ws0">C++17<span class="_ _b"> </span><span class="fc0">intro<span class="_ _d"></span>duces<span class="_ _e"> </span>automatic<span class="_ _e"> </span>deduction<span class="_ _b"> </span>of<span class="_ _e"> </span><span class="ffa">non-t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span><span class="ff4">template<span class="_ _b"> </span>parameters<span class="_ _b"> </span>with<span class="_ _e"> </span>the</span></span></span></div><div class="t m0 xe he ye5 ff6 fs8 fc0 sc0 ls0 ws0">auto<span class="_ _18"> </span><span class="ff4">k<span class="_ _5"></span>eywo<span class="_ _5"></span>rd</span></div><div class="t m0 xe hf ye6 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">X,<span class="_ _9"> </span></span>int<span class="_ _11"> </span><span class="ffc fc0">Y<span class="fc7">&gt;</span></span></span></div><div class="t m0 xe hf ye7 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f()<span class="_ _9"> </span>{}</span></div><div class="t m0 xe hf ye8 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T1<span class="ffc fc0">,<span class="_ _9"> </span>T1<span class="_ _11"> </span>X,<span class="_ _9"> </span></span></span>typename<span class="_ _9"> </span><span class="fc5">T2<span class="ffc fc0">,<span class="_ _11"> </span>T2<span class="_ _9"> </span>Y<span class="fc7">&gt;</span></span></span></div><div class="t m0 xe hf ye9 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g1()<span class="_ _9"> </span>{}<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>before<span class="_ _9"> </span>C++17</span></span></div><div class="t m0 xe hf yea ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>auto<span class="_ _9"> </span><span class="ffc fc0">X,<span class="_ _9"> </span></span>auto<span class="_ _11"> </span><span class="ffc fc0">Y<span class="fc7">&gt;</span></span></div><div class="t m0 xe hf yeb ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g2()<span class="_ _9"> </span>{}</span></div><div class="t m0 xe hf yec ffc fs7 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;2u</span>,<span class="_ _9"> </span><span class="fc7">2u&gt;</span>();<span class="_ _27"> </span><span class="ffd fc8">//<span class="_ _9"> </span>X:<span class="_ _9"> </span>int,<span class="_ _11"> </span>Y:<span class="_ _9"> </span>int</span></div><div class="t m0 xe hf yed ffc fs7 fc0 sc0 ls0 ws0">g1<span class="fc7">&lt;<span class="ff6 fc4">int</span></span>,<span class="_ _9"> </span><span class="fc7">2</span>,<span class="_ _9"> </span><span class="ff6 fc4">char</span>,<span class="_ _11"> </span><span class="ff13 fc9">&apos;<span class="ffc">a</span>&apos;</span><span class="fc7">&gt;</span>();<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>X:<span class="_ _11"> </span>int,<span class="_ _9"> </span>Y:<span class="_ _9"> </span>char</span></div><div class="t m0 xe hf yee ffc fs7 fc0 sc0 ls0 ws0">g2<span class="fc7">&lt;2</span>,<span class="_ _9"> </span><span class="ff13 fc9">&apos;<span class="ffc">a</span>&apos;</span><span class="fc7">&gt;</span>();<span class="_ _28"> </span><span class="ffd fc8">//<span class="_ _9"> </span>X:<span class="_ _9"> </span>int,<span class="_ _11"> </span>Y:<span class="_ _9"> </span>char</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">24/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0Vt0I0crakBEVICQYyR35iYoh4Ai6IDI2ohJzpnl1BbCc9Z7Faz+TT5Ne37dTgAAUMb31+eDFQAAqEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAABw0jLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAADuyGwCgDs2xjDC1XrvRoBbcUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAC7SMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAA+DPzit46xvBhAADX6b2v6LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgDAurXMtAIAAHVEhEsqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+GfzYf9kBYAb+nn/MALAuZe3XWuPm+XwO03LshgEAIASjgJ/IAB7tOpfAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Class<span class="_ _1d"> </span>T<span class="_ _7"></span>emplate<span class="_ _1d"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e</div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++20<span class="_ _b"> </span><span class="fc0">A<span class="_ _e"> </span><span class="ffa">non-t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>template<span class="_ _e"> </span>pa<span class="_ _5"></span>rameter<span class="_ _11"> </span><span class="ff4">of<span class="_ _b"> </span>a<span class="_ _e"> </span><span class="ff1">class<span class="_ _8"> </span>literal<span class="_ _8"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="ff4">:</span></span></span></span></span></div><div class="t m0 xf h6 yef ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">A<span class="_ _b"> </span><span class="ffa">class<span class="_ _c"> </span>literal<span class="_ _1d"> </span></span>is<span class="_ _b"> </span>a<span class="_ _c"> </span>class<span class="_ _b"> </span>that<span class="_ _c"> </span>can<span class="_ _b"> </span>b<span class="_ _d"></span>e<span class="_ _b"> </span>assigned<span class="_ _c"> </span>to<span class="_ _18"> </span><span class="ff11">constexpr<span class="_ _29"> </span></span>va<span class="_ _5"></span>riable</span></div><div class="t m0 xf h6 yf0 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">All<span class="_ _b"> </span><span class="ffa">base<span class="_ _e"> </span></span>classes<span class="_ _c"> </span>and<span class="_ _b"> </span><span class="ffa">non-static<span class="_ _b"> </span>data<span class="_ _c"> </span>memb<span class="_ _d"></span>ers<span class="_ _1d"> </span></span>a<span class="_ _5"></span>re<span class="_ _b"> </span><span class="ff11">public<span class="_ _c"> </span></span>and<span class="_ _b"> </span><span class="ff11">non-mutable</span></span></div><div class="t m0 xf h6 yf1 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _6"> </span><span class="ff4">All<span class="_ _b"> </span><span class="ffa">base<span class="_ _e"> </span></span>classes<span class="_ _c"> </span>and<span class="_ _b"> </span><span class="ffa">non-static<span class="_ _b"> </span>data<span class="_ _c"> </span>memb<span class="_ _d"></span>ers<span class="_ _1d"> </span></span>have<span class="_ _c"> </span>the<span class="_ _b"> </span>same<span class="_ _b"> </span>p<span class="_ _5"></span>rop<span class="_ _d"></span>erties</span></div><div class="t m0 xe h10 yf2 ffd fs5 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _6"> </span><span class="fc8">&lt;array&gt;</span></div><div class="t m0 xe h10 yf3 ff6 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc5">A<span class="_ _1d"> </span><span class="ff14 fc0">{</span></span></div><div class="t m0 x13 h10 yf4 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">x;</span></div><div class="t m0 x13 h10 yf5 ff6 fs5 fc6 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff14 fc0">A(</span><span class="fc4">int<span class="_ _1d"> </span><span class="ff14 fc0">x1)<span class="_ _1d"> </span><span class="fc7">:<span class="_ _8"> </span></span>x{x1}<span class="_ _1d"> </span>{}</span></span></div><div class="t m0 xe h10 yf6 ff14 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xe h10 yf7 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;<span class="fc0">A<span class="_ _8"> </span>a</span>&gt;</span></div><div class="t m0 xe h10 yf8 ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">f()<span class="_ _1d"> </span>{<span class="_ _1d"> </span>std<span class="fc7">::</span>cout<span class="_ _8"> </span><span class="fc7">&lt;&lt;<span class="_ _1d"> </span></span>a.x;<span class="_ _1d"> </span>}</span></div><div class="t m0 xe h10 yf9 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;<span class="fc0">std</span>::<span class="fc0">array<span class="_ _8"> </span>array</span>&gt;</span></div><div class="t m0 xe h10 yfa ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">g()<span class="_ _1d"> </span>{<span class="_ _1d"> </span>std<span class="fc7">::</span>cout<span class="_ _8"> </span><span class="fc7">&lt;&lt;<span class="_ _1d"> </span></span>array[<span class="fc7">2</span>];<span class="_ _1d"> </span>}</span></div><div class="t m0 xe h10 yfb ff14 fs5 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;</span>A{<span class="fc7">5</span>}<span class="fc7">&gt;</span>();<span class="_ _2b"> </span><span class="ffd fc8">//<span class="_ _8"> </span>print<span class="_ _1d"> </span><span class="ff15">&apos;</span>5<span class="ff15">&apos;</span></span></div><div class="t m0 xe h10 yfc ff14 fs5 fc0 sc0 ls0 ws0">g<span class="fc7">&lt;</span>std<span class="fc7">::</span>array{<span class="fc7">1</span>,<span class="fc7">2</span>,<span class="fc7">3</span>}<span class="fc7">&gt;</span>();<span class="_ _8"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>print<span class="_ _8"> </span><span class="ff15">&apos;</span>3<span class="ff15">&apos;</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">25/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1e" class="pf w0 h0" data-page-no="1e"><div class="pc pc1e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIf0lEQVR42u3ZsQ3CMBRF0RjForKYAVExAULUSGzGEoxDwRBsQBWlwo3pqIHqh5yzQV4k68pOm92hAwCAMO6368IKAABEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAHhLtVYrAAAQR87ZTSoAAOGIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAL/r5/CR4zj60zBDpRSHG+Bwmyg3qQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgI/0JgCYqFKKEYB/lWqtVgAAII6cs+d+AADCEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAABf6Ifz2goAU/Q4XowA/KXt/pTSatmGZ9e11gwCAEAIL2K5HSsVqUnLAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Arra<span class="_ _5"></span>y<span class="_ _1d"> </span>and<span class="_ _1d"> </span>Pointer<span class="_ _8"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>es</div><div class="t m0 x14 h11 yfd ff16 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x15 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">1/2</div><div class="t m0 x16 he yfe ff1 fs8 fc0 sc0 ls0 ws0">Arra<span class="_ _5"></span>y<span class="_ _8"> </span>and<span class="_ _8"> </span>p<span class="_ _d"></span>ointer</div><div class="t m0 x17 h10 yff ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span><span class="fc4">int<span class="ff14 fc7">*<span class="_ _8"> </span><span class="fc0">ptr</span>&gt;<span class="_ _2c"> </span><span class="ffd fc8">//<span class="_ _8"> </span>pointer</span></span></span></div><div class="t m0 x17 h10 y100 ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">g()<span class="_ _1d"> </span>{</span></div><div class="t m0 x2 h10 y101 ff14 fs5 fc0 sc0 ls0 ws0">cout<span class="_ _8"> </span><span class="fc7">&lt;&lt;<span class="_ _1d"> </span></span>ptr[<span class="fc7">0</span>];</div><div class="t m0 x17 h10 y102 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x17 h10 y103 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span><span class="fc4">int<span class="_ _8"> </span><span class="ff14 fc0">(<span class="fc7">&amp;</span>array)[<span class="fc7">3</span>]<span class="fc7">&gt;<span class="_ _25"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>reference</span></span></span></span></div><div class="t m0 x17 h10 y104 ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">f()<span class="_ _1d"> </span>{</span></div><div class="t m0 x2 h10 y105 ff14 fs5 fc0 sc0 ls0 ws0">cout<span class="_ _8"> </span><span class="fc7">&lt;&lt;<span class="_ _1d"> </span></span>array[<span class="fc7">0</span>];</div><div class="t m0 x17 h10 y106 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x17 h10 y107 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">array[]<span class="_ _1d"> </span><span class="fc7">=<span class="_ _1d"> </span></span>{<span class="fc7">2</span>,<span class="_ _8"> </span><span class="fc7">3</span>,<span class="_ _1d"> </span><span class="fc7">4</span>};<span class="_ _1d"> </span><span class="ffd fc8">//<span class="_ _8"> </span>global</span></span></div><div class="t m0 x17 h10 y108 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc5">main<span class="fc0">()<span class="_ _1d"> </span>{</span></span></div><div class="t m0 x2 h10 y109 ff14 fs5 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;</span>array<span class="fc7">&gt;</span>();<span class="_ _8"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>print<span class="_ _8"> </span>2</span></div><div class="t m0 x2 h10 y10a ff14 fs5 fc0 sc0 ls0 ws0">g<span class="fc7">&lt;</span>array<span class="fc7">&gt;</span>();<span class="_ _8"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>print<span class="_ _8"> </span>2</span></div><div class="t m0 x17 h10 y10b ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x18 he y10c ff1 fs8 fc0 sc0 ls0 ws0">Class<span class="_ _e"> </span>memb<span class="_ _0"></span>er</div><div class="t m0 x19 h10 y10d ff6 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc5">A<span class="_ _1d"> </span><span class="ff14 fc0">{</span></span></div><div class="t m0 x1a h10 y10e ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">x<span class="_ _2c"> </span><span class="fc7">=<span class="_ _8"> </span>5</span>;</span></div><div class="t m0 x1a h10 y10f ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">y[<span class="fc7">3</span>]<span class="_ _1d"> </span><span class="fc7">=<span class="_ _1d"> </span></span>{<span class="fc7">4</span>,<span class="_ _8"> </span><span class="fc7">2</span>,<span class="_ _1d"> </span><span class="fc7">3</span>};</span></div><div class="t m0 x19 h10 y110 ff14 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x19 h10 y111 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span><span class="fc4">int<span class="_ _8"> </span><span class="ff14 fc0">A<span class="fc7">::*</span>x<span class="fc7">&gt;<span class="_ _2d"> </span><span class="ffd fc8">//<span class="_ _8"> </span>pointer<span class="_ _1d"> </span>to</span></span></span></span></div><div class="t m0 x19 h10 y112 ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">h1()<span class="_ _1d"> </span>{}<span class="_ _2e"> </span><span class="ffd fc8">//<span class="_ _8"> </span>member<span class="_ _1d"> </span>type</span></span></div><div class="t m0 x19 h10 y113 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span><span class="fc4">int<span class="_ _8"> </span><span class="ff14 fc0">(A<span class="fc7">::*</span>y)[<span class="fc7">3</span>]<span class="fc7">&gt;<span class="_ _1d"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>pointer<span class="_ _8"> </span>to</span></span></span></span></div><div class="t m0 x19 h10 y114 ff6 fs5 fc4 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc0">h2()<span class="_ _1d"> </span>{}<span class="_ _2e"> </span><span class="ffd fc8">//<span class="_ _8"> </span>member<span class="_ _1d"> </span>type</span></span></div><div class="t m0 x19 h10 y115 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">main()<span class="_ _1d"> </span>{</span></div><div class="t m0 x1a h10 y116 ff14 fs5 fc0 sc0 ls0 ws0">h1<span class="fc7">&lt;&amp;</span>A<span class="fc7">::</span>x<span class="fc7">&gt;</span>();</div><div class="t m0 x1a h10 y117 ff14 fs5 fc0 sc0 ls0 ws0">h2<span class="fc7">&lt;&amp;</span>A<span class="fc7">::</span>y<span class="fc7">&gt;</span>();</div><div class="t m0 x19 h10 y118 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">26/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQ3CMBRFURvFooqYAVExAULUSNmMJRiHgiHYgCpKhRvT0UMBP+KcCazn5urnze6QAAAgjNv1srACAADRiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAF5yrdUKAADEUUpxSQUAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA8IZuRm+dpsmHAQB8pu/7Gb3WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAC+LddarQAAQBylFJdUAADCEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAD4tW48ra0A8Ffux7MRgMi2+yHn1bKNj5RaawYBACCEJ2XjGgKtfOMAAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _1d"> </span>-<span class="_ _1d"> </span>F<span class="_ _5"></span>unction<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e</div><div class="t m0 x1b h11 yfd ff16 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x15 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">2/2</div><div class="t m0 x1 he y119 ff1 fs8 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction</div><div class="t m0 xe h10 y11a ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span><span class="fc4">int<span class="_ _8"> </span><span class="ff14 fc0">(<span class="fc7">*</span>F)(</span>int<span class="ff14 fc0">,<span class="_ _1d"> </span></span>int<span class="ff14 fc0">)<span class="fc7">&gt;<span class="_ _25"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>&lt;--<span class="_ _8"> </span>signature<span class="_ _1d"> </span>of<span class="_ _8"> </span>&quot;f&quot;</span></span></span></span></div><div class="t m0 xe h10 y11b ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">apply1(</span>int<span class="_ _1d"> </span><span class="ff14 fc0">a,<span class="_ _1d"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b)<span class="_ _1d"> </span>{</span></div><div class="t m0 x13 h10 y11c ff6 fs5 fc6 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ff14 fc0">F(a,<span class="_ _1d"> </span>b);</span></div><div class="t m0 xe h10 y11d ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe h10 y11e ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">f(</span>int<span class="_ _1d"> </span><span class="ff14 fc0">a,<span class="_ _1d"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b)<span class="_ _1d"> </span>{<span class="_ _1d"> </span></span><span class="fc6">return<span class="_ _8"> </span><span class="ff14 fc0">a<span class="_ _1d"> </span><span class="fc7">+<span class="_ _1d"> </span></span>b;<span class="_ _8"> </span>}</span></span></div><div class="t m0 xe h10 y11f ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">g(</span>int<span class="_ _1d"> </span><span class="ff14 fc0">a,<span class="_ _1d"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b)<span class="_ _1d"> </span>{<span class="_ _1d"> </span></span><span class="fc6">return<span class="_ _8"> </span><span class="ff14 fc0">a<span class="_ _1d"> </span><span class="fc7">*<span class="_ _1d"> </span></span>b;<span class="_ _8"> </span>}</span></span></div><div class="t m0 xe h10 y120 ff6 fs5 fc6 sc0 ls0 ws0">template<span class="ff14 fc7">&lt;</span>decltype<span class="ff14 fc0">(f)<span class="_ _8"> </span>F<span class="fc7">&gt;<span class="_ _2f"> </span><span class="ffd fc8">//<span class="_ _8"> </span>alternative<span class="_ _1d"> </span>syntax</span></span></span></div><div class="t m0 xe h10 y121 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">apply2(</span>int<span class="_ _1d"> </span><span class="ff14 fc0">a,<span class="_ _1d"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b)<span class="_ _1d"> </span>{</span></div><div class="t m0 x13 h10 y122 ff6 fs5 fc6 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ff14 fc0">F(a,<span class="_ _1d"> </span>b);</span></div><div class="t m0 xe h10 y123 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe h10 y124 ff6 fs5 fc4 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">main()<span class="_ _1d"> </span>{</span></div><div class="t m0 x13 h10 y125 ff14 fs5 fc0 sc0 ls0 ws0">apply1<span class="fc7">&lt;</span>f<span class="fc7">&gt;</span>(<span class="fc7">2</span>,<span class="_ _8"> </span><span class="fc7">3</span>);<span class="_ _1d"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>return<span class="_ _8"> </span>5</span></div><div class="t m0 x13 h10 y126 ff14 fs5 fc0 sc0 ls0 ws0">apply2<span class="fc7">&lt;</span>g<span class="fc7">&gt;</span>(<span class="fc7">2</span>,<span class="_ _8"> </span><span class="fc7">3</span>);<span class="_ _1d"> </span><span class="ffd fc8">//<span class="_ _1d"> </span>return<span class="_ _8"> </span>6</span></div><div class="t m0 xe h10 y127 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">27/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xd h2 yd4 ff1 fs0 fc0 sc0 ls0 ws0">Compile-Time</div><div class="t m0 xd h2 yd5 ff1 fs0 fc0 sc0 ls0 ws0">Utilities</div><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:149.618000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:120.066000px;width:89.422000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf21" class="pf w0 h0" data-page-no="21"><div class="pc pc21 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h12 y8 ff6 fs3 fc1 sc0 ls0 ws0">static<span class="_ _1d"> </span>assert</div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++11<span class="_ _b"> </span><span class="ff11 fc5">static<span class="_ _1d"> </span>assert<span class="_ _b"> </span><span class="ff1 fc0">is<span class="_ _8"> </span>used<span class="_ _8"> </span>to<span class="_ _8"> </span>test<span class="_ _8"> </span>an<span class="_ _8"> </span>assertion<span class="_ _e"> </span>at<span class="_ _8"> </span>compile-time<span class="ff4">,<span class="_ _e"> </span>e.g.</span></span></span></div><div class="t m0 xe he ya0 ff11 fs8 fc0 sc0 ls0 ws0">sizeof<span class="_ _c"> </span><span class="ff4">,<span class="_ _b"> </span>literals,<span class="_ _e"> </span>templates,<span class="_ _18"> </span></span>constexpr</div><div class="t m0 x1 he y128 ff4 fs8 fc0 sc0 ls0 ws0">If<span class="_ _b"> </span>the<span class="_ _e"> </span><span class="ffa">static<span class="_ _b"> </span>assertion<span class="_ _8"> </span></span>fails,<span class="_ _b"> </span>the<span class="_ _e"> </span>program<span class="_ _b"> </span>do<span class="_ _d"></span>es<span class="_ _b"> </span>not<span class="_ _e"> </span>compile</div><div class="t m0 xe hf y129 ff6 fs7 fc6 sc0 ls0 ws0">static_assert<span class="ffc fc0">(<span class="fc7">2<span class="_ _9"> </span>+<span class="_ _9"> </span>2<span class="_ _11"> </span>==<span class="_ _9"> </span>4</span>,<span class="_ _9"> </span><span class="fc9">&quot;test1&quot;</span>);<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>ok,<span class="_ _9"> </span>it<span class="_ _11"> </span>compiles</span></span></div><div class="t m0 xe hd y12a ff6 fs7 fc6 sc0 ls0 ws0">static_assert<span class="ffc fc0">(<span class="fc7">2<span class="_ _9"> </span>+<span class="_ _9"> </span>2<span class="_ _11"> </span>==<span class="_ _9"> </span>5</span>,<span class="_ _9"> </span><span class="fc9">&quot;test2&quot;</span>);<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span><span class="ff9">compile<span class="_ _c"> </span>error</span>,<span class="_ _1d"> </span>print<span class="_ _11"> </span>&quot;test2&quot;</span></span></div><div class="t m0 x1 he y12b ff4 fs8 fc3 sc0 ls0 ws0">C++17<span class="fc0">:<span class="_ _9"> </span>assertions<span class="_ _e"> </span>without<span class="_ _e"> </span>messages</span></div><div class="t m0 xe hf y12c ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y12d ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f()<span class="_ _9"> </span>{<span class="_ _11"> </span></span><span class="fc6">static_assert<span class="ffc fc0">(</span>sizeof<span class="ffc fc0">(T)<span class="_ _9"> </span><span class="fc7">==<span class="_ _9"> </span></span></span>sizeof<span class="ffc fc0">(R));<span class="_ _11"> </span>}</span></span></div><div class="t m0 xe hf y12e ffc fs7 fc0 sc0 ls0 ws0">f<span class="fc7">&lt;<span class="ff6 fc4">int</span></span>,<span class="_ _9"> </span><span class="ff6 fc4">unsigned</span><span class="fc7">&gt;</span>();<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>ok,<span class="_ _9"> </span>it<span class="_ _9"> </span>compiles</span></div><div class="t m0 xe hd y12f ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>f&lt;int,<span class="_ _9"> </span>char&gt;();<span class="_ _1f"> </span>//<span class="_ _9"> </span><span class="ff9">compile<span class="_ _c"> </span>error</span></div><div class="t m0 x1 he y130 ff4 fs8 fc3 sc0 ls0 ws0">C++26<span class="fc0">:<span class="_ _9"> </span>assertions<span class="_ _e"> </span>with<span class="_ _e"> </span>text<span class="_ _b"> </span>formatting</span></div><div class="t m0 xe hf y131 ff6 fs7 fc6 sc0 ls0 ws0">static_assert<span class="ffc fc0">(</span>sizeof<span class="ffc fc0">(T)<span class="_ _9"> </span><span class="fc7">!=<span class="_ _9"> </span>4</span>,<span class="_ _11"> </span>std<span class="fc7">::</span>format(<span class="fc9">&quot;test1<span class="_ _9"> </span>with<span class="_ _9"> </span>sizeof(T)={}&quot;</span>,<span class="_ _11"> </span></span>sizeof<span class="ffc fc0">(T)));</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">28/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">using<span class="_ _1d"> </span><span class="ff1">Keyw<span class="_ _5"></span>ord<span class="_ _30"> </span>1/2</span></div><div class="t m0 xe he y132 ff6 fs8 fc1 sc0 ls0 ws0">using<span class="_ _e"> </span><span class="ff1">keyw<span class="_ _5"></span>o<span class="_ _5"></span>rd<span class="_ _8"> </span><span class="fs4">(C++11)</span></span></div><div class="t m0 xe he y133 ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span><span class="ff11 fc5">using<span class="_ _e"> </span></span>k<span class="_ _5"></span>eywo<span class="_ _5"></span>rd<span class="_ _b"> </span>intro<span class="_ _0"></span>duces<span class="_ _b"> </span>an<span class="_ _b"> </span><span class="ffa">alias-declaration<span class="_ _b"> </span></span>or<span class="_ _b"> </span><span class="ffa">alias-template</span></div><div class="t m0 xf h6 y134 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">using<span class="_ _29"> </span><span class="ff4">is<span class="_ _b"> </span>an<span class="_ _c"> </span>enhanced<span class="_ _b"> </span>version<span class="_ _b"> </span>of<span class="_ _29"> </span></span>typedef<span class="_ _29"> </span><span class="ff4">with<span class="_ _b"> </span>a<span class="_ _b"> </span>mo<span class="_ _5"></span>re<span class="_ _b"> </span>readable<span class="_ _c"> </span>syntax</span></span></div><div class="t m0 xf h6 y135 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">using<span class="_ _29"> </span><span class="ff4">can<span class="_ _b"> </span>b<span class="_ _d"></span>e<span class="_ _c"> </span>combined<span class="_ _b"> </span>with<span class="_ _b"> </span>templates,<span class="_ _c"> </span>as<span class="_ _b"> </span>opp<span class="_ _d"></span>osite<span class="_ _b"> </span>to<span class="_ _29"> </span></span>typedef</span></div><div class="t m0 xf h6 y136 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">using<span class="_ _29"> </span><span class="ff4">is<span class="_ _b"> </span>useful<span class="_ _c"> </span>to<span class="_ _b"> </span>simplify<span class="_ _b"> </span>complex<span class="_ _c"> </span>template<span class="_ _b"> </span>expression</span></span></div><div class="t m0 xf h6 y137 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11">using<span class="_ _29"> </span><span class="ff4">allows<span class="_ _c"> </span>intro<span class="_ _d"></span>ducing<span class="_ _b"> </span>new<span class="_ _c"> </span>names<span class="_ _b"> </span>for<span class="_ _c"> </span>pa<span class="_ _5"></span>rtial<span class="_ _b"> </span>and<span class="_ _b"> </span>full<span class="_ _c"> </span>sp<span class="_ _d"></span>ecializations</span></span></div><div class="t m0 xe hf y138 ff6 fs7 fc6 sc0 ls0 ws0">typedef<span class="_ _9"> </span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">distance_t;<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>equal<span class="_ _11"> </span>to:</span></span></span></div><div class="t m0 xe hf y139 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">distance_t<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span><span class="fc4">int<span class="ffc fc0">;</span></span></div><div class="t m0 xe hf y13a ff6 fs7 fc6 sc0 ls0 ws0">typedef<span class="_ _9"> </span><span class="fc4">void<span class="_ _9"> </span><span class="ffc fc0">(<span class="fc7">*</span>function)(</span>int<span class="ffc fc0">,<span class="_ _11"> </span></span>float<span class="ffc fc0">);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>equal<span class="_ _9"> </span>to:</span></span></span></div><div class="t m0 xe hf y13b ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">function<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span><span class="fc4">void<span class="_ _9"> </span><span class="ffc fc0">(<span class="fc7">*</span>)(</span>int<span class="ffc fc0">,<span class="_ _9"> </span></span>float<span class="ffc fc0">);</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">29/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">using<span class="_ _1d"> </span><span class="ff1">Keyw<span class="_ _5"></span>ord<span class="_ _30"> </span>2/2</span></div><div class="t m0 x1 he y72 ff4 fs8 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>ull/Pa<span class="_ _5"></span>rtial<span class="_ _b"> </span>sp<span class="_ _d"></span>ecialization<span class="_ _e"> </span>alias:</div><div class="t m0 xe hf y13c ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span><span class="fc4">int<span class="_ _11"> </span><span class="ffc fc0">Size<span class="fc7">&gt;</span></span></span></span></div><div class="t m0 xe hf y13d ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">Vector<span class="_ _9"> </span><span class="ffc fc0">{};<span class="_ _16"> </span><span class="ffd fc8">//<span class="_ _11"> </span>see<span class="_ _9"> </span>next<span class="_ _9"> </span>lecture<span class="_ _11"> </span>for<span class="_ _9"> </span>further<span class="_ _9"> </span>details</span></span></span></div><div class="t m0 xc hf y13e ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>on<span class="_ _9"> </span>class<span class="_ _11"> </span>template</div><div class="t m0 xe hf y13f ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">Size<span class="fc7">&gt;</span></span></span></div><div class="t m0 xe hf y140 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">Bitset<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>Vector<span class="fc7">&lt;</span></span><span class="fc4">bool<span class="ffc fc0">,<span class="_ _9"> </span>Size<span class="fc7">&gt;</span>;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>partial<span class="_ _9"> </span>specialization<span class="_ _9"> </span>alias</span></span></span></div><div class="t m0 xe hf y141 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">IntV4<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>Vector<span class="fc7">&lt;</span></span><span class="fc4">int<span class="ffc fc0">,<span class="_ _9"> </span><span class="fc7">4&gt;</span>;<span class="_ _20"> </span><span class="ffd fc8">//<span class="_ _9"> </span>full<span class="_ _11"> </span>specialization<span class="_ _9"> </span>alias</span></span></span></div><div class="t m0 x1 he y142 ff4 fs8 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>ccessing<span class="_ _e"> </span>a<span class="_ _b"> </span>type<span class="_ _e"> </span>within<span class="_ _e"> </span>a<span class="_ _b"> </span>structure:</div><div class="t m0 xe hf y143 ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">A<span class="_ _9"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x3 hf y144 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">type<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span><span class="fc4">int<span class="ffc fc0">;</span></span></div><div class="t m0 xe hf y145 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xe hf y146 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">Alias<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>A<span class="fc7">::</span>type;</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">30/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIhElEQVR42u3YoQ0CMRiG4Su5BtUwABLFBISgSViLPRgHwRBscIpUUVMcggSDarnnmeDuq3nzh83uMAAAQDPut+vCCgAAtEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwFkopVgAAoB0xRpdUAACaI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABmZJzV3+acPfk3KSUjAACNcEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAB9C6UUKwAA0I4Yo0sqAADNEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8GHs6Ftzzh4MAOA3KaWOvtYlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA+E9hOq+tAMCfmY4XI0C/tvtTCKtlfTyHodZqEAAAmvACh6Yc73jHiqgAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">decltype<span class="_ _1d"> </span><span class="ff1">Keyw<span class="_ _5"></span>ord<span class="_ _8"> </span>(value)<span class="_ _31"> </span>1/3</span></div><div class="t m0 x1 he y2e ff4 fs8 fc3 sc0 ls0 ws0">C++11<span class="_ _b"> </span><span class="ff11 fc5">decltype<span class="_ _e"> </span><span class="ff1 fc0">k<span class="_ _5"></span>eywo<span class="_ _5"></span>rd<span class="_ _e"> </span>captures<span class="_ _8"> </span>the<span class="_ _8"> </span>type<span class="_ _8"> </span>of<span class="_ _8"> </span><span class="ff12">entit<span class="_ _5"></span>y<span class="_ _6"> </span><span class="ff1">o<span class="_ _5"></span>r<span class="_ _e"> </span>an<span class="_ _8"> </span><span class="ff12">expression</span></span></span></span></span></div><div class="t m0 x1 h6 y147 ffb fs4 fc0 sc0 ls0 ws0"><span class="_ _29"> </span><span class="ff11">decltype<span class="_ _18"> </span><span class="ff4">never<span class="_ _c"> </span>executes,<span class="_ _b"> </span>it<span class="_ _c"> </span>is<span class="_ _b"> </span>alw<span class="_ _5"></span>ays<span class="_ _c"> </span>evaluated<span class="_ _b"> </span>at<span class="_ _c"> </span>compile-type</span></span></div><div class="t m0 xe hf y148 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span>3</span>;</span></div><div class="t m0 xe hf y149 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="ffc fc7">&amp;<span class="_ _20"> </span><span class="fc0">y<span class="_ _9"> </span></span>=<span class="_ _9"> </span><span class="fc0">x;</span></span></div><div class="t m0 xe hf y14a ff6 fs7 fc6 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">z<span class="_ _11"> </span><span class="fc7">=<span class="_ _9"> </span>4</span>;</span></span></div><div class="t m0 xe hf y14b ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">array[<span class="fc7">2</span>];</span></div><div class="t m0 xe hf y14c ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _20"> </span><span class="ffc fc5">f<span class="fc0">(</span></span>int<span class="ffc fc0">,<span class="_ _9"> </span></span>float<span class="ffc fc0">);</span></div><div class="t m0 xe hf y14d ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(x)<span class="_ _32"> </span>d1;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int</span></span></div><div class="t m0 xe hf y14e ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(<span class="fc7">2<span class="_ _9"> </span>+<span class="_ _9"> </span>3.0</span>)<span class="_ _22"> </span>d2;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>double</span></span></div><div class="t m0 xe hf y14f ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(y)<span class="_ _32"> </span>d3;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int<span class="ffe">&amp;</span></span></span></div><div class="t m0 xe hf y150 ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(z)<span class="_ _32"> </span>d4;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>const<span class="_ _11"> </span>int</span></span></div><div class="t m0 xe hf y151 ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(array)<span class="_ _20"> </span>d5;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int[2]</span></span></div><div class="t m0 xe hf y152 ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(f(<span class="fc7">1</span>,<span class="_ _9"> </span><span class="fc7">2.0f</span>))<span class="_ _9"> </span>d6;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>void</span></span></div><div class="t m0 xe hf y153 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">function<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span>decltype<span class="ffc fc0">(f);</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">31/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImElEQVR42u3bsWkDMRiG4VM4kerwDCGVJwgmdcAruPA8WSIbpMgMBhcZwhu4Oq6wrUYpAh7gXPiXeZ4JxKfmRaD0+vbeAQBAGIff/ZMVAACIRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAHCVSilWAAAgjpyzl1QAAMIRqQAAiFQAABCpAACIVAAAuFXf0FmnaXJhAADzDMPQ0Gm9pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAADBpVKKFQAAiCPn7CUVAIBwRCoAACIVAABEKgAAzelbOejpfF5vti4M2rL7+TYCADP43Q8AQCx+9wMAEJFIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACPrR8/X6wAAP+OH19GgLtbrtYpLZ7reOm6WqtBAAAI4Q+kPyMA1g1NgwAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">decltype<span class="_ _1d"> </span><span class="ff1">Keyw<span class="_ _5"></span>ord<span class="_ _8"> </span>((expression))</span></div><div class="t m0 x1c h11 yfd ff16 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x15 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">2/3</div><div class="t m0 xe hf y154 ff6 fs7 fc4 sc0 ls0 ws0">bool<span class="_ _9"> </span><span class="ffc fc5">f<span class="fc0">(</span></span>int<span class="ffc fc0">)<span class="_ _9"> </span>{<span class="_ _11"> </span></span><span class="fc6">return<span class="_ _9"> </span><span class="ffc">true<span class="fc0">;<span class="_ _9"> </span>}</span></span></span></div><div class="t m0 xe hf y155 ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">A<span class="_ _9"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x3 hf y156 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x;</span></div><div class="t m0 xe hf y157 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xe hf y158 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>3</span>;</span></div><div class="t m0 xe hf y159 ff6 fs7 fc6 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="ffc fc0">A<span class="_ _9"> </span>a{<span class="fc7">4</span>};</span></div><div class="t m0 xe hf y15a ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(x)<span class="_ _13"> </span>d1;<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int</span></span></div><div class="t m0 xe hf y15b ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">((x))<span class="_ _12"> </span>d2<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span>x;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int<span class="ffe">&amp;</span></span></span></div><div class="t m0 xe hf y15c ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(f)<span class="_ _13"> </span>d3;<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _9"> </span>bool<span class="_ _9"> </span>(int)</span></span></div><div class="t m0 xe hf y15d ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">((f))<span class="_ _12"> </span>d4<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span>f;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>bool<span class="_ _9"> </span>(<span class="ffe">&amp;</span>)(int)</span></span></div><div class="t m0 xe hf y15e ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(a.x)<span class="_ _12"> </span>d5;<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _9"> </span>int</span></span></div><div class="t m0 xe hf y15f ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">((a.x))<span class="_ _9"> </span>d6<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>x;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>const<span class="_ _11"> </span>int</span></span></div><div class="t m0 xf hf y160 ffc fs7 fcb sc0 ls0 ws0">www.ibm.com/support/knowledgecenter</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">32/48</div><a class="l" href="https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.cbclx01/decltype.htm"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.841000px;width:166.750000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0Vt0I6IVNSBHVGAhYiR3RhOUQ0AR7oDI2siTHBkZgQ3BrPxeBat/k0/TdvuXBQAAyjh+ftxZAQCAakQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAA/WmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIDfrRO9dYzhwwAArtN7n+i1LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAt6RlphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAoKp1oreOMXwYAMB1eu8TvdYlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAmELLTCsAAFBHRLikAgBQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAC4wHp6e7QCAPzR1+u7EeC/PD0fWnu4307nZdm2zSAAAJTwDRyCIADxAJvqAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">decltype<span class="_ _1d"> </span><span class="ff1">Keyw<span class="_ _5"></span>ord<span class="_ _8"> </span>+<span class="_ _1d"> </span>Function<span class="_ _8"> </span>templates<span class="_ _33"> </span>3/3</span></div><div class="t m0 x1 he y72 ff4 fs8 fc3 sc0 ls0 ws0">C++11</div><div class="t m0 xe hf y13c ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y13d ff6 fs7 fc6 sc0 ls0 ws0">decltype<span class="ffc fc0">(T{}<span class="_ _9"> </span><span class="fc7">+<span class="_ _9"> </span></span>R{})<span class="_ _11"> </span>add(T<span class="_ _9"> </span>x,<span class="_ _9"> </span>R<span class="_ _11"> </span>y)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y13e ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>y;</span></div><div class="t m0 xe hf y13f ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y161 ff6 fs7 fc4 sc0 ls0 ws0">unsigned<span class="_ _9"> </span><span class="ffc fc0">v1<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>add(<span class="fc7">1</span>,<span class="_ _9"> </span><span class="fc7">2u</span>);</span></div><div class="t m0 xe hf y141 ff6 fs7 fc4 sc0 ls0 ws0">double<span class="_ _12"> </span><span class="ffc fc0">v2<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span></span>add(<span class="fc7">1.5</span>,<span class="_ _11"> </span><span class="fc7">2u</span>);</span></div><div class="t m0 x1 he y162 ff4 fs8 fc3 sc0 ls0 ws0">C++14</div><div class="t m0 xe hf y163 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y164 ff6 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">add(T<span class="_ _9"> </span>x,<span class="_ _11"> </span>R<span class="_ _9"> </span>y)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y165 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>y;</span></div><div class="t m0 xe hf y166 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">33/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xd h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _f"></span>yp<span class="_ _0"></span>e<span class="_ _1"> </span>T<span class="_ _34"></span>raits</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:131.661000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _35"> </span>1/4</div><div class="t m0 xe he y167 ff1 fs8 fc1 sc0 ls0 ws0">Introsp<span class="_ _d"></span>ection</div><div class="t m0 xe he y168 ff1 fs8 fc0 sc0 ls0 ws0">Introsp<span class="_ _d"></span>ection<span class="_ _b"> </span><span class="ff4">is<span class="_ _e"> </span>the<span class="_ _e"> </span>abilit<span class="_ _5"></span>y<span class="_ _e"> </span>to<span class="_ _b"> </span>insp<span class="_ _d"></span>ect<span class="_ _e"> </span>a<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>and<span class="_ _b"> </span>query<span class="_ _e"> </span>its<span class="_ _b"> </span>properties</span></div><div class="t m0 xe he y169 ff1 fs8 fc1 sc0 ls0 ws0">Reflection</div><div class="t m0 xe he y16a ff1 fs8 fc0 sc0 ls0 ws0">Reflection<span class="_ _b"> </span><span class="ff4">is<span class="_ _e"> </span>the<span class="_ _b"> </span>ability<span class="_ _b"> </span>of<span class="_ _e"> </span>a<span class="_ _b"> </span>computer<span class="_ _e"> </span>p<span class="_ _5"></span>rogram<span class="_ _e"> </span>to<span class="_ _e"> </span>examine,<span class="_ _b"> </span>introsp<span class="_ _d"></span>ect,<span class="_ _e"> </span>and<span class="_ _b"> </span>mo<span class="_ _d"></span>dify</span></div><div class="t m0 xe he y16b ff4 fs8 fc0 sc0 ls0 ws0">its<span class="_ _b"> </span>own<span class="_ _b"> </span>structure<span class="_ _b"> </span>and<span class="_ _e"> </span>b<span class="_ _d"></span>ehavior</div><div class="t m0 x1 he y16c ff1 fs8 fc0 sc0 ls0 ws0">C++<span class="_ _e"> </span>provides<span class="_ _e"> </span>compile-time<span class="_ _8"> </span>reflection<span class="_ _8"> </span>and<span class="_ _8"> </span>introsp<span class="_ _d"></span>ection<span class="_ _8"> </span>capabilities<span class="_ _8"> </span>through</div><div class="t m0 x1 he y16d ff1 fs8 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>traits</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">34/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJA0lEQVR42u3bMWpVQRTH4TfhHlINrkGssgFDIhYWgggKrspNuIoUaVMkhWQDabIDqzCVB8Ozs9EIvkRy5ub7ylcN/2l+zOW1F4evNgAAUMb114s9KwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgl5aZVgAAoI6I8JIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAB7YMtFZD16/cWEAALu5Oj+b6LReUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAurXMnOWsYwwXBgCwm977LEeNCC+pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAbYsJ4OX7j0b4ry5PT4wAwD9pmTnLWccYLgwAYDe991mOGhE+9wMAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/E3LTCsAAFBHRHhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAsCLLRGcdY7gwAIDd9N4nOq2XVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAABwh5aZVgAAoI6I8JIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAAVmYxAQB3GWMYYX1670agPi+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAUMxiAgCerB+3t8cfPv3+++XpiXHgcbXMtAIAfzTGMML69N6NQHER4XM/AADliFQAAEQqAACIVAAARCoAANyXf/cDAFCLf/cDAFCRSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA67bcfH5uBQCYy7e3X4zAih0cvWvt2f725vtms91uDQIAQAk/AXSSQPZCTgveAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _35"> </span>2/4</div><div class="t m0 xe he y3a ff1 fs8 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>traits<span class="_ _e"> </span><span class="fs4">(C++11)</span></div><div class="t m0 xe he y3b ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>traits<span class="_ _b"> </span><span class="ff4">define<span class="_ _e"> </span>a<span class="_ _b"> </span>compile-time<span class="_ _e"> </span>interface<span class="_ _e"> </span>to<span class="_ _b"> </span><span class="ffa">query<span class="_ _11"> </span></span>o<span class="_ _5"></span>r<span class="_ _e"> </span><span class="ffa">mo<span class="_ _d"></span>dify<span class="_ _11"> </span></span>the<span class="_ _b"> </span>properties<span class="_ _e"> </span>of</span></div><div class="t m0 xe he y3c ff4 fs8 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _d"></span>es</div><div class="t m0 x1 he y4f ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span>problem:</div><div class="t m0 xe hf y16e ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y16f ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>integral_div(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y170 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">/<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y171 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y172 ffc fs7 fc0 sc0 ls0 ws0">integral_div(<span class="fc7">7</span>,<span class="_ _9"> </span><span class="fc7">2</span>);<span class="_ _13"> </span><span class="ffd fc8">//<span class="_ _9"> </span>returns<span class="_ _11"> </span>3<span class="_ _9"> </span>(int)</span></div><div class="t m0 xe hf y173 ffc fs7 fc0 sc0 ls0 ws0">integral_div(<span class="fc7">7l</span>,<span class="_ _9"> </span><span class="fc7">2l</span>);<span class="_ _12"> </span><span class="ffd fc8">//<span class="_ _9"> </span>returns<span class="_ _11"> </span>3<span class="_ _9"> </span>(long<span class="_ _9"> </span>int)</span></div><div class="t m0 xe hf y174 ffc fs7 fc0 sc0 ls0 ws0">integral_div(<span class="fc7">7.0</span>,<span class="_ _9"> </span><span class="fc7">3.0</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>!!!<span class="_ _9"> </span>a<span class="_ _9"> </span>floating-point<span class="_ _11"> </span>value<span class="_ _9"> </span>is<span class="_ _9"> </span>not<span class="_ _11"> </span>an<span class="_ _9"> </span>integral<span class="_ _9"> </span>type</span></div><div class="t m0 x1 he y175 ff4 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>wo<span class="_ _b"> </span>alternatives:<span class="_ _9"> </span>(1)<span class="_ _e"> </span>Sp<span class="_ _d"></span>ecialize<span class="_ _e"> </span>(2)<span class="_ _b"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>T<span class="_ _7"></span>raits<span class="_ _e"> </span>+<span class="_ _18"> </span><span class="ff11">static<span class="_ _8"> </span>assert</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">35/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQkCMRiG4UQuWAVnECsnELEW3MwlHMfCIdzA6rjKNLFzABv/455ngvClefnz7nBKAAAQxvNxX1kBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAF+5tWYFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAhRhm9NZpmnwYAMBvaq0zeq1LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCADBPubVmBQAA4iiluKQCABCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMC/DeN1awUAWIjX+WYE4tsfLzlv1n18p9R7NwgAACF8AMH4GgJae15iAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _35"> </span>3/4</div><div class="t m0 x1 he y2e ff4 fs8 fc0 sc0 ls0 ws0">If<span class="_ _b"> </span>we<span class="_ _b"> </span>want<span class="_ _b"> </span>to<span class="_ _b"> </span><span class="ff1">prevent<span class="_ _e"> </span>floating-p<span class="_ _d"></span>oint/other<span class="_ _8"> </span>objects<span class="_ _8"> </span>division<span class="_ _8"> </span>at<span class="_ _e"> </span>compile-time</span>,<span class="_ _e"> </span>a</div><div class="t m0 x1 he ya0 ff4 fs8 fc0 sc0 ls0 ws0">first<span class="_ _b"> </span>solution<span class="_ _e"> </span>consists<span class="_ _b"> </span>in<span class="_ _e"> </span>sp<span class="_ _d"></span>ecialize<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>all<span class="_ _b"> </span>integral<span class="_ _e"> </span>types</div><div class="t m0 xe hf ya1 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf ya2 ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>integral_div(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>declaration<span class="_ _9"> </span>(error<span class="_ _9"> </span>for<span class="_ _11"> </span>other<span class="_ _9"> </span>types)</span></div><div class="t m0 xe hf ya4 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;&gt;</span></div><div class="t m0 xe hf y176 ff6 fs7 fc4 sc0 ls0 ws0">char<span class="_ _9"> </span><span class="ffc fc0">integral_div<span class="fc7">&lt;</span></span>char<span class="ffc fc7">&gt;<span class="fc0">(</span></span>char<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _11"> </span></span>char<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _9"> </span>{<span class="_ _12"> </span><span class="ffd fc8">//<span class="_ _11"> </span>specialization</span></span></div><div class="t m0 x3 hf ya5 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">/<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf ya6 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf ya7 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;&gt;</span></div><div class="t m0 xe hf ya8 ff6 fs7 fc4 sc0 ls0 ws0">int<span class="_ _1f"> </span><span class="ffc fc0">integral_div<span class="fc7">&lt;</span></span>int<span class="ffc fc7">&gt;<span class="fc0">(</span></span>int<span class="_ _9"> </span><span class="ffc fc0">a,<span class="_ _9"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">b)<span class="_ _11"> </span>{<span class="_ _20"> </span><span class="ffd fc8">//<span class="_ _9"> </span>specialization</span></span></div><div class="t m0 x3 hf y177 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">/<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf ya9 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf yaa ffc fs7 fc0 sc0 ls0 ws0">...<span class="ff6 fc4">unsigned<span class="_ _9"> </span>char</span></div><div class="t m0 xe hf y178 ffc fs7 fc0 sc0 ls0 ws0">...<span class="ff6 fc4">short</span></div><div class="t m0 xe hf y179 ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 x1 he y17a ff1 fs8 fc0 sc0 ls0 ws0"><span class="fcc sc0">V</span><span class="_ _5"></span><span class="fcc sc0">ery</span><span class="_ _8"> </span><span class="fcc sc0">redundant!!</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">36/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2b" class="pf w0 h0" data-page-no="2b"><div class="pc pc2b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _35"> </span>4/4</div><div class="t m0 x1 he y2e ff4 fs8 fc0 sc0 ls0 ws0">The<span class="_ _b"> </span>b<span class="_ _d"></span>est<span class="_ _e"> </span>solution<span class="_ _e"> </span>is<span class="_ _b"> </span>to<span class="_ _e"> </span>use<span class="_ _b"> </span><span class="ff1">type<span class="_ _8"> </span>traits</span></div><div class="t m0 xe hf y17b ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;<span class="_ _36"> </span>//<span class="_ _9"> </span>&lt;--<span class="_ _9"> </span>std<span class="_ _11"> </span>type<span class="_ _9"> </span>traits<span class="_ _9"> </span>library</span></div><div class="t m0 xe hf y17c ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y17d ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>integral_div(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>T<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y17e ff6 fs7 fc6 sc0 ls0 ws0">static_assert<span class="ffc fc0">(std<span class="fc7">::</span>is_integral<span class="fc7">&lt;</span>T<span class="fc7">&gt;::</span>value,</span></div><div class="t m0 x1d hf y17f ffc fs7 fc9 sc0 ls0 ws0">&quot;integral_div<span class="_ _9"> </span>accepts<span class="_ _9"> </span>only<span class="_ _11"> </span>integral<span class="_ _9"> </span>types&quot;<span class="fc0">);</span></div><div class="t m0 x3 hf y180 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">/<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y181 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe h6 y182 ff6 fs4 fc0 sc0 ls0 ws0">std::is<span class="_ _e"> </span>integral&lt;T&gt;<span class="_ _29"> </span><span class="ff4">is<span class="_ _b"> </span>a<span class="_ _29"> </span><span class="ff11">struct<span class="_ _18"> </span></span>with<span class="_ _c"> </span>a<span class="_ _29"> </span><span class="ff11">static<span class="_ _6"> </span>constexpr<span class="_ _29"> </span></span>b<span class="_ _d"></span>o<span class="_ _d"></span>olean<span class="_ _b"> </span>field<span class="_ _29"> </span><span class="ff11">value</span></span></div><div class="t m0 xe h6 y183 ff11 fs4 fc0 sc0 ls0 ws0">value<span class="_ _29"> </span><span class="ff4">is<span class="_ _b"> </span></span>true<span class="_ _c"> </span><span class="ff4">if<span class="_ _8"> </span></span>T<span class="_ _b"> </span><span class="ff4">is<span class="_ _29"> </span></span>bool<span class="_ _c"> </span><span class="ff4">,<span class="_ _29"> </span></span>char<span class="_ _c"> </span><span class="ff4">,<span class="_ _18"> </span></span>short<span class="_ _37"> </span><span class="ff4">,<span class="_ _29"> </span></span>int<span class="_ _c"> </span><span class="ff4">,<span class="_ _29"> </span></span>long<span class="_ _c"> </span><span class="ff4">,<span class="_ _29"> </span></span>long<span class="_ _6"> </span>long<span class="_ _37"> </span><span class="ff4">,<span class="_ _b"> </span></span>false<span class="_ _b"> </span><span class="ff4">otherwise</span></div><div class="t m0 x1 h6 y184 ff4 fs4 fc3 sc0 ls0 ws0">C++17<span class="_ _c"> </span><span class="fc0">provides<span class="_ _c"> </span>utilities<span class="_ _b"> </span>to<span class="_ _b"> </span>imp<span class="_ _5"></span>rove<span class="_ _b"> </span>the<span class="_ _c"> </span>readability<span class="_ _c"> </span>of<span class="_ _b"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _b"> </span>traits</span></div><div class="t m0 xe hf y185 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>is_integral_v<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>std::is_integral&lt;T&gt;::value</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">37/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _8"> </span>Libra<span class="_ _5"></span>ry<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Query<span class="_ _1d"> </span>F<span class="_ _5"></span>undamental<span class="_ _1d"> </span>and<span class="_ _9"> </span>Scala<span class="_ _5"></span>r<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>es<span class="_ _38"> </span>1/3</div><div class="t m0 xf he y7d ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>integral<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>an<span class="_ _b"> </span>integral<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">bool<span class="_ _37"> </span></span>,<span class="_ _18"> </span><span class="ff11">char<span class="_ _c"> </span></span>,<span class="_ _18"> </span><span class="ff11">unsigned<span class="_ _15"> </span>char<span class="_ _37"> </span></span>,</span></div><div class="t m0 x11 he y186 ff11 fs8 fc0 sc0 ls0 ws0">short<span class="_ _37"> </span><span class="ff4">,<span class="_ _18"> </span></span>int<span class="_ _c"> </span><span class="ff4">,<span class="_ _18"> </span></span>long<span class="_ _37"> </span><span class="ff4">,<span class="_ _e"> </span>etc.)</span></div><div class="t m0 xf he y187 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>floating<span class="_ _8"> </span>point<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>floating-p<span class="_ _0"></span>oint<span class="_ _b"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _37"> </span><span class="ff11">float<span class="_ _c"> </span></span>,<span class="_ _18"> </span><span class="ff11">double<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y188 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>arithmetic<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>integral<span class="_ _e"> </span>o<span class="_ _5"></span>r<span class="_ _e"> </span>floating-p<span class="_ _d"></span>oint<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></div><div class="t m0 xf he y189 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>signed<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>signed<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">float<span class="_ _37"> </span></span>,<span class="_ _18"> </span><span class="ff11">int<span class="_ _c"> </span></span>,<span class="_ _b"> </span>etc.)</span></div><div class="t m0 xf he y18a ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>unsigned<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>an<span class="_ _b"> </span>unsigned<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">unsigned<span class="_ _37"> </span></span>,<span class="_ _18"> </span><span class="ff11">bool<span class="_ _c"> </span></span>,<span class="_ _b"> </span>etc.)</span></div><div class="t m0 xf he y18b ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>enum<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>an<span class="_ _b"> </span>enumerator<span class="_ _b"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">enum<span class="_ _37"> </span></span>,<span class="_ _18"> </span><span class="ff11">enum<span class="_ _15"> </span>class<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y18c ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>void<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>(<span class="_ _37"> </span><span class="ff11">void<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y18d ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>pointer<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>p<span class="_ _d"></span>ointer<span class="_ _e"> </span>(<span class="_ _37"> </span><span class="ff11">T*<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y18e ffb fs8 fc0 sc0 ls0 ws0"></div><div class="t m0 x11 he y18f ff11 fs8 fc5 sc0 ls0 ws0">is<span class="_ _8"> </span>null<span class="_ _8"> </span>pointer<span class="_ _18"> </span><span class="ff4 fc0">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>(<span class="_ _c"> </span><span class="ff11">nullptr<span class="_ _c"> </span></span>)<span class="_ _b"> </span><span class="fc3">C++14</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">38/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _8"> </span>Libra<span class="_ _5"></span>ry<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Query<span class="_ _1d"> </span>References,<span class="_ _1d"> </span>Functions,<span class="_ _8"> </span>Objects<span class="_ _39"> </span>2/3</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">Entit<span class="_ _5"></span>y<span class="_ _8"> </span>type<span class="_ _8"> </span>queries:</div><div class="t m0 xf he y190 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>reference<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>reference<span class="_ _e"> </span>(<span class="_ _37"> </span><span class="ff11">T&amp;<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y191 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>array<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>an<span class="_ _b"> </span>arra<span class="_ _5"></span>y<span class="_ _b"> </span>(<span class="_ _c"> </span><span class="ff11">T<span class="_ _15"> </span>(&amp;)[N]<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y192 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>function<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>function<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></div><div class="t m0 x1 he y193 ff1 fs8 fc0 sc0 ls0 ws0">Class<span class="_ _e"> </span>queries:</div><div class="t m0 xf he y194 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>class<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>class<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">struct<span class="_ _37"> </span></span>,<span class="_ _18"> </span><span class="ff11">class<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y195 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>abstract<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>class<span class="_ _e"> </span>with<span class="_ _b"> </span>at<span class="_ _e"> </span>least<span class="_ _e"> </span>one<span class="_ _b"> </span>pure<span class="_ _e"> </span>virtual<span class="_ _b"> </span>function</span></div><div class="t m0 xf he y196 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>polymorphic<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>fo<span class="_ _5"></span>r<span class="_ _e"> </span>a<span class="_ _b"> </span>class<span class="_ _e"> </span>with<span class="_ _b"> </span>at<span class="_ _e"> </span>least<span class="_ _e"> </span>one<span class="_ _b"> </span>virtual<span class="_ _e"> </span>function</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">39/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _8"> </span>Libra<span class="_ _5"></span>ry<span class="_ _1d"> </span>-<span class="_ _1d"> </span>Query<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span>Relation<span class="_ _3a"> </span>3/3</div><div class="t m0 x1 he y197 ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>p<span class="_ _5"></span>rop<span class="_ _d"></span>erty<span class="_ _e"> </span>queries:</div><div class="t m0 xf he y198 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>const<span class="_ _18"> </span></span><span class="ff4">checks<span class="_ _e"> </span>if<span class="_ _b"> </span>a<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>is<span class="_ _18"> </span><span class="ff11">const</span></span></div><div class="t m0 x1 he y199 ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>relation:</div><div class="t m0 xf he y19a ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>same<span class="fc0">&lt;T,<span class="_ _15"> </span>R&gt;<span class="_ _18"> </span><span class="ff4">checks<span class="_ _e"> </span>if<span class="_ _18"> </span></span>T<span class="_ _18"> </span><span class="ff4">and<span class="_ _18"> </span></span>R<span class="_ _18"> </span><span class="ff4">a<span class="_ _5"></span>re<span class="_ _b"> </span>the<span class="_ _e"> </span>same<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></span></span></div><div class="t m0 xf he y19b ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>base<span class="_ _8"> </span>of<span class="fc0">&lt;T,<span class="_ _15"> </span>R&gt;<span class="_ _18"> </span><span class="ff4">checks<span class="_ _e"> </span>if<span class="_ _18"> </span></span>T<span class="_ _18"> </span><span class="ff4">is<span class="_ _b"> </span>base<span class="_ _e"> </span>of<span class="_ _18"> </span></span>R</span></span></div><div class="t m0 xf he y19c ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">is<span class="_ _8"> </span>convertible<span class="fc0">&lt;T,<span class="_ _15"> </span>R&gt;<span class="_ _18"> </span><span class="ff4">checks<span class="_ _e"> </span>if<span class="_ _18"> </span></span>T<span class="_ _18"> </span><span class="ff4">can<span class="_ _b"> </span>b<span class="_ _d"></span>e<span class="_ _e"> </span>converted<span class="_ _b"> </span>to<span class="_ _18"> </span></span>R</span></span></div><div class="t m0 xf hc y19d ff8 fs7 fcb sc0 ls0 ws0">F<span class="_ _5"></span>ull<span class="_ _c"> </span>list:<span class="_ _8"> </span><span class="ffc">en.cppreference.com/w/cpp/header/type_traits</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">40/48</div><a class="l" href="en.cppreference.com/w/cpp/header/type_traits"><div class="d m1" style="border-style:none;position:absolute;left:69.893000px;bottom:3.297000px;width:209.116000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdElEQVR42u3YoQ0CMRiG4ZZcg7owA0ExASFoktuMJRgHwRBsgLpUUVMcEoH6LzzPBM1X8+bPu8MpAQBAGI/7bWUFAACiEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHzk1poVAACIo5TikgoAQDjDgt5aa/VhAAC/GcdxQa91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgi9xaswIAAHGUUlxSAQAIR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAODfDfNlawUAgOf5aoQg9scp5826z6+Ueu8GAQAghDcMcxoCGnXfrgAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Example<span class="_ _1d"> </span>-<span class="_ _1d"> </span><span class="ff6">const<span class="_ _1d"> </span></span>Deduction</div><div class="t m0 xe hf y19e ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y19f ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1a0 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f(T<span class="_ _9"> </span>x)<span class="_ _11"> </span>{<span class="_ _1f"> </span>cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>std<span class="fc7">::</span>is_const_v<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;<span class="_ _1f"> </span>}</span></div><div class="t m0 xe hf y1a1 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1a2 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g(T<span class="fc7">&amp;<span class="_ _9"> </span></span>x)<span class="_ _11"> </span>{<span class="_ _1f"> </span>cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>std<span class="fc7">::</span>is_const_v<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;<span class="_ _1f"> </span>}</span></div><div class="t m0 xe hf y1a3 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1a4 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">h(T<span class="fc7">&amp;<span class="_ _9"> </span></span>x)<span class="_ _11"> </span>{</span></div><div class="t m0 x1e hf y1a5 ffc fs7 fc0 sc0 ls0 ws0">cout<span class="_ _9"> </span><span class="fc7">&lt;&lt;<span class="_ _9"> </span></span>std<span class="fc7">::</span>is_const_v<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;</div><div class="t m0 x1e hf y1a6 ffc fs7 fc0 sc0 ls0 ws0">x<span class="_ _9"> </span><span class="fc7">=<span class="_ _9"> </span><span class="ff6 fc6">nullptr</span></span>;<span class="_ _11"> </span><span class="ffd fc8">//<span class="_ _9"> </span>ok,<span class="_ _9"> </span>it<span class="_ _11"> </span>compiles<span class="_ _9"> </span>for<span class="_ _9"> </span>T:<span class="_ _11"> </span>(const<span class="_ _9"> </span>int)*</span></div><div class="t m0 xe hf y1a7 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1a8 ff6 fs7 fc6 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc4">int<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _11"> </span><span class="fc7">=<span class="_ _9"> </span>3</span>;</span></span></div><div class="t m0 xe hf y1a9 ffc fs7 fc0 sc0 ls0 ws0">f(a);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span><span class="ffe">false</span>,<span class="_ _9"> </span>&quot;const&quot;<span class="_ _11"> </span>drop<span class="_ _9"> </span>in<span class="_ _9"> </span>pass<span class="_ _11"> </span>by-value</span></div><div class="t m0 xe hf y1aa ffc fs7 fc0 sc0 ls0 ws0">g(a);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span><span class="ffe">true</span></span></div><div class="t m0 xe hf y1ab ff6 fs7 fc6 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc4">int<span class="ffc fc7">*<span class="_ _9"> </span><span class="fc0">b<span class="_ _11"> </span></span>=<span class="_ _9"> </span></span></span>new<span class="_ _9"> </span><span class="fc4">int<span class="ffc fc0">;</span></span></div><div class="t m0 xe hf y1ac ffc fs7 fc0 sc0 ls0 ws0">h(b);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>print<span class="_ _9"> </span><span class="ffe">false</span>!!<span class="_ _9"> </span>T:<span class="_ _11"> </span>(const<span class="_ _9"> </span>int)*</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">41/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf30" class="pf w0 h0" data-page-no="30"><div class="pc pc30 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">Example<span class="_ _1d"> </span>-<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span>Relation</div><div class="t m0 xe hf y1ad ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y1ae ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1af ffc fs7 fc0 sc0 ls0 ws0">T<span class="_ _9"> </span>add(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>R<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y1b0 ff6 fs7 fc6 sc0 ls0 ws0">static_assert<span class="ffc fc0">(std<span class="fc7">::</span>is_same_v<span class="fc7">&lt;</span>T,<span class="_ _9"> </span>R<span class="fc7">&gt;</span>,<span class="_ _9"> </span><span class="fc9">&quot;T<span class="_ _11"> </span>and<span class="_ _9"> </span>R<span class="_ _9"> </span>must<span class="_ _11"> </span>have<span class="_ _9"> </span>the<span class="_ _9"> </span>same<span class="_ _11"> </span>type&quot;</span>);</span></div><div class="t m0 x3 hf y1b1 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y1b2 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1b3 ffc fs7 fc0 sc0 ls0 ws0">add(<span class="fc7">1</span>,<span class="_ _9"> </span><span class="fc7">2</span>);<span class="_ _20"> </span><span class="ffd fc8">//<span class="_ _9"> </span>ok</span></div><div class="t m0 xe hd y1b4 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>add(1,<span class="_ _9"> </span>2.0);<span class="_ _11"> </span>//<span class="_ _9"> </span><span class="ff9">compile<span class="_ _c"> </span>error</span>,<span class="_ _1d"> </span>&quot;T<span class="_ _11"> </span>and<span class="_ _9"> </span>R<span class="_ _9"> </span>must<span class="_ _11"> </span>have<span class="_ _9"> </span>the<span class="_ _9"> </span>same<span class="_ _11"> </span>type&quot;</div><div class="t m0 xe hf y1b5 ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y1b6 ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">A<span class="_ _9"> </span><span class="ffc fc0">{};</span></span></div><div class="t m0 xe hf y1b7 ff6 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc5">B<span class="_ _9"> </span><span class="ffc fc7">:<span class="_ _11"> </span><span class="fc0">A<span class="_ _9"> </span>{};</span></span></span></div><div class="t m0 xe hf y1b8 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>is_base_of_v<span class="fc7">&lt;</span>A,<span class="_ _9"> </span>B<span class="fc7">&gt;</span>;<span class="_ _3b"> </span><span class="ffd fc8">//<span class="_ _9"> </span>true</span></div><div class="t m0 xe hf y1b9 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>is_convertible_v<span class="fc7">&lt;<span class="ff6 fc4">int</span></span>,<span class="_ _9"> </span><span class="ff6 fc4">float</span><span class="fc7">&gt;</span>;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>true</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">42/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>Manipulation</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _8"> </span>traits<span class="_ _e"> </span>allow<span class="_ _e"> </span>also<span class="_ _8"> </span>to<span class="_ _8"> </span>manipulate<span class="_ _8"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>es<span class="_ _8"> </span>by<span class="_ _e"> </span>using<span class="_ _8"> </span>the<span class="_ _1a"> </span><span class="ff6">type<span class="_ _1a"> </span></span>field</div><div class="t m0 x1 he y1ba ff4 fs8 fc0 sc0 ls0 ws0">Example:<span class="_ _9"> </span>produce<span class="_ _18"> </span><span class="ff11">unsigned<span class="_ _18"> </span></span>from<span class="_ _18"> </span><span class="ff11">int</span></div><div class="t m0 xe hf y1bb ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y1bc ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">U<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span>typename<span class="_ _9"> </span><span class="fc0">std::make<span class="_ _b"> </span>unsigned<span class="ffc fc7">&lt;</span><span class="fc4">int<span class="ffc fc7">&gt;::<span class="fc0">type;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>see<span class="_ _11"> </span>next<span class="_ _9"> </span>lecture<span class="_ _9"> </span>to<span class="_ _11"> </span>understand</span></span></span></span></span></div><div class="t m0 x1f hf y1bd ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>why<span class="_ _9"> </span><span class="ff15">&apos;</span>typename<span class="ff15">&apos;<span class="_ _11"> </span></span>is<span class="_ _9"> </span>needed<span class="_ _9"> </span>here</div><div class="t m0 xe hf y1be ffc fs7 fc0 sc0 ls0 ws0">U<span class="_ _9"> </span>y<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>5</span>;<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>unsigned</span></div><div class="t m0 x1 he y1bf ff4 fs8 fc3 sc0 ls0 ws0">C++14<span class="_ _b"> </span><span class="fc0">provides<span class="_ _b"> </span>utilities<span class="_ _b"> </span>to<span class="_ _e"> </span>improve<span class="_ _b"> </span>the<span class="_ _b"> </span>readability<span class="_ _b"> </span>of<span class="_ _b"> </span>type<span class="_ _e"> </span>traits</span></div><div class="t m0 xe hf y1c0 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>make_unsigned_t<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>instead<span class="_ _9"> </span>of<span class="_ _9"> </span><span class="ff15">&apos;</span>typename<span class="_ _11"> </span>std::make_unsigned&lt;T&gt;::type<span class="ff15">&apos;</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">43/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _8"> </span>Libra<span class="_ _5"></span>ry<span class="_ _1d"> </span>-<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span>Manipulation<span class="_ _3c"> </span>1/2</div><div class="t m0 x1 he y2e ff1 fs8 fc0 sc0 ls0 ws0">Signed<span class="_ _e"> </span>and<span class="_ _8"> </span>Unsigned<span class="_ _8"> </span>types:</div><div class="t m0 xf he y1c1 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">make<span class="_ _8"> </span>signed<span class="_ _18"> </span></span><span class="ff4">makes<span class="_ _b"> </span>a<span class="_ _b"> </span>signed<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></div><div class="t m0 xf he y1c2 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">make<span class="_ _8"> </span>unsigned<span class="_ _18"> </span></span><span class="ff4">makes<span class="_ _b"> </span>an<span class="_ _b"> </span>unsigned<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e</span></div><div class="t m0 x1 he y1c3 ff1 fs8 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ointers<span class="_ _8"> </span>and<span class="_ _8"> </span>References:</div><div class="t m0 xf he y1c4 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">remove<span class="_ _8"> </span>pointer<span class="_ _18"> </span></span><span class="ff4">remove<span class="_ _e"> </span>pointer<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">T*<span class="_ _18"> </span><span class="fff"><span class="_ _18"> </span></span>T<span class="_ _37"> </span></span>)</span></div><div class="t m0 xf he y1c5 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">remove<span class="_ _8"> </span>reference<span class="_ _18"> </span></span><span class="ff4">remove<span class="_ _e"> </span>reference<span class="_ _b"> </span>(<span class="_ _c"> </span><span class="ff11">T&amp;<span class="_ _18"> </span><span class="fff"><span class="_ _18"> </span></span>T<span class="_ _37"> </span></span>)</span></div><div class="t m0 xf he y1c6 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">add<span class="_ _8"> </span>pointer<span class="_ _18"> </span></span><span class="ff4">add<span class="_ _e"> </span>pointer<span class="_ _e"> </span>(<span class="_ _c"> </span><span class="ff11">T<span class="_ _18"> </span><span class="fff"><span class="_ _18"> </span></span>T*<span class="_ _37"> </span></span>)</span></div><div class="t m0 xf he y1c7 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">add<span class="_ _8"> </span>lvalue<span class="_ _8"> </span>reference<span class="_ _18"> </span></span><span class="ff4">add<span class="_ _e"> </span>reference<span class="_ _b"> </span>(<span class="_ _c"> </span><span class="ff11">T<span class="_ _18"> </span><span class="fff"><span class="_ _18"> </span></span>T&amp;<span class="_ _c"> </span></span>)</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">44/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>T<span class="_ _7"></span>raits<span class="_ _8"> </span>Libra<span class="_ _5"></span>ry<span class="_ _1d"> </span>-<span class="_ _1d"> </span>T<span class="_ _7"></span>yp<span class="_ _d"></span>e<span class="_ _1d"> </span>T<span class="_ _7"></span>ransfo<span class="_ _5"></span>rmation<span class="_ _3d"> </span>2/2</div><div class="t m0 xe he y1c8 ff6 fs8 fc0 sc0 ls0 ws0">const<span class="_ _18"> </span><span class="ff1">sp<span class="_ _d"></span>ecifiers:</span></div><div class="t m0 xf he y1c9 ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">remove<span class="_ _8"> </span>const<span class="_ _18"> </span></span><span class="ff4">remove<span class="_ _18"> </span><span class="ff11">const<span class="_ _18"> </span></span>(<span class="_ _37"> </span><span class="ff11">const<span class="_ _15"> </span>T<span class="_ _18"> </span><span class="fff"><span class="_ _18"> </span></span>T<span class="_ _c"> </span></span>)</span></div><div class="t m0 xf he y1ca ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">add<span class="_ _8"> </span>const<span class="_ _18"> </span></span><span class="ff4">add<span class="_ _18"> </span><span class="ff11">const</span></span></div><div class="t m0 x1 he y1cb ff1 fs8 fc0 sc0 ls0 ws0">Other<span class="_ _e"> </span>type<span class="_ _8"> </span>transformation:</div><div class="t m0 xf he y1cc ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">common<span class="_ _8"> </span>type<span class="fc0">&lt;T,<span class="_ _15"> </span>R&gt;<span class="_ _18"> </span><span class="ff4">returns<span class="_ _e"> </span>the<span class="_ _b"> </span>common<span class="_ _e"> </span>t<span class="_ _5"></span>yp<span class="_ _d"></span>e<span class="_ _e"> </span>b<span class="_ _d"></span>etw<span class="_ _5"></span>een<span class="_ _18"> </span><span class="ff11">T<span class="_ _18"> </span></span>and<span class="_ _18"> </span><span class="ff11">R</span></span></span></span></div><div class="t m0 xf he y1cd ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">conditional<span class="fc0">&lt;pred,<span class="_ _15"> </span>T,<span class="_ _15"> </span>R&gt;<span class="_ _18"> </span><span class="ff4">returns<span class="_ _18"> </span></span>T<span class="_ _18"> </span><span class="ff4">if<span class="_ _18"> </span></span>pred<span class="_ _18"> </span><span class="ff4">is<span class="_ _18"> </span></span>true<span class="_ _37"> </span><span class="ff4">,<span class="_ _18"> </span></span>R<span class="_ _18"> </span><span class="ff4">otherwise</span></span></span></div><div class="t m0 xf he y1ce ffb fs8 fc0 sc0 ls0 ws0"><span class="_ _25"> </span><span class="ff11 fc5">decay<span class="fc0">&lt;T&gt;<span class="_ _18"> </span><span class="ff4">returns<span class="_ _b"> </span>the<span class="_ _e"> </span>same<span class="_ _b"> </span>type<span class="_ _e"> </span>as<span class="_ _e"> </span>a<span class="_ _b"> </span>function<span class="_ _e"> </span>pa<span class="_ _5"></span>rameter<span class="_ _e"> </span>passed<span class="_ _b"> </span>by-value</span></span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">45/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ype<span class="_ _9"> </span>Manipulation<span class="_ _1d"> </span>Example</div><div class="t m0 xe hf y19e ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y19f ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1a0 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">f(T<span class="_ _9"> </span>ptr)<span class="_ _11"> </span>{</span></div><div class="t m0 x3 hf y1cf ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">R<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>std<span class="fc7">::</span>remove_pointer_t<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;</span></div><div class="t m0 x3 hf y1a1 ffc fs7 fc0 sc0 ls0 ws0">R<span class="_ _9"> </span>x<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>ptr[<span class="fc7">0</span>];<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>char</span></div><div class="t m0 xe hf y1a2 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1a3 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1a4 ff6 fs7 fc4 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc0">g(T<span class="_ _9"> </span>x)<span class="_ _11"> </span>{</span></div><div class="t m0 x3 hf y1a5 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">R<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>std<span class="fc7">::</span>add_const_t<span class="fc7">&lt;</span>T<span class="fc7">&gt;</span>;</span></div><div class="t m0 x3 hf y1a6 ffc fs7 fc0 sc0 ls0 ws0">R<span class="_ _9"> </span>y<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span>3</span>;</div><div class="t m0 xe hd y1a7 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _1f"> </span>y<span class="_ _12"> </span>=<span class="_ _9"> </span>4;<span class="_ _22"> </span>//<span class="_ _9"> </span><span class="ff9">compile<span class="_ _c"> </span>error</span></div><div class="t m0 xe hf y1a8 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1aa ff6 fs7 fc4 sc0 ls0 ws0">char<span class="_ _9"> </span><span class="ffc fc0">a[]<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span><span class="fc9">&quot;abc&quot;</span></span>;</span></div><div class="t m0 xe hf y1ab ffc fs7 fc0 sc0 ls0 ws0">f(a);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>T:<span class="_ _9"> </span>char*</span></div><div class="t m0 xe hf y1ac ffc fs7 fc0 sc0 ls0 ws0">g(<span class="fc7">3</span>);<span class="_ _1f"> </span><span class="ffd fc8">//<span class="_ _9"> </span>T:<span class="_ _9"> </span>int</span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">46/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIl0lEQVR42u3ZMYrCQACG0YxmsAqeYbHKCUTEwkLwZnuJvcrCFhYewNIbWIVUDmj2AFsZBWeW98pAYPjTfEzCYrmuAAAgG+fjYWIFAAByI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQCAotQm+N+m08np5/vv83azNQ4AIFJ5j9vtrkcBgOL43Q8AgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAACeE1JKVgAAIB8xRjepAABkR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAYry7orH3f+2AAAOM0TVPQad2kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIDChJSSFQAAyEeM0U0qAADZEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAB5Xd58fVgAA4OUuu69xL7arfQjz2dBdq2oYBksCAJCFX/NaIKV/1EzvAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">std::common<span class="_ _1d"> </span>type<span class="_ _1d"> </span><span class="ff1">Example</span></div><div class="t m0 xe hf y1d0 ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y1d1 ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1d2 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>common_type_t<span class="fc7">&lt;</span>R,<span class="_ _9"> </span>T<span class="fc7">&gt;<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>&lt;--<span class="_ _9"> </span>return<span class="_ _9"> </span>type</span></span></div><div class="t m0 xe hf y1d3 ffc fs7 fc0 sc0 ls0 ws0">add(T<span class="_ _9"> </span>a,<span class="_ _9"> </span>R<span class="_ _11"> </span>b)<span class="_ _9"> </span>{</div><div class="t m0 x3 hf y1d4 ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">a<span class="_ _9"> </span><span class="fc7">+<span class="_ _11"> </span></span>b;</span></div><div class="t m0 xe hf y1d5 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1d6 ffd fs7 fc8 sc0 ls0 ws0">//<span class="_ _9"> </span>we<span class="_ _9"> </span>can<span class="_ _11"> </span>also<span class="_ _9"> </span>use<span class="_ _9"> </span><span class="ffe">decltype<span class="_ _11"> </span></span>to<span class="_ _9"> </span>derive<span class="_ _9"> </span>the<span class="_ _11"> </span>result<span class="_ _9"> </span>type</div><div class="t m0 xe hf y1d7 ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">result_t<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span></span>decltype<span class="ffc fc0">(add(<span class="fc7">3</span>,<span class="_ _9"> </span><span class="fc7">4.0f</span>));</span></div><div class="t m0 xe hf y1d8 ffc fs7 fc0 sc0 ls0 ws0">result_t<span class="_ _9"> </span>x<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>add(<span class="fc7">3</span>,<span class="_ _9"> </span><span class="fc7">4.0f</span>);</div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">47/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf36" class="pf w0 h0" data-page-no="36"><div class="pc pc36 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y8 ff6 fs3 fc1 sc0 ls0 ws0">std::conditional<span class="_ _1d"> </span><span class="ff1">Example</span></div><div class="t m0 xe hf y1d9 ffd fs7 fca sc0 ls0 ws0">#<span class="_ _2a"> </span>include<span class="_ _18"> </span><span class="fc8">&lt;type_traits&gt;</span></div><div class="t m0 xe hf y1da ff6 fs7 fc6 sc0 ls0 ws0">template<span class="ffc fc7">&lt;</span>typename<span class="_ _9"> </span><span class="fc5">T<span class="ffc fc0">,<span class="_ _9"> </span></span></span>typename<span class="_ _11"> </span><span class="fc5">R<span class="ffc fc7">&gt;</span></span></div><div class="t m0 xe hf y1db ff6 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">f(T<span class="_ _9"> </span>a,<span class="_ _11"> </span>R<span class="_ _9"> </span>b)<span class="_ _9"> </span>{</span></div><div class="t m0 x3 hf y1dc ff6 fs7 fc6 sc0 ls0 ws0">constexpr<span class="_ _9"> </span><span class="fc4">bool<span class="_ _9"> </span><span class="ffc fc0">pred<span class="_ _11"> </span><span class="fc7">=<span class="_ _9"> </span></span></span></span>sizeof<span class="ffc fc0">(T)<span class="_ _9"> </span><span class="fc7">&gt;<span class="_ _11"> </span></span></span>sizeof<span class="ffc fc0">(R);</span></div><div class="t m0 x3 hf y1dd ff6 fs7 fc6 sc0 ls0 ws0">using<span class="_ _9"> </span><span class="ffc fc0">S<span class="_ _9"> </span><span class="fc7">=<span class="_ _11"> </span></span>std<span class="fc7">::</span>conditional_t<span class="fc7">&lt;</span>pred,<span class="_ _9"> </span>T,<span class="_ _9"> </span>R<span class="fc7">&gt;</span>;</span></div><div class="t m0 x3 hf y1de ff6 fs7 fc6 sc0 ls0 ws0">return<span class="_ _9"> </span>static_cast<span class="ffc fc7">&lt;<span class="fc0">S</span>&gt;<span class="fc0">(a)<span class="_ _9"> </span></span>+<span class="_ _11"> </span></span>static_cast<span class="ffc fc7">&lt;<span class="fc0">S</span>&gt;<span class="fc0">(b);</span></span></div><div class="t m0 xe hf y1df ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hf y1e0 ffc fs7 fc0 sc0 ls0 ws0">f(<span class="_ _12"> </span><span class="fc7">2</span>,<span class="_ _1f"> </span><span class="ff13 fc9">&apos;<span class="ffc">a</span>&apos;</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _9"> </span>return<span class="_ _9"> </span><span class="ff15">&apos;</span>int<span class="ff15">&apos;</span></span></div><div class="t m0 xe hf y1e1 ffc fs7 fc0 sc0 ls0 ws0">f(<span class="_ _12"> </span><span class="fc7">2</span>,<span class="_ _9"> </span><span class="fc7">2ull</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>return<span class="_ _9"> </span><span class="ff15">&apos;</span>unsigned<span class="_ _9"> </span>long<span class="_ _11"> </span>long<span class="ff15">&apos;</span></span></div><div class="t m0 xe hf y1e2 ffc fs7 fc0 sc0 ls0 ws0">f(<span class="fc7">2.0f</span>,<span class="_ _9"> </span><span class="fc7">2ull</span>);<span class="_ _9"> </span><span class="ffd fc8">//<span class="_ _11"> </span>return<span class="_ _9"> </span><span class="ff15">&apos;</span>unsigned<span class="_ _9"> </span>long<span class="_ _11"> </span>long<span class="ff15">&apos;</span></span></div><div class="t m0 x10 h9 y10 ff5 fs5 fc0 sc0 ls0 ws0">48/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="data:image/png;base64,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"/>
</div>
</body>
</html>