diff --git a/SC-report-web/html/js/designer.bundle.js b/SC-report-web/html/js/designer.bundle.js index c9b4cbcd..863087ab 100644 --- a/SC-report-web/html/js/designer.bundle.js +++ b/SC-report-web/html/js/designer.bundle.js @@ -184,7 +184,7 @@ eval("module.exports = \"data:application/vnd.ms-fontobject;base64,kEwAANxLAAABA /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8IS0tDQoyMDEzLTktMzA6IENyZWF0ZWQuDQotLT4NCjxzdmc+DQo8bWV0YWRhdGE+DQpDcmVhdGVkIGJ5IGljb25mb250DQo8L21ldGFkYXRhPg0KPGRlZnM+DQoNCjxmb250IGlkPSJyZXBvcnQtaWNvbiIgaG9yaXotYWR2LXg9IjEwMjQiID4NCiAgPGZvbnQtZmFjZQ0KICAgIGZvbnQtZmFtaWx5PSJyZXBvcnQtaWNvbiINCiAgICBmb250LXdlaWdodD0iNTAwIg0KICAgIGZvbnQtc3RyZXRjaD0ibm9ybWFsIg0KICAgIHVuaXRzLXBlci1lbT0iMTAyNCINCiAgICBhc2NlbnQ9Ijg5NiINCiAgICBkZXNjZW50PSItMTI4Ig0KICAvPg0KICAgIDxtaXNzaW5nLWdseXBoIC8+DQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduLXRvcCIgdW5pY29kZT0iJiM1OTQxMTsiIGQ9Ik0yMTAuODIzNTI5IDY4OC4xODgyMzVoNjAyLjM1Mjk0MnYtNzIuMjgyMzUzSDIxMC44MjM1Mjl6TTUxMiA1NzMuNzQxMTc2bC0xMzcuMDM1Mjk0LTE2Mi42MzUyOTRoMTAwLjg5NDExOHYtMzMxLjI5NDExN2g3Mi4yODIzNTJ2MzMxLjI5NDExN2gxMDAuODk0MTE4eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduLWxlZnQiIHVuaWNvZGU9IiYjNTk0MTI7IiBkPSJNMjEwLjgyMzUyOSA2ODIuMTY0NzA2aDYwMi4zNTI5NDJWNjA5Ljg4MjM1M0gyMTAuODIzNTI5ek0yMTAuODIzNTI5IDQ5NS40MzUyOTRoNDIxLjY0NzA1OXYtNzAuNzc2NDdIMjEwLjgyMzUyOXpNMjEwLjgyMzUyOSAzMjkuNzg4MjM1aDYwMi4zNTI5NDJ2LTcyLjI4MjM1M0gyMTAuODIzNTI5ek0yMTAuODIzNTI5IDE1OC4xMTc2NDdoNDIxLjY0NzA1OXYtNzIuMjgyMzUzSDIxMC44MjM1Mjl6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmFja2dyb3VuZC1jb2xvciIgdW5pY29kZT0iJiM1OTQxMzsiIGQ9Ik03MDEuNzQxMTc2IDM5Ny41NTI5NDFMMzIwLjc1Mjk0MSA2ODAuNjU4ODI0Yy0xMC41NDExNzYgNy41Mjk0MTItMjcuMTA1ODgyIDYuMDIzNTI5LTM0LjYzNTI5NC02LjAyMzUzLTcuNTI5NDEyLTEwLjU0MTE3Ni02LjAyMzUyOS0yNy4xMDU4ODIgNi4wMjM1MjktMzQuNjM1Mjk0bDk0Ljg3MDU4OS03MC43NzY0NzEtMTY4LjY1ODgyNC0yMzcuOTI5NDExYy0xMy41NTI5NDEtMTkuNTc2NDcxLTkuMDM1Mjk0LTQ4LjE4ODIzNSAxMC41NDExNzctNjEuNzQxMTc3bDIzNC45MTc2NDctMTc0LjY4MjM1M2MxOS41NzY0NzEtMTUuMDU4ODI0IDQ2LjY4MjM1My0xMC41NDExNzYgNjAuMjM1Mjk0IDkuMDM1Mjk0TDY5Mi43MDU4ODIgMzQzLjM0MTE3NmwxLjUwNTg4MyAxLjUwNTg4MyAxMi4wNDcwNTkgMTUuMDU4ODIzIDEuNTA1ODgyIDEuNTA1ODgzYzcuNTI5NDEyIDEyLjA0NzA1OSA0LjUxNzY0NyAyNy4xMDU4ODItNi4wMjM1MyAzNi4xNDExNzZ6IG0tNDQxLjIyMzUyOS05MC4zNTI5NDFsMTY0LjE0MTE3NyAyMzMuNDExNzY1IDIyOC44OTQxMTctMTcwLjE2NDcwNi0zOTMuMDM1Mjk0LTYzLjI0NzA1OXogbTU0Mi4xMTc2NDctMTA4LjQyMzUyOUw3NDAuODk0MTE4IDMyMy43NjQ3MDYgNjc3LjY0NzA1OSAxOTcuMjcwNTg4Yy02LjAyMzUyOS0xMC41NDExNzYtMTAuNTQxMTc2LTI0LjA5NDExOC0xMC41NDExNzctMzcuNjQ3MDU5IDAtNDIuMTY0NzA2IDMzLjEyOTQxMi03NS4yOTQxMTggNzIuMjgyMzUzLTc1LjI5NDExNyA0MC42NTg4MjQgMCA3Mi4yODIzNTMgMzQuNjM1Mjk0IDcyLjI4MjM1MyA3NS4yOTQxMTcgMS41MDU4ODIgMTMuNTUyOTQxLTMuMDExNzY1IDI3LjEwNTg4Mi05LjAzNTI5NCAzOS4xNTI5NDJ6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbGlnbi1taWRkbGUiIHVuaWNvZGU9IiYjNTk0MTQ7IiBkPSJNMjEwLjgyMzUyOSA0MjkuMTc2NDcxaDYwMi4zNTI5NDJ2LTcyLjI4MjM1M0gyMTAuODIzNTI5ek01MTIgNDU0Ljc3NjQ3MWwxMzcuMDM1Mjk0IDE2Mi42MzUyOTRoLTEwMC44OTQxMTh2NjkuMjcwNTg4aC03Mi4yODIzNTJ2LTY5LjI3MDU4OGgtMTAwLjg5NDExOHpNNTEyIDMxNC43Mjk0MTJsLTEzNy4wMzUyOTQtMTYyLjYzNTI5NGgxMDAuODk0MTE4di03MC43NzY0NzFoNzIuMjgyMzUydjcwLjc3NjQ3MWgxMDAuODk0MTE4eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduLWNlbnRlciIgdW5pY29kZT0iJiM1OTQxNTsiIGQ9Ik0yMTAuODIzNTI5IDY4Mi4xNjQ3MDZoNjAyLjM1Mjk0MlY2MDkuODgyMzUzSDIxMC44MjM1Mjl6TTI4Ni4xMTc2NDcgNDk1LjQzNTI5NGg0MjEuNjQ3MDU5di03MC43NzY0N0gyODYuMTE3NjQ3ek0yMTAuODIzNTI5IDMyOS43ODgyMzVoNjAyLjM1Mjk0MnYtNzIuMjgyMzUzSDIxMC44MjM1Mjl6TTI4Ni4xMTc2NDcgMTU4LjExNzY0N2g0MjEuNjQ3MDU5di03Mi4yODIzNTNIMjg2LjExNzY0N3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbGlnbi1yaWdodCIgdW5pY29kZT0iJiM1OTQxNjsiIGQ9Ik04MTMuMTc2NDcxIDYwOS43MTY3MDZIMjEwLjgyMzUyOXY3Mi4yODIzNTNoNjAyLjM1Mjk0MnpNODEzLjE3NjQ3MSA0MjMuMDkyNzA2SDM5MS41Mjk0MTJ2NzAuNzc2NDdoNDIxLjY0NzA1OXpNODEzLjE3NjQ3MSAyNTYuNzUyOTQxSDIxMC44MjM1Mjl2NzIuMjgyMzUzaDYwMi4zNTI5NDJ6TTgxMy4xNzY0NzEgODUuMTg3NzY1SDM5MS41Mjk0MTJ2NzIuMjgyMzUzaDQyMS42NDcwNTl6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLWFsbCIgdW5pY29kZT0iJiM1OTQxNzsiIGQ9Ik01NDIuMTE3NjQ3IDY4NS4xNzY0NzFIMjEwLjgyMzUyOXYtNjAyLjM1Mjk0Mmg2MDIuMzUyOTQyVjY4NS4xNzY0NzFINTQyLjExNzY0N3ogbS0yNzEuMDU4ODIzLTYwLjIzNTI5NWgyMTAuODIzNTI5di0yMTAuODIzNTI5SDI3MS4wNTg4MjRWNjI0Ljk0MTE3NnogbTAtNDgxLjg4MjM1MlYzNTMuODgyMzUzaDIxMC44MjM1Mjl2LTIxMC44MjM1MjlIMjcxLjA1ODgyNHogbTQ4MS44ODIzNTIgMEg1NDIuMTE3NjQ3VjM1My44ODIzNTNoMjEwLjgyMzUyOXYtMjEwLjgyMzUyOXpNNTQyLjExNzY0NyA0MTQuMTE3NjQ3VjYyNC45NDExNzZoMjEwLjgyMzUyOXYtMjEwLjgyMzUyOUg1NDIuMTE3NjQ3eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImFyZWExIiB1bmljb2RlPSImIzU5NDE4OyIgZD0iTTc2Ni40OTQxMTggNTczLjc0MTE3NmMtNjEuNzQxMTc2LTMuMDExNzY1LTg3LjM0MTE3Ni0xMTQuNDQ3MDU5LTEwOS45Mjk0MTItMTY1LjY0NzA1OC0xOS41NzY0NzEtMzkuMTUyOTQxLTQzLjY3MDU4OC03Mi4yODIzNTMtOTMuMzY0NzA2LTY2LjI1ODgyNC02NC43NTI5NDEgMS41MDU4ODItOTAuMzUyOTQxIDE0Ni4wNzA1ODgtMTU2LjYxMTc2NSA5Ny44ODIzNTMtNDUuMTc2NDcxLTMzLjEyOTQxMi02Ny43NjQ3MDYtMTA1LjQxMTc2NS03OS44MTE3NjQtMTY1LjY0NzA1OVYyMTAuODIzNTI5aDQzOS43MTc2NDdWNTczLjc0MTE3NnogbTAgME03ODkuMDgyMzUzIDE2Ny4xNTI5NDFIMjgzLjEwNTg4MlY2MDguMzc2NDcxYzAgMTMuNTUyOTQxLTEwLjU0MTE3NiAyNC4wOTQxMTgtMjQuMDk0MTE3IDI0LjA5NDExNy0xMy41NTI5NDEgMC0yNC4wOTQxMTgtMTAuNTQxMTc2LTI0LjA5NDExOC0yNC4wOTQxMTd2LTQ2Ni44MjM1M2MwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDIyLjU4ODIzNS0yNC4wOTQxMTdINzg5LjA4MjM1M2MxMy41NTI5NDEgMCAyNC4wOTQxMTggMTAuNTQxMTc2IDI0LjA5NDExOCAyNC4wOTQxMTcgMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI1LjYtMjQuMDk0MTE4IDI1LjZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9sZCIgdW5pY29kZT0iJiM1OTQxOTsiIGQ9Ik00MzAuNjgyMzUzIDM5Ni4wNDcwNTl2LTE4Mi4yMTE3NjVjMC0yMS4wODIzNTMgMC0zNy42NDcwNTkgNC41MTc2NDctNTUuNzE3NjQ3IDQuNTE3NjQ3LTEyLjA0NzA1OSA5LjAzNTI5NC0yNS42IDE2LjU2NDcwNi0zNC42MzUyOTQgMTYuNTY0NzA2LTIxLjA4MjM1MyA0Mi4xNjQ3MDYtMzAuMTE3NjQ3IDc2LjgtMzAuMTE3NjQ3IDQ2LjY4MjM1MyAwIDg0LjMyOTQxMiAxMi4wNDcwNTkgMTA5LjkyOTQxMiAzNy42NDcwNTkgMjUuNiAyNS42IDQyLjE2NDcwNiA1OC43Mjk0MTIgNDIuMTY0NzA2IDEwNS40MTE3NjQgMCAyNS42LTQuNTE3NjQ3IDUxLjItMTIuMDQ3MDU5IDcyLjI4MjM1My05LjAzNTI5NCAyMS4wODIzNTMtMjEuMDgyMzUzIDM3LjY0NzA1OS0zNC42MzUyOTQgNTEuMi0yNS42IDIxLjA4MjM1My02Ny43NjQ3MDYgMzQuNjM1Mjk0LTEyMy40ODIzNTMgMzQuNjM1Mjk0aC03OS44MTE3NjV6IG0wIDI3Mi41NjQ3MDZ2LTI1OS4wMTE3NjVoMzQuNjM1Mjk0YzE2LjU2NDcwNiAwIDM0LjYzNTI5NCAwIDUxLjIgNC41MTc2NDdzMzAuMTE3NjQ3IDQuNTE3NjQ3IDM3LjY0NzA1OSA5LjAzNTI5NGwyNS42IDEyLjA0NzA1OWMxNi41NjQ3MDYgMTIuMDQ3MDU5IDI1LjYgMjUuNiAzNC42MzUyOTQgNDIuMTY0NzA2IDkuMDM1Mjk0IDE2LjU2NDcwNiAxMi4wNDcwNTkgMzcuNjQ3MDU5IDEyLjA0NzA1OSA1OC43Mjk0MTJzLTQuNTE3NjQ3IDQyLjE2NDcwNi0xMi4wNDcwNTkgNjMuMjQ3MDU4Yy05LjAzNTI5NCAyMS4wODIzNTMtMjEuMDgyMzUzIDM0LjYzNTI5NC0zNC42MzUyOTQgNDYuNjgyMzUzLTEyLjA0NzA1OSA5LjAzNTI5NC0yNS42IDE2LjU2NDcwNi00Mi4xNjQ3MDYgMjEuMDgyMzUzaC0xMDYuOTE3NjQ3ek0yNDAuOTQxMTc2IDgyLjgyMzUyOXY5LjAzNTI5NWMxNi41NjQ3MDYgMCAzMC4xMTc2NDcgNC41MTc2NDcgNDIuMTY0NzA2IDkuMDM1Mjk0IDkuMDM1Mjk0IDQuNTE3NjQ3IDIxLjA4MjM1MyA5LjAzNTI5NCAyNS42IDE2LjU2NDcwNiA5LjAzNTI5NCA5LjAzNTI5NCAxNi41NjQ3MDYgMjEuMDgyMzUzIDE2LjU2NDcwNiAzNC42MzUyOTQgNC41MTc2NDcgMTIuMDQ3MDU5IDQuNTE3NjQ3IDM3LjY0NzA1OSA0LjUxNzY0NyA2Ny43NjQ3MDZWNTQ1LjEyOTQxMmMwIDMwLjExNzY0NyAwIDUxLjItNC41MTc2NDcgNjcuNzY0NzA2IDAgMTIuMDQ3MDU5LTQuNTE3NjQ3IDI1LjYtMTYuNTY0NzA2IDM0LjYzNTI5NC05LjAzNTI5NCA5LjAzNTI5NC0xNi41NjQ3MDYgMTYuNTY0NzA2LTI1LjYgMjEuMDgyMzUzLTkuMDM1Mjk0IDQuNTE3NjQ3LTI1LjYgNC41MTc2NDctNDIuMTY0NzA2IDkuMDM1Mjk0VjY4NS4xNzY0NzFoMzQ3Ljg1ODgyNGMzNC42MzUyOTQtNC41MTc2NDcgNTguNzI5NDEyLTkuMDM1Mjk0IDg0LjMyOTQxMi0yNS42IDE2LjU2NDcwNi0xMi4wNDcwNTkgMzQuNjM1Mjk0LTI1LjYgNDIuMTY0NzA2LTQ2LjY4MjM1MyA5LjAzNTI5NC0xNi41NjQ3MDYgMTYuNTY0NzA2LTQyLjE2NDcwNiAxNi41NjQ3MDYtNjMuMjQ3MDU5IDAtMzcuNjQ3MDU5LTEyLjA0NzA1OS02Ny43NjQ3MDYtMzQuNjM1Mjk1LTkzLjM2NDcwNi05LjAzNTI5NC05LjAzNTI5NC0xNi41NjQ3MDYtMTYuNTY0NzA2LTMwLjExNzY0Ny0yMS4wODIzNTMtMTIuMDQ3MDU5LTQuNTE3NjQ3LTI1LjYtMTIuMDQ3MDU5LTQ2LjY4MjM1My0yMS4wODIzNTMgMjUuNi05LjAzNTI5NCA0Ni42ODIzNTMtMTIuMDQ3MDU5IDU4LjcyOTQxMi0xNi41NjQ3MDYgMTYuNTY0NzA2LTQuNTE3NjQ3IDMwLjExNzY0Ny0xMi4wNDcwNTkgNDIuMTY0NzA2LTIxLjA4MjM1MyAxNi41NjQ3MDYtMTYuNTY0NzA2IDM0LjYzNTI5NC0zNC42MzUyOTQgNDIuMTY0NzA2LTU1LjcxNzY0NyA5LjAzNTI5NC0yMS4wODIzNTMgMTYuNTY0NzA2LTQ2LjY4MjM1MyAxNi41NjQ3MDYtNzIuMjgyMzUzIDAtMjUuNi00LjUxNzY0Ny01MS4yLTE2LjU2NDcwNi03Mi4yODIzNTNzLTI1LjYtMzcuNjQ3MDU5LTQyLjE2NDcwNi01NS43MTc2NDdjLTE2LjU2NDcwNi0xMi4wNDcwNTktMzcuNjQ3MDU5LTIxLjA4MjM1My02My4yNDcwNTktMjUuNi0yNS42LTQuNTE3NjQ3LTU4LjcyOTQxMi05LjAzNTI5NC0xMDIuNC05LjAzNTI5NEwyNDAuOTQxMTc2IDgyLjgyMzUyOXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvcmRlci1ib3R0b20iIHVuaWNvZGU9IiYjNTk0MjA7IiBkPSJNNzUyLjk0MTE3NiA1OTQuODIzNTI5aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTc1Mi45NDExNzYgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek03NTIuOTQxMTc2IDMyMy43NjQ3MDZoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNzUyLjk0MTE3NiAyMzMuNDExNzY1aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTMwMS4xNzY0NzEgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTY2Mi41ODgyMzUgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTIuOTQxMTc2IDQxNC4xMTc2NDdoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNzUyLjk0MTE3NiA2ODUuMTc2NDcxaDYwLjIzNTI5NXYtNjAuMjM1Mjk1aC02MC4yMzUyOTV6TTY2Mi41ODgyMzUgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0yMTAuODIzNTI5IDgyLjgyMzUyOWg2MDIuMzUyOTQydjYzLjI0NzA1OUgyMTAuODIzNTI5VjgyLjgyMzUyOXpNNDgxLjg4MjM1MyA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDUwNC40NzA1ODhoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDIzMy40MTE3NjVoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMjcxLjA1ODgyNCA2MjQuOTQxMTc2djYwLjIzNTI5NWgtNjAuMjM1Mjk1di02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTk0LjgyMzUyOWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDUwNC40NzA1ODhoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjcxLjA1ODgyNCAzNTMuODgyMzUzdjYwLjIzNTI5NGgtNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgMzIzLjc2NDcwNmg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXIiIHVuaWNvZGU9IiYjNTk0MjE7IiBkPSJNNzY4IDY4NS4xNzY0NzFIMjU2Yy0yNC4wOTQxMTggMC00Mi4xNjQ3MDYtMjIuNTg4MjM1LTQyLjE2NDcwNi00OS42OTQxMTh2LTUwMS40NTg4MjRjMC0yNy4xMDU4ODIgMTkuNTc2NDcxLTQ5LjY5NDExOCA0Mi4xNjQ3MDYtNDkuNjk0MTE3aDUxMmMyNC4wOTQxMTggMCA0Mi4xNjQ3MDYgMjIuNTg4MjM1IDQyLjE2NDcwNiA0OS42OTQxMTdWNjM1LjQ4MjM1M2MwIDI3LjEwNTg4Mi0xOS41NzY0NzEgNDkuNjk0MTE4LTQyLjE2NDcwNiA0OS42OTQxMTh6TTQwNS4wODIzNTMgMTMyLjUxNzY0N0gyNTZ2MTI0Ljk4ODIzNWgxNDkuMDgyMzUzdi0xMjQuOTg4MjM1eiBtMCAxNzYuMTg4MjM1SDI1NnYxMjQuOTg4MjM2aDE0OS4wODIzNTNWMzA4LjcwNTg4MnogbTAgMTc2LjE4ODIzNkgyNTZWNjA5Ljg4MjM1M2gxNDkuMDgyMzUzdi0xMjQuOTg4MjM1eiBtMTcwLjE2NDcwNi0zNTIuMzc2NDcxaC0xMjh2MTI0Ljk4ODIzNWgxMjh2LTEyNC45ODgyMzV6IG0wIDE3Ni4xODgyMzVoLTEyOHYxMjQuOTg4MjM2aDEyOFYzMDguNzA1ODgyeiBtMCAxNzYuMTg4MjM2aC0xMjhWNjA5Ljg4MjM1M2gxMjh2LTEyNC45ODgyMzV6TTc2OCAxMzIuNTE3NjQ3aC0xNDkuMDgyMzUzdjEyNC45ODgyMzVINzY4di0xMjQuOTg4MjM1ek03NjggMzA4LjcwNTg4MmgtMTQ5LjA4MjM1M3YxMjQuOTg4MjM2SDc2OFYzMDguNzA1ODgyeiBtMCAxNzYuMTg4MjM2aC0xNDkuMDgyMzUzVjYwOS44ODIzNTNINzY4di0xMjQuOTg4MjM1eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLWxlZnQiIHVuaWNvZGU9IiYjNTk0MjI7IiBkPSJNNjYyLjU4ODIzNSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTY2Mi41ODgyMzUgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek04MTEuNjcwNTg4IDY4NS4xNzY0NzFoLTYwLjIzNTI5NHYtNjAuMjM1Mjk1SDgxMy4xNzY0NzF2NjAuMjM1Mjk1ek02NjIuNTg4MjM1IDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zMDEuMTc2NDcxIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMjMzLjQxMTc2NWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDMyMy43NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTA0LjQ3MDU4OGg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDU5NC44MjM1MjloNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgMTQzLjA1ODgyNGgtMS41MDU4ODJ2LTYwLjIzNTI5NUg4MTMuMTc2NDcxdjYwLjIzNTI5NWgtMS41MDU4ODN6TTc1MS40MzUyOTQgMjMzLjQxMTc2NWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTEuNDM1Mjk0IDMyMy43NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNzUyLjk0MTE3NiA0MTQuMTE3NjQ3aC0xLjUwNTg4MnYtNjAuMjM1Mjk0SDgxMy4xNzY0NzF2NjAuMjM1Mjk0aC0xLjUwNTg4M3pNNzUxLjQzNTI5NCA1MDQuNDcwNTg4aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1MS40MzUyOTQgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0yMTAuODIzNTI5IDY4NS4xNzY0NzF2LTYwMi4zNTI5NDJoNjAuMjM1Mjk1VjY4NS4xNzY0NzF6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLXRvcCIgdW5pY29kZT0iJiM1OTQyMzsiIGQ9Ik0yMTAuODIzNTI5IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSAzMjMuNzY0NzA2aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDU5NC44MjM1MjloNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNjYyLjU4ODIzNSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgNDE0LjExNzY0N2g2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDE0My4wNTg4MjRoNjAuMjM1Mjk1di02MC4yMzUyOTVoLTYwLjIzNTI5NXpNMzAxLjE3NjQ3MSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTgxMy4xNzY0NzEgNjg1LjE3NjQ3MUgyMTAuODIzNTI5di02My4yNDcwNTloNjAyLjM1Mjk0MlY2ODUuMTc2NDcxek00ODEuODgyMzUzIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAyMzMuNDExNzY1aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1MDQuNDcwNTg4aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTIuOTQxMTc2IDE0My4wNTg4MjR2LTYwLjIzNTI5NWg2MC4yMzUyOTV2NjAuMjM1Mjk1ek03NTIuOTQxMTc2IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNzUyLjk0MTE3NiAzMjMuNzY0NzA2aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTc1Mi45NDExNzYgNDE0LjExNzY0N3YtNjAuMjM1Mjk0aDYwLjIzNTI5NXY2MC4yMzUyOTR6TTc1Mi45NDExNzYgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek03NTIuOTQxMTc2IDU5NC44MjM1MjloNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXItbm9uZSIgdW5pY29kZT0iJiM1OTQyNDsiIGQ9Ik0yMTAuODIzNTI5IDgyLjgyMzUyOXY2MC4yMzUyOTVoNjAuMjM1Mjk1di02MC4yMzUyOTV6TTIxMC44MjM1MjkgMTczLjE3NjQ3MXY2MC4yMzUyOTRoNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgMjYzLjUyOTQxMnY2MC4yMzUyOTRoNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgMzUzLjg4MjM1M3Y2MC4yMzUyOTRoNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgNDQ0LjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgNTM0LjU4ODIzNXY2MC4yMzUyOTRoNjAuMjM1Mjk1di02MC4yMzUyOTR6TTIxMC44MjM1MjkgNjI0Ljk0MTE3NnY2MC4yMzUyOTVoNjAuMjM1Mjk1di02MC4yMzUyOTV6TTgxMy4xNzY0NzEgMzUzLjg4MjM1M2gtNjAuMjM1Mjk1djYwLjIzNTI5NGg2MC4yMzUyOTV6TTcyMi44MjM1MjkgMzUzLjg4MjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTYzMi40NzA1ODggMzUzLjg4MjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTU0Mi4xMTc2NDcgMzUzLjg4MjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTQ1MS43NjQ3MDYgMzUzLjg4MjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTM2MS40MTE3NjUgMzUzLjg4MjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTI3MS4wNTg4MjQgMzUzLjg4MjM1M2gtNjAuMjM1Mjk1djYwLjIzNTI5NGg2MC4yMzUyOTV6TTIxMC44MjM1MjkgMTQzLjA1ODgyNGg2MC4yMzUyOTV2LTYwLjIzNTI5NWgtNjAuMjM1Mjk1ek0zMDEuMTc2NDcxIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgMTQzLjA1ODgyNGg2MC4yMzUyOTV2LTYwLjIzNTI5NWgtNjAuMjM1Mjk1ek04MTMuMTc2NDcxIDYyNC45NDExNzZoLTYwLjIzNTI5NXY2MC4yMzUyOTVoNjAuMjM1Mjk1ek03MjIuODIzNTI5IDYyNC45NDExNzZoLTYwLjIzNTI5NHY2MC4yMzUyOTVoNjAuMjM1Mjk0ek02MzIuNDcwNTg4IDYyNC45NDExNzZoLTYwLjIzNTI5NHY2MC4yMzUyOTVoNjAuMjM1Mjk0ek01NDIuMTE3NjQ3IDYyNC45NDExNzZoLTYwLjIzNTI5NHY2MC4yMzUyOTVoNjAuMjM1Mjk0ek00NTEuNzY0NzA2IDYyNC45NDExNzZoLTYwLjIzNTI5NHY2MC4yMzUyOTVoNjAuMjM1Mjk0ek0zNjEuNDExNzY1IDYyNC45NDExNzZoLTYwLjIzNTI5NHY2MC4yMzUyOTVoNjAuMjM1Mjk0ek0yNzEuMDU4ODI0IDYyNC45NDExNzZoLTYwLjIzNTI5NXY2MC4yMzUyOTVoNjAuMjM1Mjk1ek00ODEuODgyMzUzIDgyLjgyMzUyOXY2MC4yMzUyOTVoNjAuMjM1Mjk0di02MC4yMzUyOTV6TTQ4MS44ODIzNTMgMTczLjE3NjQ3MXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMjYzLjUyOTQxMnY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMzUzLjg4MjM1M3Y2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNDQ0LjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTM0LjU4ODIzNXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNjI0Ljk0MTE3NnY2MC4yMzUyOTVoNjAuMjM1Mjk0di02MC4yMzUyOTV6TTc1MS41MjU2NDcgODIuNzMzMTc2djYwLjIzNTI5NWg2MC4yMzUyOTR2LTYwLjIzNTI5NXpNNzUxLjUyNTY0NyAxNzMuMDg2MTE4djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNzUxLjUyNTY0NyAyNjMuNDM5MDU5djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNzUxLjUyNTY0NyAzNTMuNzkydjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNzUxLjUyNTY0NyA0NDQuMTQ0OTQxdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNzUxLjUyNTY0NyA1MzQuNDk3ODgydjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNzUxLjUyNTY0NyA2MjQuODUwODI0djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkb3VnaG51dDEiIHVuaWNvZGU9IiYjNTk0MjU7IiBkPSJNNTEyIDEyNi40OTQxMThjMTQxLjU1Mjk0MSAwIDI1Ny41MDU4ODIgMTE1Ljk1Mjk0MSAyNTcuNTA1ODgyIDI1Ny41MDU4ODIgMCAxNDEuNTUyOTQxLTExNS45NTI5NDEgMjU3LjUwNTg4Mi0yNTcuNTA1ODgyIDI1Ny41MDU4ODItMTQxLjU1Mjk0MSAwLTI1Ny41MDU4ODItMTE1Ljk1Mjk0MS0yNTcuNTA1ODgyLTI1Ny41MDU4ODIgMC0xNDEuNTUyOTQxIDExNS45NTI5NDEtMjU3LjUwNTg4MiAyNTcuNTA1ODgyLTI1Ny41MDU4ODJ6IG0wLTQzLjY3MDU4OWMtMTY3LjE1Mjk0MSAwLTMwMS4xNzY0NzEgMTM0LjAyMzUyOS0zMDEuMTc2NDcxIDMwMS4xNzY0NzFzMTM0LjAyMzUyOSAzMDEuMTc2NDcxIDMwMS4xNzY0NzEgMzAxLjE3NjQ3MSAzMDEuMTc2NDcxLTEzNC4wMjM1MjkgMzAxLjE3NjQ3MS0zMDEuMTc2NDcxLTEzNC4wMjM1MjktMzAxLjE3NjQ3MS0zMDEuMTc2NDcxLTMwMS4xNzY0NzF6IG0wIDE3MS42NzA1ODljNzMuNzg4MjM1IDAgMTI5LjUwNTg4MiA1NS43MTc2NDcgMTI5LjUwNTg4MiAxMjkuNTA1ODgyIDAgNzMuNzg4MjM1LTU1LjcxNzY0NyAxMjkuNTA1ODgyLTEyOS41MDU4ODIgMTI5LjUwNTg4Mi03My43ODgyMzUgMC0xMjkuNTA1ODgyLTU1LjcxNzY0Ny0xMjkuNTA1ODgyLTEyOS41MDU4ODIgMC03My43ODgyMzUgNTUuNzE3NjQ3LTEyOS41MDU4ODIgMTI5LjUwNTg4Mi0xMjkuNTA1ODgyeiBtMC00Mi4xNjQ3MDZjLTk0Ljg3MDU4OCAwLTE3MS42NzA1ODggNzYuOC0xNzEuNjcwNTg4IDE3MS42NzA1ODggMCA5NC44NzA1ODggNzYuOCAxNzEuNjcwNTg4IDE3MS42NzA1ODggMTcxLjY3MDU4OCA5NC44NzA1ODggMCAxNzEuNjcwNTg4LTc2LjggMTcxLjY3MDU4OC0xNzEuNjcwNTg4IDAtOTQuODcwNTg4LTc2LjgtMTcxLjY3MDU4OC0xNzEuNjcwNTg4LTE3MS42NzA1ODh6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb250IiB1bmljb2RlPSImIzU5NDI2OyIgZD0iTTIxMi4zMjk0MTIgMTI2LjQ5NDExOGMwLTEzLjU1Mjk0MS0xLjUwNTg4Mi0yOC42MTE3NjUtMS41MDU4ODMtNDIuMTY0NzA2IDI1LjYgMCA1NS43MTc2NDcgMS41MDU4ODIgODQuMzI5NDEyIDEuNTA1ODgySDQyMS42NDcwNTljMS41MDU4ODIgMTMuNTUyOTQxIDEuNTA1ODgyIDI4LjYxMTc2NSAxLjUwNTg4MiA0Mi4xNjQ3MDZsLTg1LjgzNTI5NCAzLjAxMTc2NWMxNS4wNTg4MjQgNDIuMTY0NzA2IDM0LjYzNTI5NCA5NC44NzA1ODggNTEuMiAxMzguNTQxMTc2SDYxNy40MTE3NjVjNC41MTc2NDcgMCA2LjAyMzUyOS0xLjUwNTg4MiA2LjAyMzUyOS00LjUxNzY0NyAxNS4wNTg4MjQtMzkuMTUyOTQxIDMzLjEyOTQxMi05MC4zNTI5NDEgNDguMTg4MjM1LTEzMS4wMTE3NjUgMS41MDU4ODItMy4wMTE3NjUgMC00LjUxNzY0Ny0xLjUwNTg4Mi00LjUxNzY0N2wtNzUuMjk0MTE4LTMuMDExNzY0YzAtMTMuNTUyOTQxLTEuNTA1ODgyLTI4LjYxMTc2NS0xLjUwNTg4Mi00Mi4xNjQ3MDYgMzcuNjQ3MDU5IDAgODIuODIzNTI5IDEuNTA1ODgyIDEyNi40OTQxMTggMS41MDU4ODJoOTAuMzUyOTQxYzEuNTA1ODgyIDEzLjU1Mjk0MSAxLjUwNTg4MiAyOC42MTE3NjUgMS41MDU4ODIgNDIuMTY0NzA2bC01OC43Mjk0MTIgMy4wMTE3NjVDNjkxLjIgMjkzLjY0NzA1OSA2MDguMzc2NDcxIDUyMS4wMzUyOTQgNTQzLjYyMzUyOSA2ODUuMTc2NDcxYy0xOS41NzY0NzEgMC00MC42NTg4MjQtMS41MDU4ODItNTEuMi0xLjUwNTg4M0M0MjYuMTY0NzA2IDUyMS4wMzUyOTQgMzM3LjMxNzY0NyAyOTUuMTUyOTQxIDI3MS4wNTg4MjQgMTMyLjUxNzY0N2MtMS41MDU4ODItMy4wMTE3NjUtMy4wMTE3NjUtMy4wMTE3NjUtNC41MTc2NDgtMy4wMTE3NjVsLTU0LjIxMTc2NC0zLjAxMTc2NHogbTI5OC4xNjQ3MDYgNDU0Ljc3NjQ3YzMwLjExNzY0Ny04NC4zMjk0MTIgNjcuNzY0NzA2LTE4Ni43Mjk0MTIgOTcuODgyMzUzLTI2OS41NTI5NDFsLTIwMC4yODIzNTMgMS41MDU4ODJjLTMuMDExNzY1IDAtMy4wMTE3NjUgMS41MDU4ODItMS41MDU4ODMgNi4wMjM1MyAzMS42MjM1MjkgNzkuODExNzY1IDY5LjI3MDU4OCAxODAuNzA1ODgyIDEwMC44OTQxMTggMjYzLjUyOTQxMmgzLjAxMTc2NXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvcmRlci1yaWdodCIgdW5pY29kZT0iJiM1OTQyNzsiIGQ9Ik0yMTAuODIzNTI5IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSAzMjMuNzY0NzA2aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDU5NC44MjM1MjloNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNjYyLjU4ODIzNSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgNDE0LjExNzY0N2g2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDE0My4wNTg4MjRoNjAuMjM1Mjk1di02MC4yMzUyOTVoLTYwLjIzNTI5NXpNMzAxLjE3NjQ3MSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTY2Mi41ODgyMzUgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0yMTAuODIzNTI5IDY4NS4xNzY0NzFoNjAuMjM1Mjk1di02MC4yMzUyOTVoLTYwLjIzNTI5NXpNNDgxLjg4MjM1MyAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMjMzLjQxMTc2NWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDMyMy43NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTA0LjQ3MDU4OGg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDU5NC44MjM1MjloNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTc1MS40MzUyOTQgNjg1LjE3NjQ3MXYtNjAyLjM1Mjk0Mkg4MTMuMTc2NDcxVjY4NS4xNzY0NzF6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYnViYmxlIiB1bmljb2RlPSImIzU5NDI4OyIgZD0iTTMwNS42OTQxMTggMjMwLjRjMC0yMS4wODIzNTMgMTYuNTY0NzA2LTM3LjY0NzA1OSAzNy42NDcwNTgtMzcuNjQ3MDU5IDEwLjU0MTE3NiAwIDE5LjU3NjQ3MSA0LjUxNzY0NyAyNy4xMDU4ODMgMTIuMDQ3MDU5czEwLjU0MTE3NiAxNi41NjQ3MDYgMTAuNTQxMTc2IDI3LjEwNTg4Mi00LjUxNzY0NyAxOS41NzY0NzEtMTAuNTQxMTc2IDI3LjEwNTg4M2MtNy41Mjk0MTIgNy41Mjk0MTItMTYuNTY0NzA2IDEwLjU0MTE3Ni0yNy4xMDU4ODMgMTIuMDQ3MDU5LTEwLjU0MTE3NiAwLTE5LjU3NjQ3MS00LjUxNzY0Ny0yNy4xMDU4ODItMTIuMDQ3MDU5cy0xMC41NDExNzYtMTguMDcwNTg4LTEwLjU0MTE3Ni0yOC42MTE3NjV6IG0wIDBNMzQxLjgzNTI5NCA0NTkuMjk0MTE4YzAtMjEuMDgyMzUzIDE2LjU2NDcwNi0zNy42NDcwNTkgMzcuNjQ3MDU5LTM3LjY0NzA1OSAxMC41NDExNzYgMCAxOS41NzY0NzEgNC41MTc2NDcgMjcuMTA1ODgyIDEyLjA0NzA1OXMxMC41NDExNzYgMTYuNTY0NzA2IDEwLjU0MTE3NyAyNy4xMDU4ODItNC41MTc2NDcgMTkuNTc2NDcxLTEwLjU0MTE3NyAyNy4xMDU4ODJjLTcuNTI5NDEyIDcuNTI5NDEyLTE2LjU2NDcwNiAxMC41NDExNzYtMjcuMTA1ODgyIDEyLjA0NzA1OS0xOS41NzY0NzEtMS41MDU4ODItMzcuNjQ3MDU5LTE4LjA3MDU4OC0zNy42NDcwNTktNDAuNjU4ODIzeiBtMCAwTTY4Mi4xNjQ3MDYgMzQ2LjM1Mjk0MWMwLTIxLjA4MjM1MyAxNi41NjQ3MDYtMzcuNjQ3MDU5IDM3LjY0NzA1OS0zNy42NDcwNTkgMTAuNTQxMTc2IDAgMTkuNTc2NDcxIDQuNTE3NjQ3IDI3LjEwNTg4MiAxMi4wNDcwNTlzMTAuNTQxMTc2IDE2LjU2NDcwNiAxMC41NDExNzcgMjcuMTA1ODgzYzAgMjEuMDgyMzUzLTE2LjU2NDcwNiAzNy42NDcwNTktMzcuNjQ3MDU5IDM3LjY0NzA1OC0xMC41NDExNzYgMC0xOS41NzY0NzEtNC41MTc2NDctMjcuMTA1ODgzLTEyLjA0NzA1OHMtMTAuNTQxMTc2LTE4LjA3MDU4OC0xMC41NDExNzYtMjcuMTA1ODgzeiBtMCAwTTU2OS4yMjM1MjkgMzA3LjJjMC00Mi4xNjQ3MDYtMzMuMTI5NDEyLTc2LjgtNzUuMjk0MTE3LTc2LjhzLTc1LjI5NDExOCAzNC42MzUyOTQtNzUuMjk0MTE4IDc2LjggMzMuMTI5NDEyIDc2LjggNzUuMjk0MTE4IDc2LjhjNDAuNjU4ODI0IDAgNzUuMjk0MTE4LTM0LjYzNTI5NCA3NS4yOTQxMTctNzYuOHogbTAgME02ODIuMTY0NzA2IDUzNy42YzAtNDIuMTY0NzA2LTMzLjEyOTQxMi03Ni44LTc1LjI5NDExOC03Ni44cy03NS4yOTQxMTggMzQuNjM1Mjk0LTc1LjI5NDExNyA3Ni44IDMzLjEyOTQxMiA3Ni44IDc1LjI5NDExNyA3Ni44YzQwLjY1ODgyNCAwIDc1LjI5NDExOC0zNC42MzUyOTQgNzUuMjk0MTE4LTc2Ljh6IG0wIDBNNzg3LjU3NjQ3MSAxNjUuNjQ3MDU5aC01MjcuMDU4ODI0VjYyNi40NDcwNTljMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42LTEzLjU1Mjk0MSAwLTI1LjYtMTIuMDQ3MDU5LTI1LjYtMjUuNnYtNDg2LjRjMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjUuNkg3ODcuNTc2NDcxYzEzLjU1Mjk0MSAwIDI1LjYgMTIuMDQ3MDU5IDI1LjYgMjUuNiAwIDE1LjA1ODgyNC0xMC41NDExNzYgMjUuNi0yNS42IDI1LjZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZGlhZ3JhbTEiIHVuaWNvZGU9IiYjNTk0Mjk7IiBkPSJNMzU1LjM4ODIzNSAyMjUuODgyMzUzYzMxLjYyMzUyOSAwIDU3LjIyMzUyOSAyNS42IDU3LjIyMzUzIDU3LjIyMzUyOSAwIDEyLjA0NzA1OS0zLjAxMTc2NSAyMi41ODgyMzUtOS4wMzUyOTQgMzEuNjIzNTNsNjEuNzQxMTc2IDEwMi40aDkuMDM1Mjk0bDYxLjc0MTE3Ny0xMDIuNGMtNC41MTc2NDctMTAuNTQxMTc2LTkuMDM1Mjk0LTIxLjA4MjM1My05LjAzNTI5NC0zMS42MjM1MyAwLTMxLjYyMzUyOSAyNS42LTU3LjIyMzUyOSA1Ny4yMjM1MjktNTcuMjIzNTI5IDMxLjYyMzUyOSAwIDU3LjIyMzUyOSAyNS42IDU3LjIyMzUyOSA1Ny4yMjM1MjkgMCAxMi4wNDcwNTktMy4wMTE3NjUgMjIuNTg4MjM1LTEwLjU0MTE3NiAzMS42MjM1M2wxMDAuODk0MTE4IDE3Ny42OTQxMTdoNC41MTc2NDdjMzEuNjIzNTI5IDAgNTcuMjIzNTI5IDI1LjYgNTcuMjIzNTI5IDU3LjIyMzUzIDAgMzEuNjIzNTI5LTI1LjYgNTcuMjIzNTI5LTU3LjIyMzUyOSA1Ny4yMjM1MjktMzEuNjIzNTI5IDAtNTcuMjIzNTI5LTI1LjYtNTcuMjIzNTMtNTcuMjIzNTI5IDAtMTIuMDQ3MDU5IDMuMDExNzY1LTIyLjU4ODIzNSAxMC41NDExNzctMzEuNjIzNTNsLTEwMC44OTQxMTgtMTc3LjY5NDExN2gtOS4wMzUyOTRsLTYxLjc0MTE3NyAxMDIuNGM2LjAyMzUyOSA5LjAzNTI5NCA5LjAzNTI5NCAxOS41NzY0NzEgOS4wMzUyOTUgMzEuNjIzNTI5IDAgMzEuNjIzNTI5LTI1LjYgNTcuMjIzNTI5LTU3LjIyMzUzIDU3LjIyMzUzLTMxLjYyMzUyOSAwLTU3LjIyMzUyOS0yNS42LTU3LjIyMzUyOS01Ny4yMjM1MyAwLTEyLjA0NzA1OSAzLjAxMTc2NS0yMi41ODgyMzUgOS4wMzUyOTQtMzEuNjIzNTI5TDM2MS40MTE3NjUgMzM4LjgyMzUyOWgtNC41MTc2NDdjLTMxLjYyMzUyOSAwLTU3LjIyMzUyOS0yNS42LTU3LjIyMzUzLTU3LjIyMzUyOS0xLjUwNTg4Mi0zMC4xMTc2NDcgMjQuMDk0MTE4LTU1LjcxNzY0NyA1NS43MTc2NDctNTUuNzE3NjQ3eiBtMCAyNC4wOTQxMThNNzg3LjU3NjQ3MSAxNjUuNjQ3MDU5aC01MjcuMDU4ODI0VjYyNi40NDcwNTljMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42LTEzLjU1Mjk0MSAwLTI1LjYtMTIuMDQ3MDU5LTI1LjYtMjUuNnYtNDg2LjRjMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjUuNkg3ODcuNTc2NDcxYzEzLjU1Mjk0MSAwIDI1LjYgMTIuMDQ3MDU5IDI1LjYgMjUuNiAwIDE1LjA1ODgyNC0xMC41NDExNzYgMjUuNi0yNS42IDI1LjZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLWN1c3RvbSIgdW5pY29kZT0iJiM1OTQzMDsiIGQ9Ik0yMDcuODExNzY1IDgyLjg2ODcwNnY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTIwNy44MTE3NjUgMTczLjIyMTY0N3Y2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTIwNy44MTE3NjUgMjYzLjU3NDU4OHY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTIwNy44MTE3NjUgMzUzLjkyNzUyOXY2MC4yMzUyOTVoNjAuMjM1Mjk0di02MC4yMzUyOTV6TTIwNy44MTE3NjUgNDQ0LjI4MDQ3MXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTIwNy44MTE3NjUgNTM0LjYzMzQxMnY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTIwNy44MTE3NjUgNjI0Ljk4NjM1M3Y2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTU0MC41NTE1MjkgMzUzLjkyNzUyOWgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTQ1MC4xOTg1ODggMzUzLjkyNzUyOWgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTM1OS44NDU2NDcgMzUzLjkyNzUyOWgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTI2OS40OTI3MDYgMzUzLjkyNzUyOWgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTIwNy44MTE3NjUgMTQ0LjU2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0yOTguMTY0NzA2IDE0NC41NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzg4LjUxNzY0NyAxNDQuNTY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ3OC44NzA1ODggMTQ0LjU2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek04MTEuNjEwMzUzIDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek03MjEuMjU3NDEyIDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek02MzAuOTA0NDcxIDYyNC45ODYzNTNoLTYwLjIzNTI5NXY2MC4yMzUyOTRoNjAuMjM1Mjk1ek01NDAuNTUxNTI5IDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek00NTAuMTk4NTg4IDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek0zNTkuODQ1NjQ3IDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek0yNjkuNDkyNzA2IDYyNC45ODYzNTNoLTYwLjIzNTI5NHY2MC4yMzUyOTRoNjAuMjM1Mjk0ek00NzguODcwNTg4IDgyLjg2ODcwNnY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggMTczLjIyMTY0N3Y2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggMjYzLjU3NDU4OHY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggMzUzLjkyNzUyOXY2MC4yMzUyOTVoNjAuMjM1Mjk0di02MC4yMzUyOTV6TTQ3OC44NzA1ODggNDQ0LjI4MDQ3MXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggNTM0LjYzMzQxMnY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggNjI0Ljk4NjM1M3Y2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTQ3OC44NzA1ODggMTQ2LjA3MDU4OGgzMzUuODExNzY1VjgyLjgyMzUyOUg0NzguODcwNTg4ek03NDguNDk4ODI0IDQ0NS43MTEwNTl2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NDguNDk4ODI0IDUzNi4wNjR2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NDguNDk4ODI0IDYyNi40MTY5NDF2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek01NjEuNjk0MTE4IDIxMy44MzUyOTR2LTQ4LjE4ODIzNWg0Ni42ODIzNTNsMTQwLjA0NzA1OCAxNDMuMDU4ODIzLTQ4LjE4ODIzNSA0OC4xODgyMzZ6TTc4NC41NjQ3MDYgMzY0LjQyMzUyOWwtMjguNjExNzY1IDMwLjExNzY0N2MtMy4wMTE3NjUgMy4wMTE3NjUtNi4wMjM1MjkgMy4wMTE3NjUtOS4wMzUyOTQgMy4wMTE3NjUtMy4wMTE3NjUgMC02LjAyMzUyOS0xLjUwNTg4Mi05LjAzNTI5NC0zLjAxMTc2NWwtMjIuNTg4MjM1LTI0LjA5NDExNyA0Ni42ODIzNTMtNDguMTg4MjM1IDIyLjU4ODIzNSAyNC4wOTQxMTdjMy4wMTE3NjUgMy4wMTE3NjUgMy4wMTE3NjUgNi4wMjM1MjkgMy4wMTE3NjUgOS4wMzUyOTQgMCAzLjAxMTc2NS0xLjUwNTg4MiA2LjAyMzUyOS0zLjAxMTc2NSA5LjAzNTI5NHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb2x1bW4xIiB1bmljb2RlPSImIzU5NDMxOyIgZD0iTTU3OS43NjQ3MDYgMjAxLjc4ODIzNWgtNDAuNjU4ODI0Yy0xMC41NDExNzYgMC0xOS41NzY0NzEgMTIuMDQ3MDU5LTE5LjU3NjQ3IDI4LjYxMTc2NVY0MjcuNjcwNTg4YzAgMTUuMDU4ODI0IDkuMDM1Mjk0IDI4LjYxMTc2NSAxOS41NzY0NyAyOC42MTE3NjVoNDAuNjU4ODI0YzEwLjU0MTE3NiAwIDE5LjU3NjQ3MS0xMi4wNDcwNTkgMTkuNTc2NDctMjguNjExNzY1di0xOTcuMjcwNTg4YzAtNy41Mjk0MTItMS41MDU4ODItMTUuMDU4ODI0LTYuMDIzNTI5LTE5LjU3NjQ3MS0zLjAxMTc2NS02LjAyMzUyOS03LjUyOTQxMi05LjAzNTI5NC0xMy41NTI5NDEtOS4wMzUyOTRtLTExMi45NDExNzcgMGgtNDAuNjU4ODIzYy02LjAyMzUyOSAwLTEwLjU0MTE3NiAzLjAxMTc2NS0xMy41NTI5NDEgOS4wMzUyOTQtMy4wMTE3NjUgNi4wMjM1MjktNi4wMjM1MjkgMTIuMDQ3MDU5LTYuMDIzNTMgMTkuNTc2NDcxVjU0MC42MTE3NjVjMCAxNS4wNTg4MjQgOS4wMzUyOTQgMjguNjExNzY1IDE5LjU3NjQ3MSAyOC42MTE3NjRINDY2LjgyMzUyOWMxMC41NDExNzYgMCAxOS41NzY0NzEtMTIuMDQ3MDU5IDE5LjU3NjQ3MS0yOC42MTE3NjR2LTMxMS43MTc2NDdjMC03LjUyOTQxMi0xLjUwNTg4Mi0xNS4wNTg4MjQtNi4wMjM1MjktMTkuNTc2NDcxLTMuMDExNzY1LTQuNTE3NjQ3LTcuNTI5NDEyLTcuNTI5NDEyLTEzLjU1Mjk0Mi03LjUyOTQxMm0tMTEyLjk0MTE3NiAwaC00MC42NTg4MjRjLTYuMDIzNTI5IDAtMTAuNTQxMTc2IDMuMDExNzY1LTEzLjU1Mjk0MSA5LjAzNTI5NC0zLjAxMTc2NSA2LjAyMzUyOS02LjAyMzUyOSAxMi4wNDcwNTktNi4wMjM1MjkgMTkuNTc2NDcxdjU3LjIyMzUyOWMwIDE1LjA1ODgyNCA5LjAzNTI5NCAyOC42MTE3NjUgMTkuNTc2NDcgMjguNjExNzY1aDQwLjY1ODgyNGMxMC41NDExNzYgMCAxOS41NzY0NzEtMTIuMDQ3MDU5IDE5LjU3NjQ3MS0yOC42MTE3NjV2LTU3LjIyMzUyOWMwLTcuNTI5NDEyLTEuNTA1ODgyLTE1LjA1ODgyNC02LjAyMzUzLTE5LjU3NjQ3MS0zLjAxMTc2NS02LjAyMzUyOS05LjAzNTI5NC05LjAzNTI5NC0xMy41NTI5NDEtOS4wMzUyOTRNNjk1LjcxNzY0NyAyMDEuNzg4MjM1aC00MC42NTg4MjNjLTYuMDIzNTI5IDAtMTAuNTQxMTc2IDMuMDExNzY1LTEzLjU1Mjk0MiA2LjAyMzUzLTMuMDExNzY1IDQuNTE3NjQ3LTYuMDIzNTI5IDkuMDM1Mjk0LTYuMDIzNTI5IDE1LjA1ODgyM1Y0NjYuODIzNTI5YzAgMTIuMDQ3MDU5IDkuMDM1Mjk0IDIyLjU4ODIzNSAxOS41NzY0NzEgMjIuNTg4MjM2aDQwLjY1ODgyM2MxMC41NDExNzYgMCAxOS41NzY0NzEtMTAuNTQxMTc2IDE5LjU3NjQ3MS0yMi41ODgyMzZ2LTI0Mi40NDcwNThjMC02LjAyMzUyOS0xLjUwNTg4Mi0xMi4wNDcwNTktNi4wMjM1My0xNS4wNTg4MjQtMy4wMTE3NjUtNC41MTc2NDctNy41Mjk0MTItNy41Mjk0MTItMTMuNTUyOTQxLTcuNTI5NDEyTTc4Ny41NzY0NzEgMTY1LjY0NzA1OWgtNTI3LjA1ODgyNFY2MjYuNDQ3MDU5YzAgMTMuNTUyOTQxLTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNi0xMy41NTI5NDEgMC0yNS42LTEyLjA0NzA1OS0yNS42LTI1LjZ2LTQ4Ni40YzAtMTMuNTUyOTQxIDEwLjU0MTE3Ni0yNC4wOTQxMTggMjQuMDk0MTE4LTI1LjZINzg3LjU3NjQ3MWMxMy41NTI5NDEgMCAyNS42IDEyLjA0NzA1OSAyNS42IDI1LjYgMCAxNS4wNTg4MjQtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9Imhvcml6b250YWwtY29sdW1uIiB1bmljb2RlPSImIzU5NDMyOyIgZD0iTTQ2My44MTE3NjUgNTI1LjU1Mjk0MWgtMTQ5LjA4MjM1M2MtMTUuMDU4ODI0IDAtMjguNjExNzY1IDEyLjA0NzA1OS0yOC42MTE3NjUgMjguNjExNzY1djE2LjU2NDcwNmMwIDE1LjA1ODgyNCAxMi4wNDcwNTkgMjguNjExNzY1IDI4LjYxMTc2NSAyOC42MTE3NjRoMTQ5LjA4MjM1M2MxNS4wNTg4MjQgMCAyOC42MTE3NjUtMTIuMDQ3MDU5IDI4LjYxMTc2NC0yOC42MTE3NjR2LTE2LjU2NDcwNmMwLTE2LjU2NDcwNi0xMy41NTI5NDEtMjguNjExNzY1LTI4LjYxMTc2NC0yOC42MTE3NjV6TTU2MC4xODgyMzUgMzA4LjcwNTg4MkgzMTQuNzI5NDEyYy0xNS4wNTg4MjQgMC0yOC42MTE3NjUgMTIuMDQ3MDU5LTI4LjYxMTc2NSAyOC42MTE3NjVWMzUzLjg4MjM1M2MwIDE1LjA1ODgyNCAxMi4wNDcwNTkgMjguNjExNzY1IDI4LjYxMTc2NSAyOC42MTE3NjVoMjQ1LjQ1ODgyM2MxNS4wNTg4MjQgMCAyOC42MTE3NjUtMTIuMDQ3MDU5IDI4LjYxMTc2NS0yOC42MTE3NjV2LTE2LjU2NDcwNmMwLTE2LjU2NDcwNi0xMy41NTI5NDEtMjguNjExNzY1LTI4LjYxMTc2NS0yOC42MTE3NjV6TTQ5OS45NTI5NDEgMjAwLjI4MjM1M0gzMTQuNzI5NDEyYy0xNS4wNTg4MjQgMC0yOC42MTE3NjUgMTIuMDQ3MDU5LTI4LjYxMTc2NSAyOC42MTE3NjV2MTYuNTY0NzA2YzAgMTUuMDU4ODI0IDEyLjA0NzA1OSAyOC42MTE3NjUgMjguNjExNzY1IDI4LjYxMTc2NGgxODUuMjIzNTI5YzE1LjA1ODgyNCAwIDI4LjYxMTc2NS0xMi4wNDcwNTkgMjguNjExNzY1LTI4LjYxMTc2NHYtMTYuNTY0NzA2YzAtMTYuNTY0NzA2LTEzLjU1Mjk0MS0yOC42MTE3NjUtMjguNjExNzY1LTI4LjYxMTc2NXpNNjgwLjY1ODgyNCA0MTcuMTI5NDEySDMxNC43Mjk0MTJjLTE1LjA1ODgyNCAwLTI4LjYxMTc2NSAxMi4wNDcwNTktMjguNjExNzY1IDI4LjYxMTc2NHYxNi41NjQ3MDZjMCAxNS4wNTg4MjQgMTIuMDQ3MDU5IDI4LjYxMTc2NSAyOC42MTE3NjUgMjguNjExNzY1aDM2NS45Mjk0MTJjMTUuMDU4ODI0IDAgMjguNjExNzY1LTEyLjA0NzA1OSAyOC42MTE3NjQtMjguNjExNzY1VjQ0NC4yMzUyOTRjMC0xNS4wNTg4MjQtMTMuNTUyOTQxLTI3LjEwNTg4Mi0yOC42MTE3NjQtMjcuMTA1ODgyek03ODcuNTc2NDcxIDE2NS42NDcwNTloLTUyNy4wNTg4MjRWNjI2LjQ0NzA1OWMwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjUuNi0yNS42IDI1LjYtMTMuNTUyOTQxIDAtMjUuNi0xMi4wNDcwNTktMjUuNi0yNS42di00ODYuNGMwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDI0LjA5NDExOC0yNS42SDc4Ny41NzY0NzFjMTMuNTUyOTQxIDAgMjUuNiAxMi4wNDcwNTkgMjUuNiAyNS42IDAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb250LXNpemUiIHVuaWNvZGU9IiYjNTk0MzM7IiBkPSJNNDM1LjIgNjQ3LjUyOTQxMmMtMy4wMTE3NjUtNzguMzA1ODgyLTMuMDExNzY1LTE1OS42MjM1MjktMy4wMTE3NjUtMjQwLjk0MTE3N3YtNDUuMTc2NDdjMC03OS44MTE3NjUgMC0xNTkuNjIzNTI5IDMuMDExNzY1LTIzOS40MzUyOTRsOTQuODcwNTg4LTkuMDM1Mjk1di0zMC4xMTc2NDdIMjY4LjA0NzA1OXYzMC4xMTc2NDdsOTQuODcwNTg4IDkuMDM1Mjk1YzEuNTA1ODgyIDc4LjMwNTg4MiAxLjUwNTg4MiAxNTguMTE3NjQ3IDEuNTA1ODgyIDIzOS40MzUyOTR2NDUuMTc2NDdjMCA4MS4zMTc2NDcgMCAxNjIuNjM1Mjk0LTEuNTA1ODgyIDI0MC45NDExNzdoLTE1MC41ODgyMzVsLTIyLjU4ODIzNi0xMjAuNDcwNTg4SDE0Ny41NzY0NzFsNy41Mjk0MTEgMTU4LjExNzY0N2g0ODcuOTA1ODgzbDcuNTI5NDExLTE1Ni42MTE3NjVoLTQwLjY1ODgyM2wtMjIuNTg4MjM1IDEyMC40NzA1ODhINDM1LjJ6IG0wIDBNNzQ1LjQxMTc2NSA0MjEuNjQ3MDU5Yy0xLjUwNTg4Mi00Ni42ODIzNTMtMS41MDU4ODItOTQuODcwNTg4LTEuNTA1ODgzLTE0NC41NjQ3MDZ2LTI3LjEwNTg4MmMwLTQ4LjE4ODIzNSAwLTk2LjM3NjQ3MSAxLjUwNTg4My0xNDMuMDU4ODI0bDU3LjIyMzUyOS02LjAyMzUyOVY4Mi44MjM1MjlINjQ2LjAyMzUyOXYxOC4wNzA1ODlsNTcuMjIzNTMgNi4wMjM1MjljMS41MDU4ODIgNDYuNjgyMzUzIDEuNTA1ODgyIDk0Ljg3MDU4OCAxLjUwNTg4MiAxNDMuMDU4ODI0djI3LjEwNTg4MmMwIDQ4LjE4ODIzNSAwIDk3Ljg4MjM1My0xLjUwNTg4MiAxNDQuNTY0NzA2aC05MC4zNTI5NDFsLTEzLjU1Mjk0Mi03Mi4yODIzNTNoLTI0LjA5NDExN2w0LjUxNzY0NyA5My4zNjQ3MDZoMjkyLjE0MTE3Nmw0LjUxNzY0Ny05My4zNjQ3MDZoLTI0LjA5NDExN2wtMTMuNTUyOTQxIDcyLjI4MjM1M2gtOTMuMzY0NzA2eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29uZmlndXJhdGlvbiIgdW5pY29kZT0iJiM1OTQzNDsiIGQ9Ik00NDcuMjQ3MDU5IDEyNi40OTQxMThIMjU0LjQ5NDExOFY1OTkuMzQxMTc2aDg1LjgzNTI5NGMwLTI0LjA5NDExOCAxOS41NzY0NzEtNDMuNjcwNTg4IDQzLjY3MDU4OC00My42NzA1ODhoMTcxLjY3MDU4OGMyNC4wOTQxMTggMCA0My42NzA1ODggMTkuNTc2NDcxIDQzLjY3MDU4OCA0My42NzA1ODhoODUuODM1Mjk1di0xMDYuOTE3NjQ3YzAtMTIuMDQ3MDU5IDkuMDM1Mjk0LTIxLjA4MjM1MyAyMS4wODIzNTMtMjEuMDgyMzUzIDEyLjA0NzA1OSAwIDIxLjA4MjM1MyA5LjAzNTI5NCAyMS4wODIzNTIgMjEuMDgyMzUzdjEwNi45MTc2NDdjMCAyNC4wOTQxMTgtMTkuNTc2NDcxIDQzLjY3MDU4OC00My42NzA1ODggNDMuNjcwNTg5aC04NS44MzUyOTRjMCAyNC4wOTQxMTgtMTkuNTc2NDcxIDQzLjY3MDU4OC00My42NzA1ODggNDMuNjcwNTg4SDM4Mi40OTQxMThjLTI0LjA5NDExOCAwLTQzLjY3MDU4OC0xOS41NzY0NzEtNDMuNjcwNTg5LTQzLjY3MDU4OGgtODUuODM1Mjk0Yy0yNC4wOTQxMTggMC00My42NzA1ODgtMTkuNTc2NDcxLTQzLjY3MDU4OC00My42NzA1ODl2LTQ3Mi44NDcwNThjMC0yNC4wOTQxMTggMTkuNTc2NDcxLTQzLjY3MDU4OCA0My42NzA1ODgtNDMuNjcwNTg5aDE5NC4yNTg4MjRjMTIuMDQ3MDU5IDAgMjEuMDgyMzUzIDkuMDM1Mjk0IDIxLjA4MjM1MyAyMS4wODIzNTMgMCAxMi4wNDcwNTktOS4wMzUyOTQgMjIuNTg4MjM1LTIxLjA4MjM1MyAyMi41ODgyMzZ6IG0tNjQuNzUyOTQxIDUxNi41MTc2NDdoMTcxLjY3MDU4OHYtNDMuNjcwNTg5SDM4Mi40OTQxMTh2NDMuNjcwNTg5eiBtMCAwTTMxNy43NDExNzYgNTEzLjUwNTg4MmMtMTIuMDQ3MDU5IDAtMjEuMDgyMzUzLTkuMDM1Mjk0LTIxLjA4MjM1Mi0yMS4wODIzNTMgMC0xMi4wNDcwNTkgOS4wMzUyOTQtMjEuMDgyMzUzIDIxLjA4MjM1Mi0yMS4wODIzNTNoMzAxLjE3NjQ3MWMxMi4wNDcwNTkgMCAyMS4wODIzNTMgOS4wMzUyOTQgMjEuMDgyMzUzIDIxLjA4MjM1MyAwIDEyLjA0NzA1OS05LjAzNTI5NCAyMS4wODIzNTMtMjEuMDgyMzUzIDIxLjA4MjM1M2gtMzAxLjE3NjQ3MXogbTEyOS41MDU4ODMtMTI5LjUwNTg4MmgtMTI5LjUwNTg4M2MtMTIuMDQ3MDU5IDAtMjEuMDgyMzUzLTkuMDM1Mjk0LTIxLjA4MjM1Mi0yMS4wODIzNTNzOS4wMzUyOTQtMjEuMDgyMzUzIDIxLjA4MjM1Mi0yMS4wODIzNTNoMTI5LjUwNTg4M2MxMi4wNDcwNTkgMCAyMS4wODIzNTMgOS4wMzUyOTQgMjEuMDgyMzUzIDIxLjA4MjM1M3MtOS4wMzUyOTQgMjEuMDgyMzUzLTIxLjA4MjM1MyAyMS4wODIzNTN6IG0tNDIuMTY0NzA2LTEyOS41MDU4ODJoLTg1LjgzNTI5NGMtMTIuMDQ3MDU5IDAtMjEuMDgyMzUzLTkuMDM1Mjk0LTIxLjA4MjM1My0yMS4wODIzNTMgMC0xMi4wNDcwNTkgOS4wMzUyOTQtMjEuMDgyMzUzIDIxLjA4MjM1My0yMS4wODIzNTNoODUuODM1Mjk0YzEyLjA0NzA1OSAwIDIxLjA4MjM1MyA5LjAzNTI5NCAyMS4wODIzNTMgMjEuMDgyMzUzIDAgMTIuMDQ3MDU5LTEwLjU0MTE3NiAyMS4wODIzNTMtMjEuMDgyMzUzIDIxLjA4MjM1M3ogbTQwMy41NzY0NzEgMzcuNjQ3MDU4Yy0zLjAxMTc2NSAxOC4wNzA1ODgtMTguMDcwNTg4IDMxLjYyMzUyOS0zNi4xNDExNzcgMzQuNjM1Mjk1LTMuMDExNzY1IDAtNC41MTc2NDcgMS41MDU4ODItNi4wMjM1MjkgNC41MTc2NDctMS41MDU4ODIgMy4wMTE3NjUtMS41MDU4ODIgNC41MTc2NDcgMCA3LjUyOTQxMSA2LjAyMzUyOSAxNi41NjQ3MDYgMS41MDU4ODIgMzYuMTQxMTc2LTEyLjA0NzA1OSA0OS42OTQxMTgtMTguMDcwNTg4IDE2LjU2NDcwNi0zOS4xNTI5NDEgMjguNjExNzY1LTYxLjc0MTE3NyAzNy42NDcwNTktNC41MTc2NDcgMS41MDU4ODItOS4wMzUyOTQgMS41MDU4ODItMTMuNTUyOTQxIDEuNTA1ODgyLTEzLjU1Mjk0MSAwLTI1LjYtNi4wMjM1MjktMzMuMTI5NDEyLTE2LjU2NDcwNi0xLjUwNTg4Mi0xLjUwNTg4Mi00LjUxNzY0Ny0zLjAxMTc2NS02LjAyMzUyOS0zLjAxMTc2NC0zLjAxMTc2NSAwLTQuNTE3NjQ3IDEuNTA1ODgyLTYuMDIzNTI5IDMuMDExNzY0LTcuNTI5NDEyIDEwLjU0MTE3Ni0xOS41NzY0NzEgMTYuNTY0NzA2LTMzLjEyOTQxMiAxNi41NjQ3MDYtNC41MTc2NDcgMC05LjAzNTI5NCAwLTEzLjU1Mjk0MS0xLjUwNTg4Mi0yMi41ODgyMzUtNy41Mjk0MTItNDMuNjcwNTg4LTIxLjA4MjM1My02MS43NDExNzctMzcuNjQ3MDU5LTEzLjU1Mjk0MS0xMi4wNDcwNTktMTguMDcwNTg4LTMxLjYyMzUyOS0xMi4wNDcwNTktNDkuNjk0MTE4IDEuNTA1ODgyLTMuMDExNzY1IDEuNTA1ODgyLTQuNTE3NjQ3IDAtNy41Mjk0MTFzLTMuMDExNzY1LTQuNTE3NjQ3LTYuMDIzNTI5LTQuNTE3NjQ3Yy0xOC4wNzA1ODgtMy4wMTE3NjUtMzEuNjIzNTI5LTE2LjU2NDcwNi0zNC42MzUyOTQtMzQuNjM1Mjk1LTQuNTE3NjQ3LTI0LjA5NDExOC00LjUxNzY0Ny00OS42OTQxMTggMC03My43ODgyMzUgMy4wMTE3NjUtMTguMDcwNTg4IDE4LjA3MDU4OC0zMS42MjM1MjkgMzYuMTQxMTc2LTM0LjYzNTI5NCAzLjAxMTc2NSAwIDQuNTE3NjQ3LTEuNTA1ODgyIDYuMDIzNTMtNC41MTc2NDcgMS41MDU4ODItMy4wMTE3NjUgMS41MDU4ODItNC41MTc2NDcgMC03LjUyOTQxMi02LjAyMzUyOS0xNi41NjQ3MDYtMS41MDU4ODItMzYuMTQxMTc2IDEyLjA0NzA1OS00OS42OTQxMTcgMTguMDcwNTg4LTE2LjU2NDcwNiAzOS4xNTI5NDEtMjguNjExNzY1IDYxLjc0MTE3Ni0zNy42NDcwNTkgNC41MTc2NDctMS41MDU4ODIgOS4wMzUyOTQtMS41MDU4ODIgMTMuNTUyOTQxLTEuNTA1ODgzIDEzLjU1Mjk0MSAwIDI1LjYgNi4wMjM1MjkgMzMuMTI5NDEyIDE2LjU2NDcwNiAxLjUwNTg4MiAxLjUwNTg4MiA0LjUxNzY0NyAzLjAxMTc2NSA2LjAyMzUyOSAzLjAxMTc2NSAzLjAxMTc2NSAwIDQuNTE3NjQ3LTEuNTA1ODgyIDYuMDIzNTMtMy4wMTE3NjUgMTAuNTQxMTc2LTEzLjU1Mjk0MSAzMC4xMTc2NDctMTkuNTc2NDcxIDQ2LjY4MjM1My0xMy41NTI5NDEgMjIuNTg4MjM1IDcuNTI5NDEyIDQzLjY3MDU4OCAyMS4wODIzNTMgNjEuNzQxMTc2IDM3LjY0NzA1OSAxMy41NTI5NDEgMTIuMDQ3MDU5IDE4LjA3MDU4OCAzMS42MjM1MjkgMTIuMDQ3MDU5IDQ5LjY5NDExOC0xLjUwNTg4MiAzLjAxMTc2NS0xLjUwNTg4MiA0LjUxNzY0NyAwIDcuNTI5NDExczMuMDExNzY1IDQuNTE3NjQ3IDYuMDIzNTI5IDQuNTE3NjQ3YzE4LjA3MDU4OCAzLjAxMTc2NSAzMS42MjM1MjkgMTYuNTY0NzA2IDM2LjE0MTE3NyAzNC42MzUyOTUgMy4wMTE3NjUgMTIuMDQ3MDU5IDMuMDExNzY1IDI0LjA5NDExOCAzLjAxMTc2NSAzNi4xNDExNzYgMCAxMi4wNDcwNTktMS41MDU4ODIgMjQuMDk0MTE4LTQuNTE3NjQ3IDM2LjE0MTE3NnpNNzY4IDIyNy4zODgyMzVjLTE1LjA1ODgyNC0zLjAxMTc2NS0zMC4xMTc2NDctMTIuMDQ3MDU5LTM3LjY0NzA1OS0yNy4xMDU4ODJzLTkuMDM1Mjk0LTMxLjYyMzUyOS0zLjAxMTc2NS00Ni42ODIzNTNjLTEzLjU1Mjk0MS0xMi4wNDcwNTktMjguNjExNzY1LTIyLjU4ODIzNS00Ni42ODIzNTItMjguNjExNzY1LTkuMDM1Mjk0IDEyLjA0NzA1OS0yNC4wOTQxMTggMTkuNTc2NDcxLTM5LjE1Mjk0MiAxOS41NzY0NzFzLTMwLjExNzY0Ny03LjUyOTQxMi0zOS4xNTI5NDEtMTkuNTc2NDcxYy0xNi41NjQ3MDYgNi4wMjM1MjktMzMuMTI5NDEyIDE1LjA1ODgyNC00Ni42ODIzNTMgMjguNjExNzY1IDYuMDIzNTI5IDE1LjA1ODgyNCA0LjUxNzY0NyAzMS42MjM1MjktMy4wMTE3NjQgNDYuNjgyMzUzLTcuNTI5NDEyIDEzLjU1Mjk0MS0yMS4wODIzNTMgMjQuMDk0MTE4LTM2LjE0MTE3NyAyNy4xMDU4ODItMy4wMTE3NjUgMTguMDcwNTg4LTMuMDExNzY1IDM3LjY0NzA1OSAwIDU1LjcxNzY0NyAxNS4wNTg4MjQgMy4wMTE3NjUgMjguNjExNzY1IDEyLjA0NzA1OSAzNi4xNDExNzcgMjcuMTA1ODgzIDcuNTI5NDEyIDEzLjU1Mjk0MSA5LjAzNTI5NCAzMS42MjM1MjkgMy4wMTE3NjQgNDYuNjgyMzUzIDEzLjU1Mjk0MSAxMi4wNDcwNTkgMjguNjExNzY1IDIyLjU4ODIzNSA0Ni42ODIzNTMgMjguNjExNzY0IDkuMDM1Mjk0LTEyLjA0NzA1OSAyNC4wOTQxMTgtMTkuNTc2NDcxIDM5LjE1Mjk0MS0xOS41NzY0N3MzMC4xMTc2NDcgNy41Mjk0MTIgMzkuMTUyOTQyIDE5LjU3NjQ3YzE2LjU2NDcwNi02LjAyMzUyOSAzMy4xMjk0MTItMTUuMDU4ODI0IDQ2LjY4MjM1Mi0yOC42MTE3NjQtNi4wMjM1MjktMTUuMDU4ODI0LTQuNTE3NjQ3LTMxLjYyMzUyOSAzLjAxMTc2NS00Ni42ODIzNTMgNy41Mjk0MTItMTMuNTUyOTQxIDIxLjA4MjM1My0yNC4wOTQxMTggMzYuMTQxMTc3LTI3LjEwNTg4MyA0LjUxNzY0Ny0xOC4wNzA1ODggNC41MTc2NDctMzcuNjQ3MDU5IDEuNTA1ODgyLTU1LjcxNzY0N3ogbTAgME02NDEuNTA1ODgyIDMxMy4yMjM1MjljLTM2LjE0MTE3NiAwLTY0Ljc1Mjk0MS0yOC42MTE3NjUtNjQuNzUyOTQxLTY0Ljc1Mjk0MXMyOC42MTE3NjUtNjQuNzUyOTQxIDY0Ljc1Mjk0MS02NC43NTI5NDEgNjQuNzUyOTQxIDI4LjYxMTc2NSA2NC43NTI5NDIgNjQuNzUyOTQxLTI4LjYxMTc2NSA2NC43NTI5NDEtNjQuNzUyOTQyIDY0Ljc1Mjk0MXogbTAtODUuODM1Mjk0Yy0xMi4wNDcwNTkgMC0yMS4wODIzNTMgOS4wMzUyOTQtMjEuMDgyMzUzIDIxLjA4MjM1MyAwIDEyLjA0NzA1OSA5LjAzNTI5NCAyMS4wODIzNTMgMjEuMDgyMzUzIDIxLjA4MjM1MyAxMi4wNDcwNTkgMCAyMS4wODIzNTMtOS4wMzUyOTQgMjEuMDgyMzUzLTIxLjA4MjM1MyAwLTEyLjA0NzA1OS05LjAzNTI5NC0yMS4wODIzNTMtMjEuMDgyMzUzLTIxLjA4MjM1M3ogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImltcG9ydC1leGNlbCIgdW5pY29kZT0iJiM1OTQzNTsiIGQ9Ik03MjIuODIzNTI5IDI5OS42NzA1ODhsLTI1LjYtMzQuNjM1Mjk0IDU4LjcyOTQxMi00Mi4xNjQ3MDZINTYzLjJ2LTQzLjY3MDU4OGgyMDAuMjgyMzUzbC02My4yNDcwNTktNjMuMjQ3MDU5IDMxLjYyMzUzLTMxLjYyMzUyOSAxMjAuNDcwNTg4IDEyMC40NzA1ODgtMTI5LjUwNTg4MyA5NC44NzA1ODh6TTE3My4xNzY0NzEgMTQ2LjA3MDU4OEw1MjguNTY0NzA2IDgyLjgyMzUyOVY2ODUuMTc2NDcxbC0zNTUuMzg4MjM1LTY0Ljc1Mjk0MnYtNDc0LjM1Mjk0MXogbTg3LjM0MTE3NiAzNTIuMzc2NDcxbDUyLjcwNTg4MiAzLjAxMTc2NSAzNC42MzUyOTUtOTAuMzUyOTQyIDM5LjE1Mjk0MSA5My4zNjQ3MDYgNTQuMjExNzY0IDMuMDExNzY1LTYzLjI0NzA1OC0xMjQuOTg4MjM1IDY2LjI1ODgyMy0xMjYuNDk0MTE4LTU3LjIyMzUyOSAzLjAxMTc2NWMtMS41MDU4ODIgNC41MTc2NDctNy41Mjk0MTIgMTkuNTc2NDcxLTE5LjU3NjQ3MSA0OC4xODgyMzUtNi4wMjM1MjkgMTYuNTY0NzA2LTEzLjU1Mjk0MSAzMy4xMjk0MTItMTkuNTc2NDcgNDkuNjk0MTE4bC0zNy42NDcwNTktOTEuODU4ODI0LTUxLjIgMy4wMTE3NjUgNjAuMjM1Mjk0IDExNC40NDcwNTktNTguNzI5NDEyIDExNS45NTI5NDF6IG0zNjEuNDExNzY1LTE2Ny4xNTI5NDFoMTkuNTc2NDd2My4wMTE3NjRINzM3Ljg4MjM1M3YtMy4wMTE3NjRoMzcuNjQ3MDU5VjYwMy44NTg4MjRjMCAzLjAxMTc2NS0xLjUwNTg4MiA2LjAyMzUyOS0zLjAxMTc2NSA2LjAyMzUyOS0zLjAxMTc2NSAwLTYuMDIzNTI5IDEuNTA1ODgyLTcuNTI5NDEyIDEuNTA1ODgySDU2MS42OTQxMTh2LTM3LjY0NzA1OWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0di0xOS41NzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0VjQxNC4xMTc2NDdoNjAuMjM1Mjk0di01Ny4yMjM1MjloLTYwLjIzNTI5NHYtMjIuNTg4MjM2aDYwLjIzNTI5NHYtMy4wMTE3NjR6IG0xOS41NzY0NyAyNDIuNDQ3MDU4SDczNy44ODIzNTN2LTYwLjIzNTI5NGgtOTYuMzc2NDcxdjYwLjIzNTI5NHogbTAtNzkuODExNzY0SDczNy44ODIzNTN2LTYwLjIzNTI5NGgtOTYuMzc2NDcxdjYwLjIzNTI5NHogbTAtNzkuODExNzY1SDczNy44ODIzNTN2LTU3LjIyMzUyOWgtOTYuMzc2NDcxVjQxNC4xMTc2NDd6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb250LWNvbG9yIiB1bmljb2RlPSImIzU5NDM2OyIgZD0iTTI2Ni41NDExNzYgMjI3LjM4ODIzNWMwLTEwLjU0MTE3Ni0xLjUwNTg4Mi0yMi41ODgyMzUtMS41MDU4ODItMzQuNjM1Mjk0aDE3My4xNzY0NzFjMS41MDU4ODIgMTAuNTQxMTc2IDEuNTA1ODgyIDI0LjA5NDExOCAxLjUwNTg4MiAzNC42MzUyOTRsLTcwLjc3NjQ3MSAxLjUwNTg4M2MxMi4wNDcwNTkgMzQuNjM1Mjk0IDI4LjYxMTc2NSA3OC4zMDU4ODIgNDIuMTY0NzA2IDExNC40NDcwNThoMTg2LjcyOTQxMmMzLjAxMTc2NSAwIDQuNTE3NjQ3IDAgNi4wMjM1My0zLjAxMTc2NCAxMi4wNDcwNTktMzEuNjIzNTI5IDI3LjEwNTg4Mi03My43ODgyMzUgNDAuNjU4ODIzLTEwNi45MTc2NDcgMS41MDU4ODItMS41MDU4ODIgMC0zLjAxMTc2NS0xLjUwNTg4Mi0zLjAxMTc2NWwtNjEuNzQxMTc3LTEuNTA1ODgyYzAtMTAuNTQxMTc2LTEuNTA1ODgyLTIyLjU4ODIzNS0xLjUwNTg4Mi0zNC42MzUyOTRoMTc3LjY5NDExOGMxLjUwNTg4MiAxMC41NDExNzYgMS41MDU4ODIgMjQuMDk0MTE4IDEuNTA1ODgyIDM0LjYzNTI5NGwtNDguMTg4MjM1IDEuNTA1ODgyYy01MS4yIDEzNC4wMjM1MjktMTE4Ljk2NDcwNiAzMjAuNzUyOTQxLTE3MS42NzA1ODkgNDU0Ljc3NjQ3MS0xNi41NjQ3MDYgMC0zMy4xMjk0MTIgMC00Mi4xNjQ3MDYtMS41MDU4ODMtNTQuMjExNzY1LTEzMi41MTc2NDctMTI2LjQ5NDExOC0zMTcuNzQxMTc2LTE4Mi4yMTE3NjQtNDUwLjI1ODgyMy0xLjUwNTg4Mi0xLjUwNTg4Mi0zLjAxMTc2NS0zLjAxMTc2NS00LjUxNzY0Ny0zLjAxMTc2NWwtNDMuNjcwNTg5LTMuMDExNzY1eiBtMjQzLjk1Mjk0MiAzNzMuNDU4ODI0YzI1LjYtNjcuNzY0NzA2IDU1LjcxNzY0Ny0xNTIuMDk0MTE4IDc5LjgxMTc2NC0yMjEuMzY0NzA2SDQyNi4xNjQ3MDZjLTMuMDExNzY1IDAtMy4wMTE3NjUgMS41MDU4ODItMS41MDU4ODIgNC41MTc2NDcgMjUuNiA2NC43NTI5NDEgNTUuNzE3NjQ3IDE0Ny41NzY0NzEgODIuODIzNTI5IDIxNS4zNDExNzZoMy4wMTE3NjV6IG0wIDBNMjYyLjAyMzUyOSAxMzIuNTE3NjQ3aDUwMS40NTg4MjRWODIuODIzNTI5SDI2Mi4wMjM1Mjl6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWVyZ2UtY2VsbCIgdW5pY29kZT0iJiM1OTQzNzsiIGQ9Ik03NjMuNDgyMzUzIDY4NS4xNzY0NzFIMjYwLjUxNzY0N2MtMjcuMTA1ODgyIDAtNDkuNjk0MTE4LTIyLjU4ODIzNS00OS42OTQxMTgtNDkuNjk0MTE4di01MDEuNDU4ODI0YzAtMjcuMTA1ODgyIDIyLjU4ODIzNS00OS42OTQxMTggNDkuNjk0MTE4LTQ5LjY5NDExN2g1MDEuNDU4ODI0YzI3LjEwNTg4MiAwIDQ5LjY5NDExOCAyMi41ODgyMzUgNDkuNjk0MTE3IDQ5LjY5NDExN1Y2MzUuNDgyMzUzYzEuNTA1ODgyIDI3LjEwNTg4Mi0yMS4wODIzNTMgNDkuNjk0MTE4LTQ4LjE4ODIzNSA0OS42OTQxMTh6IG0wLTU1Mi42NTg4MjRIMjYwLjUxNzY0N1YyMzMuNDExNzY1aDUwMS40NTg4MjR2LTEwMC44OTQxMTh6IG0wIDE1MC41ODgyMzVIMjYwLjUxNzY0N1Y0ODQuODk0MTE4aDUwMS40NTg4MjR2LTIwMS43ODgyMzZ6IG0wIDI1MS40ODIzNTNIMjYwLjUxNzY0N3YxMDAuODk0MTE4aDUwMS40NTg4MjRWNTM0LjU4ODIzNXogbS0yMDEuNzg4MjM1IDBINTEydjEwMC44OTQxMThoNDkuNjk0MTE4VjUzNC41ODgyMzV6TTUxMiAxMzIuNTE3NjQ3aC00OS42OTQxMThWMjMzLjQxMTc2NUg1MTJ2LTEwMC44OTQxMTh6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJvYmxpcXVlLWhlYWQiIHVuaWNvZGU9IiYjNTk0Mzg7IiBkPSJNMjEwLjgyMzUyOSAyMzMuNDExNzY1aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgMzIzLjc2NDcwNmg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDUwNC40NzA1ODhoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSA1OTQuODIzNTI5aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTY2Mi41ODgyMzUgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0yMTAuODIzNTI5IDQxNC4xMTc2NDdoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSAxNDMuMDU4ODI0aDYwLjIzNTI5NXYtNjAuMjM1Mjk1aC02MC4yMzUyOTV6TTMwMS4xNzY0NzEgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek02NjIuNTg4MjM1IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNODExLjY3MDU4OCA2ODUuMTc2NDcxaC02MC4yMzUyOTR2LTYwLjIzNTI5NUg4MTMuMTc2NDcxdjYwLjIzNTI5NXpNNjYyLjU4ODIzNSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek02NjIuNTg4MjM1IDIzMy40MTE3NjVoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCAzMjMuNzY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNDE0LjExNzY0N3YtNjAuMjM1Mjk0aDYwLjIzNTI5NHY2MC4yMzUyOTR6TTM5MS41Mjk0MTIgNTA0LjQ3MDU4OGg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zMDEuMTc2NDcxIDU5NC44MjM1MjloNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA2ODUuMTc2NDcxdi02MC4yMzUyOTVoNjAuMjM1Mjk1djYwLjIzNTI5NXpNNzUxLjQzNTI5NCAyMzMuNDExNzY1aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1MS40MzUyOTQgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTIuOTQxMTc2IDQxNC4xMTc2NDdoLTEuNTA1ODgydi02MC4yMzUyOTRIODEzLjE3NjQ3MXY2MC4yMzUyOTRoLTEuNTA1ODgzek03NTEuNDM1Mjk0IDUwNC40NzA1ODhoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNzUxLjQzNTI5NCA1OTQuODIzNTI5aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgMTQzLjA1ODgyNGgtMS41MDU4ODJ2LTYwLjIzNTI5NUg4MTMuMTc2NDcxdjYwLjIzNTI5NWgtMS41MDU4ODN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGFnZS1wcmV2aWV3IiB1bmljb2RlPSImIzU5NDM5OyIgZD0iTTU3MC43Mjk0MTIgMzQ2LjM1Mjk0MWw2Ni4yNTg4MjMtNjQuNzUyOTQxYzkuMDM1Mjk0LTkuMDM1Mjk0IDI0LjA5NDExOC0zLjAxMTc2NSAyNC4wOTQxMTggMTAuNTQxMTc2djEwLjU0MTE3N2MwIDcuNTI5NDEyIDYuMDIzNTI5IDE1LjA1ODgyNCAxNS4wNTg4MjMgMTUuMDU4ODIzIDM2LjE0MTE3Ni0xLjUwNTg4MiA5My4zNjQ3MDYtMTIuMDQ3MDU5IDkzLjM2NDcwNi04Mi44MjM1MjkgMC00LjUxNzY0NyAwLTkuMDM1Mjk0LTEuNTA1ODgyLTEzLjU1Mjk0MS0xLjUwNTg4Mi0xNS4wNTg4MjQgMTkuNTc2NDcxLTIyLjU4ODIzNSAyNy4xMDU4ODItOS4wMzUyOTQgMTAuNTQxMTc2IDE5LjU3NjQ3MSAxOC4wNzA1ODggNDIuMTY0NzA2IDE4LjA3MDU4OSA2Ni4yNTg4MjMgMCAxMDguNDIzNTI5LTk3Ljg4MjM1MyAxMjMuNDgyMzUzLTEzNy4wMzUyOTUgMTI2LjQ5NDExOC03LjUyOTQxMiAwLTEzLjU1Mjk0MSA2LjAyMzUyOS0xMy41NTI5NDEgMTUuMDU4ODIzdjMuMDExNzY1YzAgMTMuNTUyOTQxLTE1LjA1ODgyNCAxOS41NzY0NzEtMjQuMDk0MTE3IDEwLjU0MTE3N0w1NzIuMjM1Mjk0IDM2Ny40MzUyOTRjLTYuMDIzNTI5LTYuMDIzNTI5LTYuMDIzNTI5LTE1LjA1ODgyNC0xLjUwNTg4Mi0yMS4wODIzNTN6IG0tOS4wMzUyOTQgMTAuNTQxMTc3TTQ2OC4zMjk0MTIgNTQ4LjE0MTE3NmgtMTA4LjQyMzUzYy03LjUyOTQxMiAwLTE1LjA1ODgyNC02LjAyMzUyOS0xNS4wNTg4MjMtMTUuMDU4ODIzdi05LjAzNTI5NGMwLTcuNTI5NDEyIDYuMDIzNTI5LTE1LjA1ODgyNCAxNS4wNTg4MjMtMTUuMDU4ODI0aDEwOC40MjM1M2M3LjUyOTQxMiAwIDE1LjA1ODgyNCA2LjAyMzUyOSAxNS4wNTg4MjMgMTUuMDU4ODI0VjUzNC41ODgyMzVjLTEuNTA1ODgyIDcuNTI5NDEyLTcuNTI5NDEyIDEzLjU1Mjk0MS0xNS4wNTg4MjMgMTMuNTUyOTQxek0zNTguNCA0MDMuNTc2NDcxaDIxOS44NTg4MjRjNy41Mjk0MTIgMCAxNS4wNTg4MjQgNi4wMjM1MjkgMTUuMDU4ODIzIDE1LjA1ODgyM3Y5LjAzNTI5NGMwIDcuNTI5NDEyLTYuMDIzNTI5IDE1LjA1ODgyNC0xNS4wNTg4MjMgMTUuMDU4ODI0SDM1OC40Yy03LjUyOTQxMiAwLTE1LjA1ODgyNC02LjAyMzUyOS0xNS4wNTg4MjQtMTUuMDU4ODI0di05LjAzNTI5NGMxLjUwNTg4Mi05LjAzNTI5NCA3LjUyOTQxMi0xNS4wNTg4MjQgMTUuMDU4ODI0LTE1LjA1ODgyM3pNNjg5LjY5NDExOCAyMjIuODcwNTg4di04MS4zMTc2NDdjMC03LjUyOTQxMi02LjAyMzUyOS0xNS4wNTg4MjQtMTUuMDU4ODI0LTE1LjA1ODgyM0gyNTZWNjQ0LjUxNzY0N2M4Mi44MjM1MjkgMCAxNjIuNjM1Mjk0IDAgMjQ1LjQ1ODgyNCAzLjAxMTc2NSA3LjUyOTQxMiAwIDE1LjA1ODgyNC02LjAyMzUyOSAxNS4wNTg4MjMtMTMuNTUyOTQxdi0xMTIuOTQxMTc3YzAtMjcuMTA1ODgyIDIyLjU4ODIzNS00OC4xODgyMzUgNDguMTg4MjM1LTQ4LjE4ODIzNWgxMDguNDIzNTNjNy41Mjk0MTIgMCAxNS4wNTg4MjQtNi4wMjM1MjkgMTUuMDU4ODIzLTE1LjA1ODgyNCAwLTcuNTI5NDEyIDYuMDIzNTI5LTE1LjA1ODgyNCAxNS4wNTg4MjQtMTUuMDU4ODIzaDEzLjU1Mjk0MWM3LjUyOTQxMiAwIDE1LjA1ODgyNCA2LjAyMzUyOSAxNS4wNTg4MjQgMTUuMDU4ODIzdjQ1LjE3NjQ3MWMwIDIyLjU4ODIzNS03LjUyOTQxMiA0Mi4xNjQ3MDYtMjIuNTg4MjM2IDU3LjIyMzUyOWwtMTAzLjkwNTg4MiAxMDMuOTA1ODgzYy0xNS4wNTg4MjQgMTUuMDU4ODI0LTM0LjYzNTI5NCAyMi41ODgyMzUtNTcuMjIzNTMgMjIuNTg4MjM1SDI0NS40NTg4MjRjLTQuNTE3NjQ3IDAtNy41Mjk0MTItNC41MTc2NDctMTIuMDQ3MDU5LTQuNTE3NjQ3LTEyLjA0NzA1OS00LjUxNzY0Ny0xOS41NzY0NzEtMTUuMDU4ODI0LTE5LjU3NjQ3MS0zMC4xMTc2NDdWMzg0YzAtODcuMzQxMTc2IDAtMTc3LjY5NDExOC0zLjAxMTc2NS0yNjUuMDM1Mjk0di00LjUxNzY0N2MwLTE4LjA3MDU4OCAxNS4wNTg4MjQtMzMuMTI5NDEyIDM0LjYzNTI5NS0zMy4xMjk0MTJoNDM2LjcwNTg4MmMyNy4xMDU4ODIgMCA0OC4xODgyMzUgMjIuNTg4MjM1IDQ4LjE4ODIzNSA0OC4xODgyMzV2OTMuMzY0NzA2YzAgNy41Mjk0MTItNi4wMjM1MjkgMTUuMDU4ODI0LTE1LjA1ODgyMyAxNS4wNTg4MjRoLTEzLjU1Mjk0MmMtNi4wMjM1MjkgMC0xMi4wNDcwNTktNi4wMjM1MjktMTIuMDQ3MDU4LTE1LjA1ODgyNHpNNTU4LjY4MjM1MyA2NDBjNC41MTc2NDcgMCAxMi4wNDcwNTktNC41MTc2NDcgMTUuMDU4ODIzLTcuNTI5NDEybDEwMy45MDU4ODMtMTAzLjkwNTg4MmM0LjUxNzY0Ny00LjUxNzY0NyA3LjUyOTQxMi03LjUyOTQxMiA3LjUyOTQxMi0xNS4wNTg4MjRoLTExMS40MzUyOTVjLTcuNTI5NDEyIDAtMTUuMDU4ODI0IDYuMDIzNTI5LTE1LjA1ODgyMyAxNS4wNTg4MjRWNjQwek0zNTguNCAyOTkuNjcwNTg4aDE4OC4yMzUyOTRjNy41Mjk0MTIgMCAxNS4wNTg4MjQgNi4wMjM1MjkgMTUuMDU4ODI0IDE1LjA1ODgyNFYzMjMuNzY0NzA2YzAgNy41Mjk0MTItNi4wMjM1MjkgMTUuMDU4ODI0LTE1LjA1ODgyNCAxNS4wNTg4MjNIMzU4LjRjLTcuNTI5NDEyIDAtMTUuMDU4ODI0LTYuMDIzNTI5LTE1LjA1ODgyNC0xNS4wNTg4MjN2LTkuMDM1Mjk0YzEuNTA1ODgyLTkuMDM1Mjk0IDcuNTI5NDEyLTE1LjA1ODgyNCAxNS4wNTg4MjQtMTUuMDU4ODI0ek0zNTguNCAxOTIuNzUyOTQxaDIxOS44NTg4MjRjNy41Mjk0MTIgMCAxNS4wNTg4MjQgNi4wMjM1MjkgMTUuMDU4ODIzIDE1LjA1ODgyNHY5LjAzNTI5NGMwIDcuNTI5NDEyLTYuMDIzNTI5IDE1LjA1ODgyNC0xNS4wNTg4MjMgMTUuMDU4ODIzSDM1OC40Yy03LjUyOTQxMiAwLTE1LjA1ODgyNC02LjAyMzUyOS0xNS4wNTg4MjQtMTUuMDU4ODIzdi05LjAzNTI5NGMxLjUwNTg4Mi05LjAzNTI5NCA3LjUyOTQxMi0xNS4wNTg4MjQgMTUuMDU4ODI0LTE1LjA1ODgyNHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyYWRhcjEiIHVuaWNvZGU9IiYjNTk0NDA7IiBkPSJNNjMwLjk2NDcwNiA0OTAuOTE3NjQ3Yy0xMy41NTI5NDEtNC41MTc2NDctMzAuMTE3NjQ3LTMuMDExNzY1LTQyLjE2NDcwNiA2LjAyMzUyOS0xMi4wNDcwNTkgOS4wMzUyOTQtMTkuNTc2NDcxIDIyLjU4ODIzNS0yMS4wODIzNTMgMzcuNjQ3MDU5LTEyLjA0NzA1OSA0LjUxNzY0Ny0yNC4wOTQxMTggNy41Mjk0MTItMzcuNjQ3MDU5IDkuMDM1Mjk0di04NS44MzUyOTRjMjcuMTA1ODgyLTcuNTI5NDEyIDQ2LjY4MjM1My0yNy4xMDU4ODIgNTQuMjExNzY1LTU0LjIxMTc2NGg4NS44MzUyOTRjLTMuMDExNzY1IDMxLjYyMzUyOS0xNi41NjQ3MDYgNjEuNzQxMTc2LTM5LjE1Mjk0MSA4Ny4zNDExNzZ6IG0yOC42MTE3NjUgMjUuNmMyOC42MTE3NjUtMzEuNjIzNTI5IDQ1LjE3NjQ3MS03MC43NzY0NzEgNDkuNjk0MTE3LTExMi45NDExNzZoNjYuMjU4ODI0Qzc2Ni40OTQxMTggNTM0LjU4ODIzNSA2NjIuNTg4MjM1IDYzOC40OTQxMTggNTMxLjU3NjQ3MSA2NDcuNTI5NDEydi02Ni4yNTg4MjRjMTguMDcwNTg4LTEuNTA1ODgyIDM2LjE0MTE3Ni02LjAyMzUyOSA1Mi43MDU4ODItMTIuMDQ3MDU5IDE2LjU2NDcwNiAxNS4wNTg4MjQgNDAuNjU4ODI0IDE4LjA3MDU4OCA1OC43Mjk0MTIgNC41MTc2NDcgMTguMDcwNTg4LTEzLjU1Mjk0MSAyNC4wOTQxMTgtMzcuNjQ3MDU5IDE2LjU2NDcwNi01Ny4yMjM1Mjl6TTM3Ni40NzA1ODggMzY1LjkyOTQxMmMtNC41MTc2NDctOS4wMzUyOTQtMTAuNTQxMTc2LTE2LjU2NDcwNi0xOS41NzY0Ny0yMS4wODIzNTMgMTYuNTY0NzA2LTYzLjI0NzA1OSA3MC43NzY0NzEtMTExLjQzNTI5NCAxMzUuNTI5NDExLTExOC45NjQ3MDZ2ODUuODM1Mjk0Yy0yNy4xMDU4ODIgNy41Mjk0MTItNDYuNjgyMzUzIDI3LjEwNTg4Mi01NC4yMTE3NjQgNTQuMjExNzY1SDM3Ni40NzA1ODh6IG0wIDM2LjE0MTE3Nmg2My4yNDcwNTljNy41Mjk0MTIgMjcuMTA1ODgyIDI3LjEwNTg4MiA0Ni42ODIzNTMgNTQuMjExNzY1IDU0LjIxMTc2NXY4NS44MzUyOTRjLTY2LjI1ODgyNC03LjUyOTQxMi0xMTguOTY0NzA2LTU1LjcxNzY0Ny0xMzUuNTI5NDEyLTExOC45NjQ3MDYgNy41Mjk0MTItMy4wMTE3NjUgMTMuNTUyOTQxLTEwLjU0MTE3NiAxOC4wNzA1ODgtMjEuMDgyMzUzeiBtLTg1LjgzNTI5NC0zNi4xNDExNzZoLTQwLjY1ODgyM2M5LjAzNTI5NC0xMzEuMDExNzY1IDExMi45NDExNzYtMjM0LjkxNzY0NyAyNDMuOTUyOTQxLTI0My45NTI5NDFWMTg4LjIzNTI5NGMtODUuODM1Mjk0IDcuNTI5NDEyLTE1NS4xMDU4ODIgNzAuNzc2NDcxLTE3My4xNzY0NzEgMTUyLjA5NDExOC0xNS4wNTg4MjQgMy4wMTE3NjUtMjUuNiAxMi4wNDcwNTktMzAuMTE3NjQ3IDI1LjZ6IG0wIDM2LjE0MTE3NmM2LjAyMzUyOSAxMi4wNDcwNTkgMTYuNTY0NzA2IDIyLjU4ODIzNSAzMC4xMTc2NDcgMjUuNiAxOS41NzY0NzEgODEuMzE3NjQ3IDg4Ljg0NzA1OSAxNDMuMDU4ODI0IDE3My4xNzY0NzEgMTUyLjA5NDExOHY2Ni4yNTg4MjNjLTEzMS4wMTE3NjUtOS4wMzUyOTQtMjM0LjkxNzY0Ny0xMTIuOTQxMTc2LTI0My45NTI5NDEtMjQzLjk1Mjk0MWg0MC42NTg4MjN6IG0yOTMuNjQ3MDU5LTM2LjE0MTE3NmMtNy41Mjk0MTItMjcuMTA1ODgyLTI3LjEwNTg4Mi00Ni42ODIzNTMtNTQuMjExNzY1LTU0LjIxMTc2NXYtODUuODM1Mjk0YzczLjc4ODIzNSA5LjAzNTI5NCAxMzEuMDExNzY1IDY2LjI1ODgyNCAxNDAuMDQ3MDU5IDE0MC4wNDcwNTloLTg1LjgzNTI5NHogbS05MC4zNTI5NDEtMjgzLjEwNTg4M2MtMTUyLjA5NDExOCAxMC41NDExNzYtMjcyLjU2NDcwNiAxMzEuMDExNzY1LTI4My4xMDU4ODMgMjgzLjEwNTg4M3YzNy42NDcwNTljOS4wMzUyOTQgMTUyLjA5NDExOCAxMzEuMDExNzY1IDI3Mi41NjQ3MDYgMjgxLjYgMjgxLjZoMzcuNjQ3MDU5YzE1Mi4wOTQxMTgtOS4wMzUyOTQgMjcyLjU2NDcwNi0xMzEuMDExNzY1IDI4MS42LTI4MS42di0zNy42NDcwNTljLTkuMDM1Mjk0LTE1Mi4wOTQxMTgtMTI5LjUwNTg4Mi0yNzIuNTY0NzA2LTI4MS42LTI4My4xMDU4ODNoLTM2LjE0MTE3NnogbTM2LjE0MTE3NiAzNy42NDcwNTljMTMxLjAxMTc2NSA5LjAzNTI5NCAyMzQuOTE3NjQ3IDExMi45NDExNzYgMjQzLjk1Mjk0MSAyNDMuOTUyOTQxSDcwNy43NjQ3MDZjLTkuMDM1Mjk0LTk0Ljg3MDU4OC04NC4zMjk0MTItMTY4LjY1ODgyNC0xNzcuNjk0MTE4LTE3Ny42OTQxMTd2LTY2LjI1ODgyNHogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InBvbGFyLXBsb3QiIHVuaWNvZGU9IiYjNTk0NDE7IiBkPSJNMzY3LjQzNTI5NCAzMTYuMjM1Mjk0bC0zMC4xMTc2NDcgNTUuNzE3NjQ3SDI0MC45NDExNzZjLTE2LjU2NDcwNiAwLTMwLjExNzY0NyAxMi4wNDcwNTktMzAuMTE3NjQ3IDMwLjExNzY0NyAwIDQuNTE3NjQ3IDAgMTIuMDQ3MDU5IDQuNTE3NjQ3IDE2LjU2NDcwNmwxNzQuNjgyMzUzIDI0OS45NzY0NzFjOS4wMzUyOTQgMTIuMDQ3MDU5IDMwLjExNzY0NyAxNi41NjQ3MDYgNDIuMTY0NzA2IDkuMDM1Mjk0bDEyLjA0NzA1OS0xMi4wNDcwNTkgNC41MTc2NDctMTIuMDQ3MDU5IDI3Mi41NjQ3MDYtMjEuMDgyMzUzYzE2LjU2NDcwNiAwIDMwLjExNzY0Ny0xNi41NjQ3MDYgMjUuNi0zMC4xMTc2NDcgMC05LjAzNTI5NC00LjUxNzY0Ny0xMi4wNDcwNTktOS4wMzUyOTQtMTYuNTY0NzA2bDIxLjA4MjM1My0yODAuMDk0MTE3IDM3LjY0NzA1OS0yMS4wODIzNTNjMTIuMDQ3MDU5LTkuMDM1Mjk0IDIxLjA4MjM1My0yNS42IDEyLjA0NzA1OS0zNy42NDcwNTlsLTEyLjA0NzA1OS0xMi4wNDcwNTktMjg5LjEyOTQxMi0xNDAuMDQ3MDU5Yy0xMi4wNDcwNTktOS4wMzUyOTQtMzQuNjM1Mjk0IDAtMzcuNjQ3MDU5IDEyLjA0NzA1OS00LjUxNzY0NyA0LjUxNzY0Ny00LjUxNzY0NyAxMi4wNDcwNTktNC41MTc2NDcgMTYuNTY0NzA2VjEyOGwtMTM1LjUyOTQxMiAxMTguOTY0NzA2LTQuNTE3NjQ3IDQuNTE3NjQ3Yy05LjAzNTI5NCAxMi4wNDcwNTktNC41MTc2NDcgMzQuNjM1Mjk0IDkuMDM1Mjk0IDQyLjE2NDcwNmwzMy4xMjk0MTIgMjIuNTg4MjM1eiBtMzQuNjM1Mjk0IDI0LjA5NDExOGw1MS4yIDM0LjYzNTI5NGgtNjcuNzY0NzA2bDE2LjU2NDcwNi0zNC42MzUyOTR6IG0xMjggOTAuMzUyOTQxbDE1Ni42MTE3NjUgMTU2LjYxMTc2NS0yMjUuODgyMzUzIDE2LjU2NDcwNiA2OS4yNzA1ODgtMTczLjE3NjQ3MXogbS0zNC42MzUyOTQtODEuMzE3NjQ3bC0xMjgtODQuMzI5NDEyIDEwMi40LTg4Ljg0NzA1OSAyNS42IDE3My4xNzY0NzF6IG0yMDAuMjgyMzUzIDE4Ni43Mjk0MTJsLTEzNS41Mjk0MTItMTM1LjUyOTQxMiAxNTMuNi04MS4zMTc2NDctMTguMDcwNTg4IDIxNi44NDcwNTl6TTUzNy42IDM2Mi45MTc2NDdsLTM0LjYzNTI5NC0yMjguODk0MTE4IDI0Ni45NjQ3MDYgMTE4Ljk2NDcwNi0yMTIuMzI5NDEyIDEwOS45Mjk0MTJ6IG0tMjcxLjA1ODgyNCA0OS42OTQxMThoMjI1Ljg4MjM1M0w0MTEuMTA1ODgyIDYyNC45NDExNzZsLTE0NC41NjQ3MDYtMjEyLjMyOTQxMXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InBpZTEiIHVuaWNvZGU9IiYjNTk0NDI7IiBkPSJNNTQzLjYyMzUyOSA2ODUuMTc2NDcxSDUxMnYtMzAxLjE3NjQ3MWwyOTkuNjcwNTg4IDMuMDExNzY1IDEuNTA1ODgzIDEwLjU0MTE3NnYxOC4wNzA1ODhDODEzLjE3NjQ3MSA1NjQuNzA1ODgyIDY5Mi43MDU4ODIgNjg1LjE3NjQ3MSA1NDMuNjIzNTI5IDY4NS4xNzY0NzF6IG0yMzYuNDIzNTMtMjY4LjA0NzA1OUg1NDUuMTI5NDEyVjY1Mi4wNDcwNTljNjEuNzQxMTc2IDAgMTIxLjk3NjQ3MS0yNC4wOTQxMTggMTY1LjY0NzA1OS02OS4yNzA1ODggNDMuNjcwNTg4LTQzLjY3MDU4OCA2OS4yNzA1ODgtMTAzLjkwNTg4MiA2OS4yNzA1ODgtMTY1LjY0NzA1OSAwLTEuNTA1ODgyIDAgMy4wMTE3NjUgMCAweiBtLTMwMS4xNzY0NzEgMjAwLjI4MjM1M0M0MDYuNTg4MjM1IDYyMS45Mjk0MTIgMzM3LjMxNzY0NyA1OTQuODIzNTI5IDI4Ni4xMTc2NDcgNTQzLjYyMzUyOWMtNTEuMi01MS4yLTc4LjMwNTg4Mi0xMjAuNDcwNTg4LTc1LjI5NDExOC0xOTIuNzUyOTQxQzIxMC44MjM1MjkgMjAzLjI5NDExOCAzMzEuMjk0MTE4IDgyLjgyMzUyOSA0ODAuMzc2NDcxIDgyLjgyMzUyOWMxNDEuNTUyOTQxIDAgMjY4LjA0NzA1OSAxMDUuNDExNzY1IDI2OC4wNDcwNTggMjUxLjQ4MjM1M2wtMS41MDU4ODIgMTYuNTY0NzA2SDQ3OC44NzA1ODhWNjE3LjQxMTc2NXogbTIzMy40MTE3NjUtMjk5LjY3MDU4OWMwLTk5LjM4ODIzNS0xMDguNDIzNTI5LTIwMC4yODIzNTMtMjMzLjQxMTc2NS0yMDAuMjgyMzUyLTYzLjI0NzA1OS0zLjAxMTc2NS0xMjMuNDgyMzUzIDIxLjA4MjM1My0xNjguNjU4ODIzIDY2LjI1ODgyMy00NS4xNzY0NzEgNDUuMTc2NDcxLTY3Ljc2NDcwNiAxMDUuNDExNzY1LTY2LjI1ODgyNCAxNjguNjU4ODI0IDAgMTMyLjUxNzY0NyA4OC44NDcwNTkgMjMzLjQxMTc2NSAyMDAuMjgyMzUzIDIzMy40MTE3NjR2LTI2OC4wNDcwNTloMjY4LjA0NzA1OXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InNjYXR0ZXIiIHVuaWNvZGU9IiYjNTk0NDM7IiBkPSJNNjY0LjA5NDExOCAyMTkuODU4ODI0Yy0yNy4xMDU4ODIgMC01MS4yIDI0LjA5NDExOC01MS4yIDUxLjIgMCAyNy4xMDU4ODIgMjQuMDk0MTE4IDUxLjIgNTEuMiA1MS4yIDI3LjEwNTg4MiAwIDUxLjItMjQuMDk0MTE4IDUxLjItNTEuMi0xLjUwNTg4Mi0yNy4xMDU4ODItMjUuNi01MS4yLTUxLjItNTEuMnpNNDYyLjMwNTg4MiAzODguNTE3NjQ3Yy0yNy4xMDU4ODIgMC01MS4yIDI0LjA5NDExOC01MS4yIDUxLjIgMCAyNy4xMDU4ODIgMjQuMDk0MTE4IDUxLjIgNTEuMiA1MS4yIDI3LjEwNTg4MiAwIDUxLjItMjQuMDk0MTE4IDUxLjItNTEuMi0xLjUwNTg4Mi0yOC42MTE3NjUtMjUuNi01MS4yLTUxLjItNTEuMnogbTE1MC41ODgyMzYgMTM0LjAyMzUyOWMtMTkuNTc2NDcxIDAtMzMuMTI5NDEyIDEzLjU1Mjk0MS0zMy4xMjk0MTIgMzMuMTI5NDEyIDAgMTkuNTc2NDcxIDEzLjU1Mjk0MSAzMy4xMjk0MTIgMzMuMTI5NDEyIDMzLjEyOTQxMiAxOS41NzY0NzEgMCAzMy4xMjk0MTItMTMuNTUyOTQxIDMzLjEyOTQxMS0zMy4xMjk0MTIgMC0xOS41NzY0NzEtMTMuNTUyOTQxLTMzLjEyOTQxMi0zMy4xMjk0MTEtMzMuMTI5NDEyeiBtMTM0LjAyMzUyOS0xMDAuODk0MTE3Yy0xOS41NzY0NzEgMC0zMy4xMjk0MTIgMTMuNTUyOTQxLTMzLjEyOTQxMiAzMy4xMjk0MTIgMCAxOS41NzY0NzEgMTMuNTUyOTQxIDMzLjEyOTQxMiAzMy4xMjk0MTIgMzMuMTI5NDExIDE5LjU3NjQ3MSAwIDMzLjEyOTQxMi0xMy41NTI5NDEgMzMuMTI5NDEyLTMzLjEyOTQxMSAxLjUwNTg4Mi0xOS41NzY0NzEtMTIuMDQ3MDU5LTMzLjEyOTQxMi0zMy4xMjk0MTItMzMuMTI5NDEyek0zNDMuMzQxMTc2IDQ4OS40MTE3NjVjLTE5LjU3NjQ3MSAwLTMzLjEyOTQxMiAxMy41NTI5NDEtMzMuMTI5NDExIDMzLjEyOTQxMSAwIDE5LjU3NjQ3MSAxMy41NTI5NDEgMzMuMTI5NDEyIDMzLjEyOTQxMSAzMy4xMjk0MTIgMTkuNTc2NDcxIDAgMzMuMTI5NDEyLTEzLjU1Mjk0MSAzMy4xMjk0MTItMzMuMTI5NDEyIDEuNTA1ODgyLTE5LjU3NjQ3MS0xMi4wNDcwNTktMzMuMTI5NDEyLTMzLjEyOTQxMi0zMy4xMjk0MTF6TTUxMiAyNTIuOTg4MjM1Yy0xOS41NzY0NzEgMC0zMy4xMjk0MTIgMTMuNTUyOTQxLTMzLjEyOTQxMiAzMy4xMjk0MTIgMCAxOS41NzY0NzEgMTMuNTUyOTQxIDMzLjEyOTQxMiAzMy4xMjk0MTIgMzMuMTI5NDEyIDE5LjU3NjQ3MSAwIDMzLjEyOTQxMi0xMy41NTI5NDEgMzMuMTI5NDEyLTMzLjEyOTQxMiAwLTE5LjU3NjQ3MS0xMy41NTI5NDEtMzMuMTI5NDEyLTMzLjEyOTQxMi0zMy4xMjk0MTJ6IG0xMDAuODk0MTE4IDEzNS41Mjk0MTJjLTE5LjU3NjQ3MSAwLTMzLjEyOTQxMiAxMy41NTI5NDEtMzMuMTI5NDEyIDMzLjEyOTQxMiAwIDE5LjU3NjQ3MSAxMy41NTI5NDEgMzMuMTI5NDEyIDMzLjEyOTQxMiAzMy4xMjk0MTIgMTkuNTc2NDcxIDAgMzMuMTI5NDEyLTEzLjU1Mjk0MSAzMy4xMjk0MTEtMzMuMTI5NDEyIDAtMTkuNTc2NDcxLTEzLjU1Mjk0MS0zMy4xMjk0MTItMzMuMTI5NDExLTMzLjEyOTQxMnpNMzc3Ljk3NjQ3MSAyMTkuODU4ODI0Yy0xOS41NzY0NzEgMC0zMy4xMjk0MTIgMTMuNTUyOTQxLTMzLjEyOTQxMiAzMy4xMjk0MTEgMCAxOS41NzY0NzEgMTMuNTUyOTQxIDMzLjEyOTQxMiAzMy4xMjk0MTIgMzMuMTI5NDEyIDE5LjU3NjQ3MSAwIDMzLjEyOTQxMi0xMy41NTI5NDEgMzMuMTI5NDExLTMzLjEyOTQxMiAwLTE5LjU3NjQ3MS0xMy41NTI5NDEtMzMuMTI5NDEyLTMzLjEyOTQxMS0zMy4xMjk0MTF6IG0tOTAuMzUyOTQyIDQyNy42NzA1ODhNNzg3LjU3NjQ3MSAxNjUuNjQ3MDU5aC01MjcuMDU4ODI0VjYyNi40NDcwNTljMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42LTEzLjU1Mjk0MSAwLTI1LjYtMTIuMDQ3MDU5LTI1LjYtMjUuNnYtNDg2LjRjMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjUuNkg3ODcuNTc2NDcxYzEzLjU1Mjk0MSAwIDI1LjYgMTIuMDQ3MDU5IDI1LjYgMjUuNiAwIDE1LjA1ODgyNC0xMC41NDExNzYgMjUuNi0yNS42IDI1LjZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icHJldmlldyIgdW5pY29kZT0iJiM1OTQ0NDsiIGQ9Ik01MTIgNTcyLjIzNTI5NEMzMzEuMjk0MTE4IDU3Mi4yMzUyOTQgMjEwLjgyMzUyOSAzODQgMjEwLjgyMzUyOSAzODRzMTIwLjQ3MDU4OC0xODguMjM1Mjk0IDMwMS4xNzY0NzEtMTg4LjIzNTI5NFM4MTMuMTc2NDcxIDM4NCA4MTMuMTc2NDcxIDM4NHMtMTIwLjQ3MDU4OCAxODguMjM1Mjk0LTMwMS4xNzY0NzEgMTg4LjIzNTI5NHogbTAtMzExLjcxNzY0N2MtNjYuMjU4ODI0IDAtMTIwLjQ3MDU4OCA1NS43MTc2NDctMTIwLjQ3MDU4OCAxMjQuOTg4MjM1IDAgNjkuMjcwNTg4IDU0LjIxMTc2NSAxMjQuOTg4MjM1IDEyMC40NzA1ODggMTI0Ljk4ODIzNnMxMjAuNDcwNTg4LTU1LjcxNzY0NyAxMjAuNDcwNTg4LTEyNC45ODgyMzZjMC02OS4yNzA1ODgtNTQuMjExNzY1LTEyNC45ODgyMzUtMTIwLjQ3MDU4OC0xMjQuOTg4MjM1ek00NTEuNzY0NzA2IDM4NGMwLTE2LjU2NDcwNiA2LjAyMzUyOS0zMS42MjM1MjkgMTguMDcwNTg4LTQzLjY3MDU4OCAxMC41NDExNzYtMTIuMDQ3MDU5IDI1LjYtMTguMDcwNTg4IDQyLjE2NDcwNi0xOC4wNzA1ODggMTYuNTY0NzA2IDAgMzEuNjIzNTI5IDYuMDIzNTI5IDQyLjE2NDcwNiAxOC4wNzA1ODggMjQuMDk0MTE4IDI0LjA5NDExOCAyNC4wOTQxMTggNjMuMjQ3MDU5IDAgODguODQ3MDU5LTEwLjU0MTE3NiAxMi4wNDcwNTktMjUuNiAxOC4wNzA1ODgtNDIuMTY0NzA2IDE4LjA3MDU4OC0xNi41NjQ3MDYgMC0zMS42MjM1MjktNi4wMjM1MjktNDIuMTY0NzA2LTE4LjA3MDU4OC0xMi4wNDcwNTktMTIuMDQ3MDU5LTE4LjA3MDU4OC0yOC42MTE3NjUtMTguMDcwNTg4LTQ1LjE3NjQ3MXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InF1ZXJ5LWZvcm0iIHVuaWNvZGU9IiYjNTk0NDU7IiBkPSJNNjgzLjY3MDU4OCA1ODIuNzc2NDcxaC0zNDYuMzUyOTQxYy0xMy41NTI5NDEgMC0yNC4wOTQxMTgtMTAuNTQxMTc2LTI0LjA5NDExOC0yNC4wOTQxMTggMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjQuMDk0MTE4aDM0Ni4zNTI5NDFjMTMuNTUyOTQxIDAgMjQuMDk0MTE4IDEwLjU0MTE3NiAyNC4wOTQxMTggMjQuMDk0MTE4IDAgMTIuMDQ3MDU5LTEwLjU0MTE3NiAyNC4wOTQxMTgtMjQuMDk0MTE4IDI0LjA5NDExOHogbS0yNDUuNDU4ODIzLTk5LjM4ODIzNmgtMTAwLjg5NDExOGMtMTMuNTUyOTQxIDAtMjQuMDk0MTE4LTEwLjU0MTE3Ni0yNC4wOTQxMTgtMjQuMDk0MTE3czEwLjU0MTE3Ni0yNC4wOTQxMTggMjQuMDk0MTE4LTI0LjA5NDExOGgxMDAuODk0MTE4YzEzLjU1Mjk0MSAwIDI0LjA5NDExOCAxMC41NDExNzYgMjQuMDk0MTE3IDI0LjA5NDExOCAwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjQuMDk0MTE4LTI0LjA5NDExNyAyNC4wOTQxMTd6IG0tMTAwLjg5NDExOC0xNDcuNTc2NDdoNDkuNjk0MTE4YzEzLjU1Mjk0MSAwIDI0LjA5NDExOCAxMC41NDExNzYgMjQuMDk0MTE3IDI0LjA5NDExNyAwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjQuMDk0MTE4LTI0LjA5NDExNyAyNC4wOTQxMThoLTQ5LjY5NDExOGMtMTMuNTUyOTQxIDAtMjQuMDk0MTE4LTEwLjU0MTE3Ni0yNC4wOTQxMTgtMjQuMDk0MTE4IDAtMTMuNTUyOTQxIDEwLjU0MTE3Ni0yNC4wOTQxMTggMjQuMDk0MTE4LTI0LjA5NDExN3ogbTAgME0yNjAuNTE3NjQ3IDE1My42VjYxNC40YzAgMTAuNTQxMTc2IDcuNTI5NDEyIDE4LjA3MDU4OCAxOC4wNzA1ODggMTguMDcwNTg4aDQ2My44MTE3NjVjMTAuNTQxMTc2IDAgMTguMDcwNTg4LTcuNTI5NDEyIDE4LjA3MDU4OC0xOC4wNzA1ODh2LTMwNC4xODgyMzVoNDkuNjk0MTE4VjYxNC40YzAgMzcuNjQ3MDU5LTMwLjExNzY0NyA2Ny43NjQ3MDYtNjcuNzY0NzA2IDY3Ljc2NDcwNkgyNzguNTg4MjM1Yy0zNy42NDcwNTkgMC02Ny43NjQ3MDYtMzAuMTE3NjQ3LTY3Ljc2NDcwNi02Ny43NjQ3MDZ2LTQ2MC44YzAtMzcuNjQ3MDU5IDMwLjExNzY0Ny02Ny43NjQ3MDYgNjcuNzY0NzA2LTY3Ljc2NDcwNmgzMDIuNjgyMzUzdjQ5LjY5NDExOEgyNzguNTg4MjM1Yy0xMC41NDExNzYgMC0xOC4wNzA1ODggNy41Mjk0MTItMTguMDcwNTg4IDE4LjA3MDU4OHogbTAgME04MDUuNjQ3MDU5IDEyOGwtMS41MDU4ODMgMS41MDU4ODItMTE0LjQ0NzA1OCAxMTQuNDQ3MDU5YzEzLjU1Mjk0MSAxOS41NzY0NzEgMjEuMDgyMzUzIDQzLjY3MDU4OCAyMS4wODIzNTMgNjcuNzY0NzA2IDAgNjkuMjcwNTg4LTU1LjcxNzY0NyAxMjMuNDgyMzUzLTEyMy40ODIzNTMgMTIzLjQ4MjM1My02OS4yNzA1ODggMC0xMjMuNDgyMzUzLTU1LjcxNzY0Ny0xMjMuNDgyMzUzLTEyMy40ODIzNTMgMC02OS4yNzA1ODggNTUuNzE3NjQ3LTEyMy40ODIzNTMgMTIzLjQ4MjM1My0xMjMuNDgyMzUzIDI1LjYgMCA0OS42OTQxMTggNy41Mjk0MTIgNjkuMjcwNTg4IDIxLjA4MjM1M2wxMTQuNDQ3MDU5LTExNC40NDcwNTkgMS41MDU4ODItMS41MDU4ODJjOS4wMzUyOTQtOS4wMzUyOTQgMjQuMDk0MTE4LTkuMDM1Mjk0IDMzLjEyOTQxMiAwIDEwLjU0MTE3NiA5LjAzNTI5NCAxMC41NDExNzYgMjQuMDk0MTE4IDAgMzQuNjM1Mjk0eiBtLTIxOS44NTg4MjQgMTA4LjQyMzUyOWMtNDAuNjU4ODI0IDAtNzMuNzg4MjM1IDMzLjEyOTQxMi03My43ODgyMzUgNzMuNzg4MjM2czMzLjEyOTQxMiA3My43ODgyMzUgNzMuNzg4MjM1IDczLjc4ODIzNSA3My43ODgyMzUtMzMuMTI5NDEyIDczLjc4ODIzNi03My43ODgyMzVjMS41MDU4ODItNDAuNjU4ODI0LTMxLjYyMzUyOS03My43ODgyMzUtNzMuNzg4MjM2LTczLjc4ODIzNnogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InJlc3RvcmUiIHVuaWNvZGU9IiYjNTk0NDY7IiBkPSJNODEzLjE3NjQ3MSA1MTYuNTE3NjQ3TDU3Mi4yMzUyOTQgMjc0LjA3MDU4OHYxNDYuMDcwNTg4Yy03Mi4yODIzNTMgMC0yNTkuMDExNzY1LTEuNTA1ODgyLTI1OS4wMTE3NjUtMjAxLjc4ODIzNSAwLTEwMy45MDU4ODIgNzAuNzc2NDcxLTE5MS4yNDcwNTkgMTY1LjY0NzA1OS0yMTIuMzI5NDEyQzMyOC4yODIzNTMgMzAuMTE3NjQ3IDIxMC44MjM1MjkgMTY0LjE0MTE3NiAyMTAuODIzNTI5IDMyOC4yODIzNTNjMCAzMDUuNjk0MTE4IDMxMS43MTc2NDcgMzA3LjIgMzYxLjQxMTc2NSAzMDcuMlY3NjAuNDcwNTg4bDI0MC45NDExNzctMjQzLjk1Mjk0MXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW40IiB1bmljb2RlPSImIzU5NDQ3OyIgZD0iTTgxOS4yIDg3LjA0TDUyMi4yNCAzODQgODE5LjIgNjgwLjk2YTI1LjYgMjUuNiAwIDAgMSAwIDM1Ljg0IDI5LjAxMzMzMyAyOS4wMTMzMzMgMCAwIDEtMzcuNTQ2NjY3IDEuNzA2NjY3TDQ4Ni40IDQyMS41NDY2NjcgMTg5LjQ0IDcxOC41MDY2NjdhMjcuMzA2NjY3IDI3LjMwNjY2NyAwIDAgMS0zNy41NDY2NjctMzcuNTQ2NjY3TDQ0OC44NTMzMzMgMzg0IDE1MS44OTMzMzMgODcuMDRhMjUuNiAyNS42IDAgMCAxLTUuMTItMjkuMDEzMzMzIDI3LjMwNjY2NyAyNy4zMDY2NjcgMCAwIDEgMjMuODkzMzM0LTE1LjM2IDM1Ljg0IDM1Ljg0IDAgMCAxIDE4Ljc3MzMzMyA2LjgyNjY2NmwyOTYuOTYgMjk2Ljk2IDI5NS4yNTMzMzMtMjk2Ljk2YTM1Ljg0IDM1Ljg0IDAgMCAxIDE4Ljc3MzMzNC02LjgyNjY2NiAyNy4zMDY2NjcgMjcuMzA2NjY3IDAgMCAxIDIzLjg5MzMzMyAxNS4zNiAyNS42IDI1LjYgMCAwIDEtNS4xMiAyOS4wMTMzMzN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5kbyIgdW5pY29kZT0iJiM1OTQ0ODsiIGQ9Ik0yMTAuODIzNTI5IDUxNS4wMTE3NjVsMjQwLjk0MTE3Ny0yMzcuOTI5NDEydjE0NC41NjQ3MDZjNzIuMjgyMzUzIDAgMjU5LjAxMTc2NS0xLjUwNTg4MiAyNTkuMDExNzY1LTE5OC43NzY0NzEgMC0xMDIuNC03MC43NzY0NzEtMTg4LjIzNTI5NC0xNjUuNjQ3MDU5LTIwOS4zMTc2NDcgMTUwLjU4ODIzNSAyMS4wODIzNTMgMjY4LjA0NzA1OSAxNTMuNiAyNjguMDQ3MDU5IDMxNi4yMzUyOTQgMCAzMDEuMTc2NDcxLTMxMS43MTc2NDcgMzAyLjY4MjM1My0zNjEuNDExNzY1IDMwMi42ODIzNTNWNzU0LjQ0NzA1OUwyMTAuODIzNTI5IDUxNS4wMTE3NjV6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuNSIgdW5pY29kZT0iJiM1OTQ0OTsiIGQ9Ik04OTYgMTgyLjYxMzMzM2wtNjkuOTczMzMzIDEzNC44MjY2NjdoLTEuNzA2NjY3bC0zLjQxMzMzMyA1LjEyaC0yMy44OTMzMzRsLTEzNi41MzMzMzMtNTEuMmEyMy44OTMzMzMgMjMuODkzMzMzIDAgMCAxLTEzLjY1MzMzMy0zMC43MiAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAxIDMwLjcyLTE1LjM2bDg4Ljc0NjY2NiAzNC4xMzMzMzNhMjc5Ljg5MzMzMyAyNzkuODkzMzMzIDAgMCAwLTI1OS40MTMzMzMtMTY3LjI1MzMzMyAyODMuMzA2NjY3IDI4My4zMDY2NjcgMCAwIDAtMjc0Ljc3MzMzMyAyMTguNDUzMzMzIDI1LjYgMjUuNiAwIDAgMS0yOS4wMTMzMzQgMTcuMDY2NjY3IDIzLjg5MzMzMyAyMy44OTMzMzMgMCAwIDEtMTcuMDY2NjY2LTI5LjAxMzMzMyAzMzIuOCAzMzIuOCAwIDAgMSAzMjAuODUzMzMzLTI1NiAzMjcuNjggMzI3LjY4IDAgMCAxIDMwMi4wOCAyMDEuMzg2NjY2bDQ0LjM3MzMzMy04My42MjY2NjZhMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMSAyMi4xODY2NjctMTMuNjUzMzM0aDEwLjI0YTI1LjYgMjUuNiAwIDAgMSAxMC4yNCAzNC4xMzMzMzR6TTE5MS4xNDY2NjcgNDY1LjkyaDEuNzA2NjY2YzAtMy40MTMzMzMgMS43MDY2NjctNS4xMiAzLjQxMzMzNC01LjEyYTEuNzA2NjY3IDEuNzA2NjY3IDAgMCAxIDEuNzA2NjY2LTEuNzA2NjY3bDYuODI2NjY3LTUuMTJoMTMuNjUzMzMzbDEzOC4yNCAzOS4yNTMzMzRhMjMuODkzMzMzIDIzLjg5MzMzMyAwIDEgMS0xMS45NDY2NjYgNDYuMDhsLTkyLjE2LTI1LjZhMjgxLjYgMjgxLjYgMCAwIDAgNTI1LjY1MzMzMy00Mi42NjY2NjcgMjAuNDggMjAuNDggMCAwIDEgMjkuMDEzMzMzLTE1LjM2IDIzLjg5MzMzMyAyMy44OTMzMzMgMCAwIDEgMTcuMDY2NjY3IDI5LjAxMzMzMyAzMjkuMzg2NjY3IDMyOS4zODY2NjcgMCAwIDEtNjE0LjQgNTQuNjEzMzM0TDE3MC42NjY2NjcgNjIyLjkzMzMzM2EyMy44OTMzMzMgMjMuODkzMzMzIDAgMCAxLTMyLjQyNjY2NyAxMC4yNCAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAxLTEwLjI0LTMyLjQyNjY2Nmw2My4xNDY2NjctMTMzLjEyeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjkiIHVuaWNvZGU9IiYjNTk0NTA7IiBkPSJNMTc1Ljc4NjY2NyAzNTMuMjh2NjguMjY2NjY3YzAgMy40MTMzMzMgMS43MDY2NjcgNi44MjY2NjcgMS43MDY2NjYgMTEuOTQ2NjY2IDIzLjg5MzMzMyAxMzguMjQgMTAwLjY5MzMzMyAyMzIuMTA2NjY3IDIzNS41MiAyNzguMTg2NjY3bDY4LjI2NjY2NyAxNy4wNjY2NjdoNjguMjY2NjY3bDEzLjY1MzMzMy0zLjQxMzMzNGMyNy4zMDY2NjctOC41MzMzMzMgNTguMDI2NjY3LTEzLjY1MzMzMyA4My42MjY2NjctMjMuODkzMzMzYTMzOS42MjY2NjcgMzM5LjYyNjY2NyAwIDEgMC00NjIuNTA2NjY3LTM5NC4yNCA0MzYuOTA2NjY3IDQzNi45MDY2NjcgMCAwIDAtOC41MzMzMzMgNDYuMDh6IG02MzYuNTg2NjY2IDM0LjEzMzMzM2EyOTguNjY2NjY3IDI5OC42NjY2NjcgMCAwIDEtMjk2Ljk2IDI5Ni45NiAyOTguNjY2NjY3IDI5OC42NjY2NjcgMCAwIDEtMjk1LjI1MzMzMy0yOTUuMjUzMzMzIDI5OC42NjY2NjcgMjk4LjY2NjY2NyAwIDAgMSAyOTYuOTYtMjk2Ljk2IDI5OC42NjY2NjcgMjk4LjY2NjY2NyAwIDAgMSAyOTUuMjUzMzMzIDI5NS4yNTMzMzN6IG0wIDBNNDUwLjU2IDMwMi4wOGM1OC4wMjY2NjcgNTkuNzMzMzMzIDExNi4wNTMzMzMgMTE5LjQ2NjY2NyAxNzUuNzg2NjY3IDE3Ny40OTMzMzNsMzcuNTQ2NjY2IDM3LjU0NjY2N2MxMC4yNCAxMC4yNCAyMC40OCAxMS45NDY2NjcgMzAuNzIgMS43MDY2NjdhMTguNzczMzMzIDE4Ljc3MzMzMyAwIDAgMCAwLTMyLjQyNjY2N0w0NjcuNjI2NjY3IDI1OS40MTMzMzNhMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMC0zOS4yNTMzMzQgMGwtOTguOTg2NjY2IDk3LjI4YTIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDAgMCAzNC4xMzMzMzQgMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMCAzMi40MjY2NjYtMy40MTMzMzRsODguNzQ2NjY3LTg1LjMzMzMzM3ogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW4xNiIgdW5pY29kZT0iJiM1OTQ1MTsiIGQ9Ik04MzIuODUzMzMzIDYxNC40aC0xMDAuNjkzMzMzdjc1LjA5MzMzM2EzMC43MiAzMC43MiAwIDAgMS0zMC43MiAzMi40MjY2NjdIMzQ0Ljc0NjY2N2EzMC43MiAzMC43MiAwIDAgMS0zMC43Mi0zMi40MjY2Njd2LTc1LjA5MzMzM2gtMTAwLjY5MzMzNGEzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAxLTMyLjQyNjY2Ni0zMi40MjY2Njd2LTI1Mi41ODY2NjZhMzAuNzIgMzAuNzIgMCAwIDEgMzIuNDI2NjY2LTMyLjQyNjY2N2gxMDAuNjkzMzM0di0yMTguNDUzMzMzYTMwLjcyIDMwLjcyIDAgMCAxIDMwLjcyLTMyLjQyNjY2N0g2OTkuNzMzMzMzYTMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDEgMzIuNDI2NjY3IDMyLjQyNjY2N1YyOTYuOTZoMTAwLjY5MzMzM2EzMC43MiAzMC43MiAwIDAgMSAzMC43MiAzMi40MjY2NjdWNTgxLjk3MzMzM2EzMi40MjY2NjcgMzIuNDI2NjY3IDAgMCAxLTMwLjcyIDMyLjQyNjY2N3ogbS00ODYuNCA3My4zODY2NjdoMzUxLjU3MzMzNHYtNzEuNjhIMzQ2LjQ1MzMzM3ogbTM1MS41NzMzMzQtNjA5LjI4SDM0Ni40NTMzMzNWMzkwLjgyNjY2N2gzNTEuNTczMzM0di0zMTIuMzJ6IG0xMzMuMTIgMjUwLjg4aC05OC45ODY2Njd2NjMuMTQ2NjY2YTMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDEtMzIuNDI2NjY3IDMwLjcySDM0NC43NDY2NjdhMzAuNzIgMzAuNzIgMCAwIDEtMzAuNzItMzAuNzJ2LTYzLjE0NjY2NmgtOTguOTg2NjY3VjU4MC4yNjY2NjdoNjE2LjEwNjY2N3ogbTAgME00MDYuMTg2NjY3IDIwNi41MDY2Njd2LTM5LjI1MzMzNGgtMjMuODkzMzM0djEwOS4yMjY2NjdoNDkuNDkzMzM0YTMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDAgMjUuNi0xMC4yNCAzNS44NCAzNS44NCAwIDAgMCA4LjUzMzMzMy0yNS42IDMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDAtNi44MjY2NjctMjAuNDggMzAuNzIgMzAuNzIgMCAwIDAtMjcuMzA2NjY2LTEzLjY1MzMzM3ogbTAgMTguNzczMzMzSDQyNi42NjY2NjdhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMSAxNS4zNiA2LjgyNjY2NyA1OS43MzMzMzMgNTkuNzMzMzMzIDAgMCAxIDEuNzA2NjY2IDEwLjI0IDE1LjM2IDE1LjM2IDAgMCAxLTUuMTIgMTEuOTQ2NjY2bC0xNS4zNiAzLjQxMzMzNGgtMTcuMDY2NjY2ek00ODQuNjkzMzMzIDE2Ny4yNTMzMzN2MTA5LjIyNjY2N2g0Ny43ODY2NjdhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAzNS44NC0xOC43NzMzMzMgNjYuNTYgNjYuNTYgMCAwIDAgOC41MzMzMzMtMzQuMTMzMzM0IDYzLjE0NjY2NyA2My4xNDY2NjcgMCAwIDAtMTAuMjQtMzUuODQgMzUuODQgMzUuODQgMCAwIDAtMzUuODQtMjAuNDh6IG0yMi4xODY2NjcgOTAuNDUzMzM0di03MS42OEg1MjkuMDY2NjY3YTIwLjQ4IDIwLjQ4IDAgMCAxIDE4Ljc3MzMzMyAxMS45NDY2NjYgNDkuNDkzMzMzIDQ5LjQ5MzMzMyAwIDAgMSA1LjEyIDIzLjg5MzMzNCA0Ny43ODY2NjcgNDcuNzg2NjY3IDAgMCAxLTguNTMzMzMzIDMwLjcyIDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDEtMTcuMDY2NjY3IDUuMTJ6TTYxNi4xMDY2NjcgMjEzLjMzMzMzM3YtNDYuMDhoLTIyLjE4NjY2N3YxMDkuMjI2NjY3aDc2Ljh2LTIwLjQ4aC01NC42MTMzMzN2LTIzLjg5MzMzM2g0Ny43ODY2NjZWMjEzLjMzMzMzM3pNNTMyLjQ4IDUzNC4xODY2NjdtMTcuMDY2NjY3IDBsMjIwLjE2IDBxMTcuMDY2NjY3IDAgMTcuMDY2NjY2LTE3LjA2NjY2N2wwLTAuMzQxMzMzcTAtMTcuMDY2NjY3LTE3LjA2NjY2Ni0xNy4wNjY2NjdsLTIyMC4xNiAwcS0xNy4wNjY2NjcgMC0xNy4wNjY2NjcgMTcuMDY2NjY3bDAgMC4zNDEzMzNxMCAxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2N1oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmRlcmxpbmUiIHVuaWNvZGU9IiYjNTk0NTI7IiBkPSJNMzExLjcxNzY0NyA2NTkuNTc2NDcxSDI3MS4wNTg4MjRjLTQuNTE3NjQ3IDAtMTAuNTQxMTc2IDQuNTE3NjQ3LTEwLjU0MTE3NyAxNS4wNTg4MjMgMCA0LjUxNzY0NyA0LjUxNzY0NyAxMC41NDExNzYgMTUuMDU4ODI0IDEwLjU0MTE3N0g0NTEuNzY0NzA2YzQuNTE3NjQ3IDAgMTAuNTQxMTc2LTQuNTE3NjQ3IDEwLjU0MTE3Ni0xMC41NDExNzcgMC00LjUxNzY0Ny00LjUxNzY0Ny0xMC41NDExNzYtMTUuMDU4ODIzLTEwLjU0MTE3Nkg0MzYuNzA1ODgyYy0xNS4wNTg4MjQtNC41MTc2NDctMjUuNi0xNS4wNTg4MjQtMjUuNi0zMC4xMTc2NDd2LTI3NS41NzY0NzFjMC04NS44MzUyOTQgNDUuMTc2NDcxLTEyNC45ODgyMzUgMTAwLjg5NDExOC0xMjQuOTg4MjM1IDc5LjgxMTc2NSAwIDEyNC45ODgyMzUgNDkuNjk0MTE4IDEyNC45ODgyMzUgMTI0Ljk4ODIzNVY2MzMuOTc2NDcxYzAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNmgtMzQuNjM1Mjk0Yy00LjUxNzY0NyAwLTEwLjU0MTE3NiA0LjUxNzY0Ny0xMC41NDExNzYgMTAuNTQxMTc2LTQuNTE3NjQ3IDEwLjU0MTE3NiAwIDE1LjA1ODgyNCA0LjUxNzY0NyAxNS4wNTg4MjRoMTc0LjY4MjM1M2MxMC41NDExNzYgMCAxNS4wNTg4MjQtNC41MTc2NDcgMTUuMDU4ODIzLTEwLjU0MTE3NyAwLTQuNTE3NjQ3LTQuNTE3NjQ3LTEwLjU0MTE3Ni0xNS4wNTg4MjMtMTAuNTQxMTc2aC0zNC42MzUyOTRjLTE1LjA1ODgyNCAwLTI1LjYtMTAuNTQxMTc2LTI1LjYtMjUuNnYtMjc1LjU3NjQ3MUM2ODYuNjgyMzUzIDI2My41Mjk0MTIgNjI3Ljk1Mjk0MSAxODguMjM1Mjk0IDUxMiAxODguMjM1Mjk0Yy05MC4zNTI5NDEgMC0xNzQuNjgyMzUzIDY0Ljc1Mjk0MS0xNzQuNjgyMzUzIDE3NC42ODIzNTN2MjcxLjA1ODgyNGMwIDE1LjA1ODgyNC0xMC41NDExNzYgMjUuNi0yNS42IDI1LjZ6IG0tNDkuNjk0MTE4LTUyNS41NTI5NDJoNTAxLjQ1ODgyNHYtNDkuNjk0MTE3SDI2Mi4wMjM1Mjl2NDkuNjk0MTE3eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjgiIHVuaWNvZGU9IiYjNTk0NTM7IiBkPSJNNzg4LjQ4IDYyMS4yMjY2NjdsLTEzLjY1MzMzMyAxMS45NDY2NjYtNDQuMzczMzM0IDQyLjY2NjY2N2gtMy40MTMzMzNsLTQ3Ljc4NjY2NyA0Mi42NjY2NjctMTcuMDY2NjY2IDEzLjY1MzMzMy02LjgyNjY2NyAzLjQxMzMzM2gtOC41MzMzMzNhMTUuMzYgMTUuMzYgMCAwIDEtMTcuMDY2NjY3LTE3LjA2NjY2NnYtMTUzLjZoMTUzLjZsLTE3LjA2NjY2NyAxNy4wNjY2NjZ2LTUxMmwxNy4wNjY2NjcgMTcuMDY2NjY3aC00NDMuNzMzMzMzYTUxLjIgNTEuMiAwIDAgMC01MS4yIDUxLjJ2NTgwLjI2NjY2N2wtMTcuMDY2NjY3LTE3LjA2NjY2N2gzMDcuMmExOC43NzMzMzMgMTguNzczMzMzIDAgMCAxIDE3LjA2NjY2NyAxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMS0xNy4wNjY2NjcgMTcuMDY2NjY2aC0zMjQuMjY2NjY3di01OTcuMzMzMzMzYTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEgODUuMzMzMzM0LTg1LjMzMzMzM2g0NjAuOHY1NDYuMTMzMzMzaC0xNTMuNmwxNy4wNjY2NjYtMTcuMDY2NjY3djEzNi41MzMzMzRhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMC0xNy4wNjY2NjYtMTcuMDY2NjY3aC01LjEyYy0xLjcwNjY2NyAwIDAgMCAwLTEuNzA2NjY3bDE1LjM2LTEwLjI0IDQ2LjA4LTQwLjk2IDMuNDEzMzMzLTMuNDEzMzMzIDQ0LjM3MzMzMy0zNS44NCAxNS4zNi0xMy42NTMzMzNxMS43MDY2NjctNS4xMiA1LjEyLTUuMTJhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDEgMSAyMy44OTMzMzQgMjMuODkzMzMzbC02LjgyNjY2NyA2LjgyNjY2N3pNMjU0LjI5MzMzMyA0MzEuNzg2NjY3aC02OC4yNjY2NjZ2LTI5MC4xMzMzMzRoNjgyLjY2NjY2NnYyOTAuMTMzMzM0aC02MTQuNHogbTY5Ljk3MzMzNC0xNjUuNTQ2NjY3di03My4zODY2NjdoLTM0LjEzMzMzNFYzODcuNDEzMzMzaDc1LjA5MzMzNGE2OC4yNjY2NjcgNjguMjY2NjY3IDAgMCAwIDUxLjItMTcuMDY2NjY2IDUxLjIgNTEuMiAwIDAgMCAxOC43NzMzMzMtNDQuMzczMzM0IDUxLjIgNTEuMiAwIDAgMC0xOC43NzMzMzMtNDQuMzczMzMzIDc2LjggNzYuOCAwIDAgMC01MS4yLTE1LjM2eiBtMCAyNS42aDQwLjk2YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEgMjcuMzA2NjY2IDguNTMzMzMzIDM3LjU0NjY2NyAzNy41NDY2NjcgMCAwIDEgMCA1MS4yIDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEtMjUuNiA4LjUzMzMzNEgzMjQuMjY2NjY3eiBtMTQxLjY1MzMzMy05OC45ODY2NjdWMzg3LjQxMzMzM2g1Ni4zMmE4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDQ2LjA4LTExLjk0NjY2NiA2My4xNDY2NjcgNjMuMTQ2NjY3IDAgMCAwIDMwLjcyLTMyLjQyNjY2NyAxMDQuMTA2NjY3IDEwNC4xMDY2NjcgMCAwIDAgMTEuOTQ2NjY3LTQ3Ljc4NjY2N3YtMTAuMjRhMTA5LjIyNjY2NyAxMDkuMjI2NjY3IDAgMCAwLTExLjk0NjY2Ny00Ny43ODY2NjYgNjkuOTczMzMzIDY5Ljk3MzMzMyAwIDAgMC0zMC43Mi0zMi40MjY2NjcgMTA0LjEwNjY2NyAxMDQuMTA2NjY3IDAgMCAwLTQ3Ljc4NjY2Ny0xMS45NDY2Njd6IG0zMi40MjY2NjcgMTY3LjI1MzMzNHYtMTM5Ljk0NjY2N2gyMi4xODY2NjZhNDYuMDggNDYuMDggMCAwIDEgNDAuOTYgMTcuMDY2NjY3IDY2LjU2IDY2LjU2IDAgMCAxIDE1LjM2IDQ3Ljc4NjY2NnYxMC4yNGE3NS4wOTMzMzMgNzUuMDkzMzMzIDAgMCAxLTEzLjY1MzMzMyA0Ny43ODY2NjcgNDcuNzg2NjY3IDQ3Ljc4NjY2NyAwIDAgMS00MC45NiAxNy4wNjY2Njd6IG0yNTcuNzA2NjY2LTgzLjYyNjY2N2gtNzguNTA2NjY2di04My42MjY2NjdoLTM0LjEzMzMzNFYzODcuNDEzMzMzSDc2OHYtMjcuMzA2NjY2aC05MC40NTMzMzN2LTU4LjAyNjY2N2g3OC41MDY2NjZ6IG0wIDBNMzEyLjMyIDU2My4yaDEwMi40djEwLjI0aDExLjk0NjY2N3YtMTAuMjRoMzAuNzJ2LTEwLjI0SDQyNi42NjY2Njd2LTI1LjZhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMC0xOC43NzMzMzQtMTguNzczMzMzaC0yMy44OTMzMzNjMCA1LjEyLTEuNzA2NjY3IDguNTMzMzMzLTEuNzA2NjY3IDEzLjY1MzMzM2gyMi4xODY2NjdjNi44MjY2NjcgMCAxMC4yNCAxLjcwNjY2NyAxMC4yNCA4LjUzMzMzM3YyMi4xODY2NjdoLTEwMi40eiBtMzkuMjUzMzMzIDI1LjZINDI2LjY2NjY2N2M4LjUzMzMzMyAwIDEzLjY1MzMzMyAzLjQxMzMzMyAxMy42NTMzMzMgOC41MzMzMzNhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAzLjQxMzMzMyAxNy4wNjY2NjdsMTEuOTQ2NjY3LTUuMTJhNzUuMDkzMzMzIDc1LjA5MzMzMyAwIDAgMS0zLjQxMzMzMy0xNy4wNjY2NjcgMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMC0yMi4xODY2NjctMTMuNjUzMzMzaC04MC4yMTMzMzNjLTEzLjY1MzMzMyAwLTIwLjQ4IDYuODI2NjY3LTIwLjQ4IDE4Ljc3MzMzM3Y1MS4yaDEwNC4xMDY2NjZ2LTQ2LjA4aC0xMC4yNHY1LjEySDM0MS4zMzMzMzN2LTguNTMzMzMzYTguNTMzMzMzIDguNTMzMzMzIDAgMCAxIDEwLjI0LTEwLjI0eiBtLTExLjk0NjY2Ni00NC4zNzMzMzNsOC41MzMzMzMgNi44MjY2NjYgMjMuODkzMzMzLTIwLjQ4LTguNTMzMzMzLTguNTMzMzMzeiBtMS43MDY2NjYgOTMuODY2NjY2di0xOC43NzMzMzNoODEuOTJ2MTguNzczMzMzek01NzYuODUzMzMzIDU4MC4yNjY2Njd2NS4xMmgtMzcuNTQ2NjY2di01OS43MzMzMzRoNDIuNjY2NjY2djQ0LjM3MzMzNGgxMS45NDY2Njd2LTYxLjQ0aC0xMS45NDY2Njd2NS4xMmgtMTA5LjIyNjY2NnY1Ni4zMmgxMS45NDY2NjZ2LTQ0LjM3MzMzNGg0Mi42NjY2Njd2NTkuNzMzMzM0aC01MS4yVjY0MGgxMy42NTMzMzN2LTQyLjY2NjY2N2gzNy41NDY2Njd2NTYuMzJoMTEuOTQ2NjY3di01Ni4zMmgzNy41NDY2NjZWNjQwaDEzLjY1MzMzNHYtNTkuNzMzMzMzek0yMTYuNzQ2NjY3IDM5Ny42NTMzMzNoNTgzLjY4di0yNDYuMTAxMzMzSDIxNi43NDY2Njd6TTM4OS4xMiAzNzMuNzZ2LTI1LjZoLTc2Ljh2LTMwLjcyaDY5Ljk3MzMzM3YtMjUuNmgtNjkuOTczMzMzdi0zNy41NDY2NjdIMzkyLjUzMzMzM3YtMjcuMzA2NjY2aC0xMTAuOTMzMzMzdjE0Ni43NzMzMzN6TTQ3Ni4xNiAyODMuMzA2NjY3bDM1Ljg0LTU2LjMyaC0zNC4xMzMzMzNsLTE4Ljc3MzMzNCAzNC4xMzMzMzMtMTguNzczMzMzLTM0LjEzMzMzM2gtMzQuMTMzMzMzbDM1Ljg0IDU2LjMyLTM1Ljg0IDUyLjkwNjY2NmgzNS44NGwxNy4wNjY2NjYtMzIuNDI2NjY2IDE4Ljc3MzMzNCAzMi40MjY2NjZoMzQuMTMzMzMzek01OTMuOTIgMjY3Ljk0NjY2N2gyOS4wMTMzMzNhNTguMDI2NjY3IDU4LjAyNjY2NyAwIDAgMC0xMC4yNC0yNS42IDQ3Ljc4NjY2NyA0Ny43ODY2NjcgMCAwIDAtMzkuMjUzMzMzLTE3LjA2NjY2NyA0NC4zNzMzMzMgNDQuMzczMzMzIDAgMCAwLTQwLjk2IDE4Ljc3MzMzMyA1NC42MTMzMzMgNTQuNjEzMzMzIDAgMCAwLTEwLjI0IDM0LjEzMzMzNCA4MC4yMTMzMzMgODAuMjEzMzMzIDAgMCAwIDExLjk0NjY2NyA0NC4zNzMzMzMgNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMCA0MC45NiAxNy4wNjY2NjcgNTkuNzMzMzMzIDU5LjczMzMzMyAwIDAgMCAzMC43Mi04LjUzMzMzNCAzOS4yNTMzMzMgMzkuMjUzMzMzIDAgMCAwIDE3LjA2NjY2Ni0zNC4xMzMzMzNoLTI5LjAxMzMzM2MtMS43MDY2NjcgNi44MjY2NjctMy40MTMzMzMgMTEuOTQ2NjY3LTYuODI2NjY3IDEzLjY1MzMzM2ExOC43NzMzMzMgMTguNzczMzMzIDAgMCAxLTExLjk0NjY2NiA1LjEyIDIwLjQ4IDIwLjQ4IDAgMCAxLTE4Ljc3MzMzNC0xMS45NDY2NjYgMzUuODQgMzUuODQgMCAwIDEtNS4xMi0yMC40OCA0MC45NiA0MC45NiAwIDAgMSA2LjgyNjY2Ny0yNy4zMDY2NjcgMjAuNDggMjAuNDggMCAwIDEgMzAuNzIgMCAxNS4zNiAxNS4zNiAwIDAgMSA1LjEyIDExLjk0NjY2N3pNNzA2LjU2IDI1OS40MTMzMzNoMjkuMDEzMzMzYTUyLjkwNjY2NyA1Mi45MDY2NjcgMCAwIDAtMTguNzczMzMzLTI3LjMwNjY2NiA1Ni4zMiA1Ni4zMiAwIDAgMC0yOS4wMTMzMzMtNi44MjY2NjcgNTYuMzIgNTYuMzIgMCAwIDAtMzkuMjUzMzM0IDExLjk0NjY2NyA2NC44NTMzMzMgNjQuODUzMzMzIDAgMCAwLTE1LjM2IDQ3Ljc4NjY2NiA1OS43MzMzMzMgNTkuNzMzMzMzIDAgMCAwIDguNTMzMzM0IDMwLjcyIDQ3Ljc4NjY2NyA0Ny43ODY2NjcgMCAwIDAgNDQuMzczMzMzIDIzLjg5MzMzNCA0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDMyLjQyNjY2Ny0xMS45NDY2NjcgNTkuNzMzMzMzIDU5LjczMzMzMyAwIDAgMCAxOC43NzMzMzMtNDcuNzg2NjY3di01LjEyaC03NS4wOTMzMzNjMS43MDY2NjctMTAuMjQgMy40MTMzMzMtMTcuMDY2NjY3IDguNTMzMzMzLTIwLjQ4YTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEgMTcuMDY2NjY3LTYuODI2NjY2bDExLjk0NjY2NiAzLjQxMzMzM2ExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAxIDYuODI2NjY3IDguNTMzMzMzeiBtLTQyLjY2NjY2NyAzNC4xMzMzMzRoNDQuMzczMzM0YTI3LjMwNjY2NyAyNy4zMDY2NjcgMCAwIDEtOC41MzMzMzQgMTcuMDY2NjY2IDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDEtMTMuNjUzMzMzIDUuMTIgMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMS0yMi4xODY2NjctMjIuMTg2NjY2ek03ODUuMDY2NjY3IDM3My43NnYtMTQ2Ljc3MzMzM2gtMjkuMDEzMzM0djE0Ni43NzMzMzN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjE1IiB1bmljb2RlPSImIzU5NDU0OyIgZD0iTTgyNy43MzMzMzMgNjE5LjUyaC0xMDAuNjkzMzMzdjc2LjhhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMS0zMC43MiAzMi40MjY2NjdIMzQxLjMzMzMzM2EzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAxLTMyLjQyNjY2Ni0zMi40MjY2Njd2LTc2LjhoLTEwMC42OTMzMzRhMzAuNzIgMzAuNzIgMCAwIDEtMzAuNzItMzIuNDI2NjY3di0yNTAuODhhMzAuNzIgMzAuNzIgMCAwIDEgMzAuNzItMzIuNDI2NjY2aDEwMC42OTMzMzR2LTIyMC4xNmEzMC43MiAzMC43MiAwIDAgMSAzMi40MjY2NjYtMzAuNzJoMzU0Ljk4NjY2N2EzMC43MiAzMC43MiAwIDAgMSAzMC43MiAzMC43MlYzMDMuNzg2NjY3aDEwMC42OTMzMzNhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMSAzMi40MjY2NjcgMzIuNDI2NjY2VjU4Ny4wOTMzMzNhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMS0zMi40MjY2NjcgMzIuNDI2NjY3eiBtLTQ4NC42OTMzMzMgNzUuMDkzMzMzaDM1MS41NzMzMzNWNjIyLjkzMzMzM0gzNDMuMDR6IG0zNTEuNTczMzMzLTYwOS4yOEgzNDMuMDRWMzk3LjY1MzMzM2gzNTEuNTczMzMzdi0zMTIuMzJ6IG0xMzEuNDEzMzM0IDI1MC44OGgtOTguOTg2NjY3djYzLjE0NjY2N2EzMC43MiAzMC43MiAwIDAgMS0zMC43MiAzMC43MkgzNDEuMzMzMzMzYTMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDEtMzIuNDI2NjY2LTMwLjcydi02My4xNDY2NjdoLTk4Ljk4NjY2N1Y1ODcuMDkzMzMzaDYxNi4xMDY2Njd6IG0wIDBNNDAxLjA2NjY2NyAyMTMuMzMzMzMzdi0zOS4yNTMzMzNoLTIyLjE4NjY2N1YyODEuNmg0OS40OTMzMzNhMjcuMzA2NjY3IDI3LjMwNjY2NyAwIDAgMCAyMy44OTMzMzQtOC41MzMzMzMgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMCAxMC4yNC0yNS42IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNi44MjY2NjctMjAuNDggMzAuNzIgMzAuNzIgMCAwIDAtMjkuMDEzMzMzLTEzLjY1MzMzNHogbTAgMTguNzczMzM0aDIwLjQ4YzguNTMzMzMzIDAgMTMuNjUzMzMzIDEuNzA2NjY3IDE1LjM2IDYuODI2NjY2czEuNzA2NjY3IDUuMTIgMS43MDY2NjYgMTAuMjRhMTMuNjUzMzMzIDEzLjY1MzMzMyAwIDAgMS0zLjQxMzMzMyAxMC4yNGMtMy40MTMzMzMgMy40MTMzMzMtOC41MzMzMzMgMy40MTMzMzMtMTUuMzYgMy40MTMzMzRoLTE4Ljc3MzMzM3pNNDc5LjU3MzMzMyAxNzQuMDhWMjgxLjZoNDcuNzg2NjY3YTM3LjU0NjY2NyAzNy41NDY2NjcgMCAwIDAgMzUuODQtMTcuMDY2NjY3IDY2LjU2IDY2LjU2IDAgMCAwIDguNTMzMzMzLTM0LjEzMzMzMyA4Ny4wNCA4Ny4wNCAwIDAgMC04LjUzMzMzMy0zNy41NDY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMC0zNS44NC0xOC43NzMzMzN6IG0yMi4xODY2NjcgODguNzQ2NjY3di02OS45NzMzMzRoMjIuMTg2NjY3YTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEgMTguNzczMzMzIDExLjk0NjY2NyA0NC4zNzMzMzMgNDQuMzczMzMzIDAgMCAxIDYuODI2NjY3IDIzLjg5MzMzMyAzNS44NCAzNS44NCAwIDAgMS0xMC4yNCAyOS4wMTMzMzQgMjAuNDggMjAuNDggMCAwIDEtMTUuMzYgNS4xMnpNNjEwLjk4NjY2NyAyMjAuMTZ2LTQ2LjA4aC0yMi4xODY2NjdWMjgxLjZoNzguNTA2NjY3di0xOC43NzMzMzNoLTU2LjMydi0yMy44OTMzMzRoNDkuNDkzMzMzdi0xOC43NzMzMzN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjYiIHVuaWNvZGU9IiYjNTk0NTU7IiBkPSJNNzc0LjgyNjY2NyA2MzEuNDY2NjY3bC0xNS4zNiAxMy42NTMzMzMtNDQuMzczMzM0IDQwLjk2LTMuNDEzMzMzIDMuNDEzMzMzLTQ3Ljc4NjY2NyA0MC45Ni0xNy4wNjY2NjYgMTMuNjUzMzM0LTYuODI2NjY3IDMuNDEzMzMzLTguNTMzMzMzIDMuNDEzMzMzYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEtMTcuMDY2NjY3LTE4Ljc3MzMzM3YtMTUzLjZoMTUzLjZsLTE3LjA2NjY2NyAxNy4wNjY2Njd2LTUxMC4yOTMzMzRsMTcuMDY2NjY3IDE3LjA2NjY2N0gzMjQuMjY2NjY3YTQ5LjQ5MzMzMyA0OS40OTMzMzMgMCAwIDAtNTEuMiA1MS4yVjczMi4xNmwtMTcuMDY2NjY3LTE3LjA2NjY2N2gzMDcuMmExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAxIDE3LjA2NjY2NyAxNy4wNjY2NjcgMTUuMzYgMTUuMzYgMCAwIDEtMTcuMDY2NjY3IDE3LjA2NjY2N0gyMzguOTMzMzMzdi01OTUuNjI2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEgODUuMzMzMzM0LTg1LjMzMzMzM2g0NjAuOFY2MTIuNjkzMzMzaC0xNTMuNmwxNy4wNjY2NjYtMTcuMDY2NjY2djEzNi41MzMzMzNhMTUuMzYgMTUuMzYgMCAwIDAtMTcuMDY2NjY2LTE1LjM2aC0zLjQxMzMzNGE1MS4yIDUxLjIgMCAwIDEgMTMuNjUzMzM0LTExLjk0NjY2N2w0Ni4wOC00MC45NiAzLjQxMzMzMy0zLjQxMzMzMyA0NC4zNzMzMzMtNDAuOTYgMTUuMzYtMTMuNjUzMzMzYzEuNzA2NjY3LTEuNzA2NjY3IDUuMTItMy40MTMzMzMgNS4xMi01LjEyYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEgMjMuODkzMzM0IDI1LjZsLTUuMTIgNS4xMnpNMjM4LjkzMzMzMyA0NDIuMDI2NjY3aC02OC4yNjY2NjZ2LTI4OC40MjY2NjdoNjgyLjY2NjY2NlY0NDIuMDI2NjY3SDIzOC45MzMzMzN6IG02OS45NzMzMzQtMTY1LjU0NjY2N3YtNzEuNjhoLTMyLjQyNjY2N1YzOTcuNjUzMzMzaDczLjM4NjY2N2E2OC4yNjY2NjcgNjguMjY2NjY3IDAgMCAwIDUxLjItMTcuMDY2NjY2IDUyLjkwNjY2NyA1Mi45MDY2NjcgMCAwIDAgMjAuNDgtNDQuMzczMzM0IDU2LjMyIDU2LjMyIDAgMCAwLTE4Ljc3MzMzNC00NC4zNzMzMzMgODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMC01Mi45MDY2NjYtMTUuMzZ6IG0wIDI3LjMwNjY2N2g0MC45NmEzNS44NCAzNS44NCAwIDAgMSAyNy4zMDY2NjYgOC41MzMzMzMgMjkuMDEzMzMzIDI5LjAxMzMzMyAwIDAgMSAxMC4yNCAyMy44OTMzMzMgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMS0xMC4yNCAyNS42IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEtMjUuNiA4LjUzMzMzNGgtNDIuNjY2NjY2eiBtMTQxLjY1MzMzMy05OC45ODY2NjdWMzk3LjY1MzMzM2g1Ni4zMmExMDIuNCAxMDIuNCAwIDAgMCA0Ni4wOC0xMC4yNCA4MC4yMTMzMzMgODAuMjEzMzMzIDAgMCAwIDMwLjcyLTMyLjQyNjY2NiA5Ny4yOCA5Ny4yOCAwIDAgMCAxMS45NDY2NjctNDkuNDkzMzM0di04LjUzMzMzM2E5Mi4xNiA5Mi4xNiAwIDAgMC0xMS45NDY2NjctNDkuNDkzMzMzIDgwLjIxMzMzMyA4MC4yMTMzMzMgMCAwIDAtMzAuNzItMzIuNDI2NjY3IDEwMi40IDEwMi40IDAgMCAwLTQ2LjA4LTEwLjI0eiBtMzQuMTMzMzMzIDE2NS41NDY2NjdWMjMwLjRoMjAuNDhhNTEuMiA1MS4yIDAgMCAxIDQwLjk2IDE3LjA2NjY2NyA2OS45NzMzMzMgNjkuOTczMzMzIDAgMCAxIDE1LjM2IDQ3Ljc4NjY2NnYxMC4yNGE4MS45MiA4MS45MiAwIDAgMS0xMy42NTMzMzMgNDkuNDkzMzM0IDUyLjkwNjY2NyA1Mi45MDY2NjcgMCAwIDEtNDAuOTYgMTUuMzZ6IG0yNTYtODMuNjI2NjY3aC03OC41MDY2NjZ2LTgxLjkyaC0zNC4xMzMzMzRWMzk3LjY1MzMzM2gxMjQuNTg2NjY3di0yNy4zMDY2NjZoLTkwLjQ1MzMzM3YtNTYuMzJoNzguNTA2NjY2eiBtMCAwTTI5OC42NjY2NjcgNTczLjQ0aDEwMC42OTMzMzN2MTEuOTQ2NjY3aDExLjk0NjY2N3YtMTEuOTQ2NjY3aDMwLjcydi0xMC4yNGgtMzAuNzJWNTM3LjZjMC0xMS45NDY2NjctNi44MjY2NjctMTcuMDY2NjY3LTE4Ljc3MzMzNC0xNy4wNjY2NjdoLTIzLjg5MzMzM2MwIDMuNDEzMzMzLTEuNzA2NjY3IDYuODI2NjY3LTEuNzA2NjY3IDExLjk0NjY2N2gyMi4xODY2NjdjNi44MjY2NjcgMCAxMC4yNCAzLjQxMzMzMyAxMC4yNCA4LjUzMzMzM3YyMi4xODY2NjdoLTEwMC42OTMzMzN6IG0zNy41NDY2NjYgMjUuNmg3Ni44YzYuODI2NjY3IDAgMTEuOTQ2NjY3IDMuNDEzMzMzIDExLjk0NjY2NyA4LjUzMzMzM2E0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDMuNDEzMzMzIDE3LjA2NjY2N2wxMS45NDY2NjctNS4xMmE3NS4wOTMzMzMgNzUuMDkzMzMzIDAgMCAxLTMuNDEzMzMzLTE3LjA2NjY2NyAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAwLTIyLjE4NjY2Ny0xMy42NTMzMzNoLTgwLjIxMzMzM2ExOC43NzMzMzMgMTguNzczMzMzIDAgMCAwLTIwLjQ4IDIwLjQ4djUxLjJoMTA0LjEwNjY2NnYtNDYuMDhoLTEwLjI0djUuMTJoLTgxLjkydi0xMC4yNGE4LjUzMzMzMyA4LjUzMzMzMyAwIDAgMSAxMC4yNC0xMC4yNHogbS0xMC4yNC00NC4zNzMzMzNsNi44MjY2NjcgOC41MzMzMzMgMjMuODkzMzMzLTIyLjE4NjY2Ny04LjUzMzMzMy04LjUzMzMzM3ogbTAgOTUuNTczMzMzdi0yMC40OGg4MS45MnYyMC40OHpNNTYxLjQ5MzMzMyA1OTAuNTA2NjY3djUuMTJoLTM3LjU0NjY2NnYtNTkuNzMzMzM0aDQyLjY2NjY2NnY0NC4zNzMzMzRoMTEuOTQ2NjY3di02MS40NGgtMTEuOTQ2NjY3djYuODI2NjY2aC0xMDkuMjI2NjY2djU0LjYxMzMzNGgxMS45NDY2NjZ2LTQ0LjM3MzMzNEg1MTJ2NTkuNzMzMzM0aC01MS4ydjU0LjYxMzMzM2gxMy42NTMzMzN2LTQyLjY2NjY2N0g1MTJ2NTguMDI2NjY3aDExLjk0NjY2N3YtNTguMDI2NjY3aDM3LjU0NjY2NnY0Mi42NjY2NjdoMTMuNjUzMzM0di01OS43MzMzMzN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaXRhbGljIiB1bmljb2RlPSImIzU5NDU2OyIgZD0iTTQ3OC44NzA1ODggNjg1LjE3NjQ3MUg2NjIuNTg4MjM1di0yNS42Yy0yMS4wODIzNTMgMC0zNC42MzUyOTQtMS41MDU4ODItNDAuNjU4ODIzLTQuNTE3NjQ3LTEzLjU1Mjk0MS02LjAyMzUyOS0xOS41NzY0NzEtMTYuNTY0NzA2LTE5LjU3NjQ3MS0zMy4xMjk0MTJsLTExNy40NTg4MjMtNDY1LjMxNzY0N2MwLTE5LjU3NjQ3MSA2LjAyMzUyOS0zMy4xMjk0MTIgMTYuNTY0NzA2LTQwLjY1ODgyNCA3LjUyOTQxMi00LjUxNzY0NyAyMi41ODgyMzUtNy41Mjk0MTIgNDUuMTc2NDctNy41Mjk0MTJWODIuODIzNTI5SDM2MS40MTE3NjV2MjUuNmMyMS4wODIzNTMgMCAzNi4xNDExNzYgMy4wMTE3NjUgNDUuMTc2NDcgNy41Mjk0MTIgMTAuNTQxMTc2IDcuNTI5NDEyIDE2LjU2NDcwNiAyMS4wODIzNTMgMTYuNTY0NzA2IDQwLjY1ODgyNGwxMTcuNDU4ODI0IDQ2NS4zMTc2NDdjMCAxMy41NTI5NDEtMy4wMTE3NjUgMjQuMDk0MTE4LTkuMDM1Mjk0IDMwLjExNzY0Ny02LjAyMzUyOSA2LjAyMzUyOS0yNC4wOTQxMTggNy41Mjk0MTItNTIuNzA1ODgzIDcuNTI5NDEyVjY4NS4xNzY0NzF6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuMTgiIHVuaWNvZGU9IiYjNTk0NTc7IiBkPSJNOTE4LjE4NjY2NyA0MzUuMkg0NjAuOHYxMzguMjRMMjM1LjUyIDM4NCA0NjAuOCAxOTQuNTZWMzMyLjhoNDU3LjM4NjY2N3YxMDIuNHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuMTkiIHVuaWNvZGU9IiYjNTk0NTg7IiBkPSJNNzc0LjgyNjY2NyA3MjUuMzMzMzMzaDgxLjkydi02ODIuNjY2NjY2aC04MS45MnpNNTQyLjcyIDQyNC45NmgtMzc1LjQ2NjY2N3YtODEuOTJoMzc1LjQ2NjY2N3YtMTE0LjM0NjY2N0w3MjcuMDQgMzg0bC0xODQuMzIgMTU1LjMwNjY2N3YtMTE0LjM0NjY2N3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuMjAiIHVuaWNvZGU9IiYjNTk0NTk7IiBkPSJNODUzLjMzMzMzMyAzODRMNjI5Ljc2IDU3My40NFY0MzUuMkgxNzAuNjY2NjY3di0xMDIuNGg0NTkuMDkzMzMzdi0xMzguMjRMODUzLjMzMzMzMyAzODR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjE3IiB1bmljb2RlPSImIzU5NDYxOyIgZD0iTTE2Ny4yNTMzMzMgNzMyLjE2aDgxLjkydi02ODIuNjY2NjY3SDE2Ny4yNTMzMzN6TTg1Ni43NDY2NjcgNDMxLjc4NjY2N2gtMzc1LjQ2NjY2N3YxMTQuMzQ2NjY2bC0xODQuMzItMTU1LjMwNjY2NiAxODQuMzItMTU1LjMwNjY2N1YzNDkuODY2NjY3aDM3NS40NjY2Njd2ODEuOTJ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjciIHVuaWNvZGU9IiYjNTk0NjI7IiBkPSJNNzc0LjgyNjY2NyA2MzEuNDY2NjY3bC0xNS4zNiAxMy42NTMzMzMtNDQuMzczMzM0IDQwLjk2LTMuNDEzMzMzIDMuNDEzMzMzLTQ3Ljc4NjY2NyA0MC45Ni0xNy4wNjY2NjYgMTMuNjUzMzM0LTYuODI2NjY3IDMuNDEzMzMzLTguNTMzMzMzIDMuNDEzMzMzYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEtMTcuMDY2NjY3LTE4Ljc3MzMzM3YtMTUzLjZoMTUzLjZsLTE3LjA2NjY2NyAxNy4wNjY2Njd2LTUxMC4yOTMzMzRsMTcuMDY2NjY3IDE3LjA2NjY2N0gzMjQuMjY2NjY3YTQ5LjQ5MzMzMyA0OS40OTMzMzMgMCAwIDAtNTEuMiA1MS4yVjczMi4xNmwtMTcuMDY2NjY3LTE3LjA2NjY2N2gzMDcuMmExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAxIDE3LjA2NjY2NyAxNy4wNjY2NjcgMTUuMzYgMTUuMzYgMCAwIDEtMTcuMDY2NjY3IDE3LjA2NjY2N0gyMzguOTMzMzMzdi01OTUuNjI2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEgODUuMzMzMzM0LTg1LjMzMzMzM2g0NjAuOFY2MTIuNjkzMzMzaC0xNTMuNmwxNy4wNjY2NjYtMTcuMDY2NjY2djEzNi41MzMzMzNhMTUuMzYgMTUuMzYgMCAwIDAtMTcuMDY2NjY2LTE1LjM2aC0zLjQxMzMzNGE1MS4yIDUxLjIgMCAwIDEgMTMuNjUzMzM0LTExLjk0NjY2N2w0Ni4wOC00MC45NiAzLjQxMzMzMy0zLjQxMzMzMyA0NC4zNzMzMzMtNDAuOTYgMTUuMzYtMTMuNjUzMzMzYzEuNzA2NjY3LTEuNzA2NjY3IDUuMTItMy40MTMzMzMgNS4xMi01LjEyYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEgMjMuODkzMzM0IDI1LjZsLTUuMTIgNS4xMnpNMjM4LjkzMzMzMyA0NDIuMDI2NjY3aC02OC4yNjY2NjZ2LTI4OC40MjY2NjdoNjgyLjY2NjY2NlY0NDIuMDI2NjY3SDIzOC45MzMzMzN6IG02OS45NzMzMzQtMTY1LjU0NjY2N3YtNzEuNjhoLTMyLjQyNjY2N1YzOTcuNjUzMzMzaDczLjM4NjY2N2E2OC4yNjY2NjcgNjguMjY2NjY3IDAgMCAwIDUxLjItMTcuMDY2NjY2IDUyLjkwNjY2NyA1Mi45MDY2NjcgMCAwIDAgMjAuNDgtNDQuMzczMzM0IDU2LjMyIDU2LjMyIDAgMCAwLTE4Ljc3MzMzNC00NC4zNzMzMzMgODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMC01Mi45MDY2NjYtMTUuMzZ6IG0wIDI3LjMwNjY2N2g0MC45NmEzNS44NCAzNS44NCAwIDAgMSAyNy4zMDY2NjYgOC41MzMzMzMgMjkuMDEzMzMzIDI5LjAxMzMzMyAwIDAgMSAxMC4yNCAyMy44OTMzMzMgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMS0xMC4yNCAyNS42IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEtMjUuNiA4LjUzMzMzNGgtNDIuNjY2NjY2eiBtMTQxLjY1MzMzMy05OC45ODY2NjdWMzk3LjY1MzMzM2g1Ni4zMmExMDIuNCAxMDIuNCAwIDAgMCA0Ni4wOC0xMC4yNCA4MC4yMTMzMzMgODAuMjEzMzMzIDAgMCAwIDMwLjcyLTMyLjQyNjY2NiA5Ny4yOCA5Ny4yOCAwIDAgMCAxMS45NDY2NjctNDkuNDkzMzM0di04LjUzMzMzM2E5Mi4xNiA5Mi4xNiAwIDAgMC0xMS45NDY2NjctNDkuNDkzMzMzIDgwLjIxMzMzMyA4MC4yMTMzMzMgMCAwIDAtMzAuNzItMzIuNDI2NjY3IDEwMi40IDEwMi40IDAgMCAwLTQ2LjA4LTEwLjI0eiBtMzQuMTMzMzMzIDE2NS41NDY2NjdWMjMwLjRoMjAuNDhhNTEuMiA1MS4yIDAgMCAxIDQwLjk2IDE3LjA2NjY2NyA2OS45NzMzMzMgNjkuOTczMzMzIDAgMCAxIDE1LjM2IDQ3Ljc4NjY2NnYxMC4yNGE4MS45MiA4MS45MiAwIDAgMS0xMy42NTMzMzMgNDkuNDkzMzM0IDUyLjkwNjY2NyA1Mi45MDY2NjcgMCAwIDEtNDAuOTYgMTUuMzZ6IG0yNTYtODMuNjI2NjY3aC03OC41MDY2NjZ2LTgxLjkyaC0zNC4xMzMzMzRWMzk3LjY1MzMzM2gxMjQuNTg2NjY3di0yNy4zMDY2NjZoLTkwLjQ1MzMzM3YtNTYuMzJoNzguNTA2NjY2eiBtMCAwTTI5OC42NjY2NjcgNTczLjQ0aDEwMC42OTMzMzN2MTEuOTQ2NjY3aDExLjk0NjY2N3YtMTEuOTQ2NjY3aDMwLjcydi0xMC4yNGgtMzAuNzJWNTM3LjZjMC0xMS45NDY2NjctNi44MjY2NjctMTcuMDY2NjY3LTE4Ljc3MzMzNC0xNy4wNjY2NjdoLTIzLjg5MzMzM2MwIDMuNDEzMzMzLTEuNzA2NjY3IDYuODI2NjY3LTEuNzA2NjY3IDExLjk0NjY2N2gyMi4xODY2NjdjNi44MjY2NjcgMCAxMC4yNCAzLjQxMzMzMyAxMC4yNCA4LjUzMzMzM3YyMi4xODY2NjdoLTEwMC42OTMzMzN6IG0zNy41NDY2NjYgMjUuNmg3Ni44YzYuODI2NjY3IDAgMTEuOTQ2NjY3IDMuNDEzMzMzIDExLjk0NjY2NyA4LjUzMzMzM2E0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDMuNDEzMzMzIDE3LjA2NjY2N2wxMS45NDY2NjctNS4xMmE3NS4wOTMzMzMgNzUuMDkzMzMzIDAgMCAxLTMuNDEzMzMzLTE3LjA2NjY2NyAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAwLTIyLjE4NjY2Ny0xMy42NTMzMzNoLTgwLjIxMzMzM2ExOC43NzMzMzMgMTguNzczMzMzIDAgMCAwLTIwLjQ4IDIwLjQ4djUxLjJoMTA0LjEwNjY2NnYtNDYuMDhoLTEwLjI0djUuMTJoLTgxLjkydi0xMC4yNGE4LjUzMzMzMyA4LjUzMzMzMyAwIDAgMSAxMC4yNC0xMC4yNHogbS0xMC4yNC00NC4zNzMzMzNsNi44MjY2NjcgOC41MzMzMzMgMjMuODkzMzMzLTIyLjE4NjY2Ny04LjUzMzMzMy04LjUzMzMzM3ogbTAgOTUuNTczMzMzdi0yMC40OGg4MS45MnYyMC40OHpNNTYxLjQ5MzMzMyA1OTAuNTA2NjY3djUuMTJoLTM3LjU0NjY2NnYtNTkuNzMzMzM0aDQyLjY2NjY2NnY0NC4zNzMzMzRoMTEuOTQ2NjY3di02MS40NGgtMTEuOTQ2NjY3djYuODI2NjY2aC0xMDkuMjI2NjY2djU0LjYxMzMzNGgxMS45NDY2NjZ2LTQ0LjM3MzMzNEg1MTJ2NTkuNzMzMzM0aC01MS4ydjU0LjYxMzMzM2gxMy42NTMzMzN2LTQyLjY2NjY2N0g1MTJ2NTguMDI2NjY3aDExLjk0NjY2N3YtNTguMDI2NjY3aDM3LjU0NjY2NnY0Mi42NjY2NjdoMTMuNjUzMzM0di01OS43MzMzMzN6TTIwMS4zODY2NjcgNDA5LjZINzg1LjA2NjY2N3YtMjQ2LjEwMTMzM0gyMDEuMzg2NjY3ek0yNjkuNjUzMzMzIDIzMy44MTMzMzNsLTM3LjU0NjY2NiAxMzEuNDEzMzM0aDI5LjAxMzMzM2M2LjgyNjY2Ny0yNS42IDEwLjI0LTQ0LjM3MzMzMyAxMy42NTMzMzMtNTguMDI2NjY3czUuMTItMjcuMzA2NjY3IDYuODI2NjY3LTM3LjU0NjY2N2wxOC43NzMzMzMgOTUuNTczMzM0aDMwLjcyYzYuODI2NjY3LTM0LjEzMzMzMyAxMS45NDY2NjctNTYuMzIgMTMuNjUzMzM0LTY4LjI2NjY2N2w1LjEyLTI3LjMwNjY2NyA4LjUzMzMzMyAzNS44NGMwIDEuNzA2NjY3IDUuMTIgMjAuNDggMTMuNjUzMzMzIDU5LjczMzMzNGgyNy4zMDY2NjdsLTM1Ljg0LTEzMS40MTMzMzRoLTI3LjMwNjY2N2MtNi44MjY2NjcgMjkuMDEzMzMzLTEwLjI0IDUxLjItMTMuNjUzMzMzIDY2LjU2cy01LjEyIDIzLjg5MzMzMy02LjgyNjY2NyAzNS44NC0xLjcwNjY2Ny0xMy42NTMzMzMtMy40MTMzMzMtMjIuMTg2NjY2LTUuMTItMjIuMTg2NjY3LTYuODI2NjY3LTI5LjAxMzMzNGwtMTAuMjQtNTEuMnpNNDExLjMwNjY2NyAyOTguNjY2NjY3YTczLjM4NjY2NyA3My4zODY2NjcgMCAwIDAgMTEuOTQ2NjY2IDQ2LjA4IDU2LjMyIDU2LjMyIDAgMCAwIDI3LjMwNjY2NyAyMC40OGwyMy44OTMzMzMgMy40MTMzMzMgMjMuODkzMzM0LTMuNDEzMzMzYTU2LjMyIDU2LjMyIDAgMCAwIDI3LjMwNjY2Ni0yMC40OCA3Ni44IDc2LjggMCAwIDAgMTEuOTQ2NjY3LTQ2LjA4IDY4LjI2NjY2NyA2OC4yNjY2NjcgMCAwIDAtMTEuOTQ2NjY3LTQ0LjM3MzMzNCA1Ni4zMiA1Ni4zMiAwIDAgMC0yNy4zMDY2NjYtMjAuNDggNTQuNjEzMzMzIDU0LjYxMzMzMyAwIDAgMC0yMy44OTMzMzQtMy40MTMzMzMgNTQuNjEzMzMzIDU0LjYxMzMzMyAwIDAgMC0yMy44OTMzMzMgMy40MTMzMzMgNTYuMzIgNTYuMzIgMCAwIDAtMjcuMzA2NjY3IDIwLjQ4IDcxLjY4IDcxLjY4IDAgMCAwLTExLjk0NjY2NiA0NC4zNzMzMzR6IG0yNy4zMDY2NjYgMGE0Ni4wOCA0Ni4wOCAwIDAgMSAxMS45NDY2NjctMzUuODQgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMSAyMy44OTMzMzMtMTAuMjQgMzAuNzIgMzAuNzIgMCAwIDEgMjMuODkzMzM0IDEwLjI0IDQ2LjA4IDQ2LjA4IDAgMCAxIDExLjk0NjY2NiAzNS44NCA0OS40OTMzMzMgNDkuNDkzMzMzIDAgMCAxLTExLjk0NjY2NiAzNy41NDY2NjYgMzAuNzIgMzAuNzIgMCAwIDEtMjMuODkzMzM0IDEwLjI0IDM0LjEzMzMzMyAzNC4xMzMzMzMgMCAwIDEtMjMuODkzMzMzLTEwLjI0IDQ5LjQ5MzMzMyA0OS40OTMzMzMgMCAwIDEtMTEuOTQ2NjY3LTM3LjU0NjY2NnpNNTU5Ljc4NjY2NyAyMzMuODEzMzMzdjEzMS40MTMzMzRoNjguMjY2NjY2YTM1Ljg0IDM1Ljg0IDAgMCAwIDI3LjMwNjY2Ny04LjUzMzMzNCAzNS44NCAzNS44NCAwIDAgMCAxMy42NTMzMzMtMjkuMDEzMzMzIDM0LjEzMzMzMyAzNC4xMzMzMzMgMCAwIDAtNS4xMi0xOC43NzMzMzMgMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMC0xNS4zNi0xMS45NDY2NjcgMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMCAxMS45NDY2NjctMTAuMjQgMzcuNTQ2NjY3IDM3LjU0NjY2NyAwIDAgMCA1LjEyLTIzLjg5MzMzM3YtMjAuNDhsNS4xMi01LjEydi0zLjQxMzMzNGgtMzAuNzJjMCAzLjQxMzMzMy0xLjcwNjY2NyA2LjgyNjY2Ny0xLjcwNjY2NyAxMC4yNHYxNS4zNmE0OS40OTMzMzMgNDkuNDkzMzMzIDAgMCAxLTMuNDEzMzMzIDIwLjQ4IDIzLjg5MzMzMyAyMy44OTMzMzMgMCAwIDEtMTguNzczMzMzIDUuMTJoLTI5LjAxMzMzNHYtNTEuMnogbTI3LjMwNjY2NiA3My4zODY2NjdoMzIuNDI2NjY3YTIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDEgMTcuMDY2NjY3IDUuMTJjMy40MTMzMzMgMS43MDY2NjcgNS4xMiA2LjgyNjY2NyA1LjEyIDEzLjY1MzMzM2ExOC43NzMzMzMgMTguNzczMzMzIDAgMCAxLTMuNDEzMzM0IDEwLjI0IDE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEtMTcuMDY2NjY2IDYuODI2NjY3aC0zNC4xMzMzMzR6TTY5Mi45MDY2NjcgMjMzLjgxMzMzM3YxMzEuNDEzMzM0aDU5LjczMzMzM2E0Ni4wOCA0Ni4wOCAwIDAgMCA0Mi42NjY2NjctMjIuMTg2NjY3IDczLjM4NjY2NyA3My4zODY2NjcgMCAwIDAgMTAuMjQtNDAuOTYgOTAuNDUzMzMzIDkwLjQ1MzMzMyAwIDAgMC0xMC4yNC00NC4zNzMzMzMgNDcuNzg2NjY3IDQ3Ljc4NjY2NyAwIDAgMC00NC4zNzMzMzQtMjMuODkzMzM0eiBtMjcuMzA2NjY2IDEwOS4yMjY2Njd2LTg3LjA0aDI3LjMwNjY2N2EyNy4zMDY2NjcgMjcuMzA2NjY3IDAgMCAxIDIzLjg5MzMzMyAxMy42NTMzMzMgODEuOTIgODEuOTIgMCAwIDEgNi44MjY2NjcgMzAuNzIgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMS0xMS45NDY2NjcgMzUuODQgMjAuNDggMjAuNDggMCAwIDEtMTguNzczMzMzIDYuODI2NjY3eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InBpY3R1cmUiIHVuaWNvZGU9IiYjNTk0NjM7IiBkPSJNNDA4LjA5NDExOCA0MDYuNTg4MjM1Yy00NS4xNzY0NzEgMC04MS4zMTc2NDcgMzYuMTQxMTc2LTgxLjMxNzY0NyA4MS4zMTc2NDcgMCA0NS4xNzY0NzEgMzYuMTQxMTc2IDgxLjMxNzY0NyA4MS4zMTc2NDcgODEuMzE3NjQ3IDQ1LjE3NjQ3MSAwIDgxLjMxNzY0Ny0zNi4xNDExNzYgODEuMzE3NjQ3LTgxLjMxNzY0Ny0xLjUwNTg4Mi00NS4xNzY0NzEtMzYuMTQxMTc2LTgxLjMxNzY0Ny04MS4zMTc2NDctODEuMzE3NjQ3eiBtMCAxMTUuOTUyOTQxYy0xOS41NzY0NzEgMC0zNC42MzUyOTQtMTUuMDU4ODI0LTM0LjYzNTI5NC0zNC42MzUyOTQgMC0xOS41NzY0NzEgMTUuMDU4ODI0LTM0LjYzNTI5NCAzNC42MzUyOTQtMzQuNjM1Mjk0IDE5LjU3NjQ3MSAwIDM0LjYzNTI5NCAxNS4wNTg4MjQgMzQuNjM1Mjk0IDM0LjYzNTI5NCAwIDE5LjU3NjQ3MS0xNS4wNTg4MjQgMzQuNjM1Mjk0LTM0LjYzNTI5NCAzNC42MzUyOTR6TTc0My45MDU4ODIgODIuODIzNTI5SDI4MC4wOTQxMThjLTM3LjY0NzA1OSAwLTY5LjI3MDU4OCAzMS42MjM1MjktNjkuMjcwNTg5IDY5LjI3MDU4OVY2MTUuOTA1ODgyYzAgMzcuNjQ3MDU5IDMxLjYyMzUyOSA2OS4yNzA1ODggNjkuMjcwNTg5IDY5LjI3MDU4OWg0NjMuODExNzY0YzM3LjY0NzA1OSAwIDY5LjI3MDU4OC0zMS42MjM1MjkgNjkuMjcwNTg5LTY5LjI3MDU4OXYtNDYzLjgxMTc2NGMwLTM3LjY0NzA1OS0zMS42MjM1MjktNjkuMjcwNTg4LTY5LjI3MDU4OS02OS4yNzA1ODl6TTI4MC4wOTQxMTggNjM4LjQ5NDExOGMtMTIuMDQ3MDU5IDAtMjIuNTg4MjM1LTEwLjU0MTE3Ni0yMi41ODgyMzYtMjIuNTg4MjM2di00NjMuODExNzY0YzAtMTIuMDQ3MDU5IDEwLjU0MTE3Ni0yMi41ODgyMzUgMjIuNTg4MjM2LTIyLjU4ODIzNmg0NjMuODExNzY0YzEyLjA0NzA1OSAwIDIyLjU4ODIzNSAxMC41NDExNzYgMjIuNTg4MjM2IDIyLjU4ODIzNlY2MTUuOTA1ODgyYzAgMTIuMDQ3MDU5LTEwLjU0MTE3NiAyMi41ODgyMzUtMjIuNTg4MjM2IDIyLjU4ODIzNkgyODAuMDk0MTE4eiBtMTg4LjIzNTI5NC00MDIuMDcwNTg5Yy0xOC4wNzA1ODggMC0zNy42NDcwNTkgNy41Mjk0MTItNTEuMiAyMi41ODgyMzZsLTI3LjEwNTg4MyAyOC42MTE3NjRjLTkuMDM1Mjk0IDkuMDM1Mjk0LTI0LjA5NDExOCA5LjAzNTI5NC0zMy4xMjk0MTEgMEwzMTkuMjQ3MDU5IDI0OC40NzA1ODhjLTkuMDM1Mjk0LTkuMDM1Mjk0LTIyLjU4ODIzNS05LjAzNTI5NC0zMy4xMjk0MTItMS41MDU4ODItOS4wMzUyOTQgNy41Mjk0MTItOS4wMzUyOTQgMjIuNTg4MjM1LTEuNTA1ODgyIDMzLjEyOTQxMmwzNi4xNDExNzYgMzcuNjQ3MDU4YzEzLjU1Mjk0MSAxMy41NTI5NDEgMzEuNjIzNTI5IDIyLjU4ODIzNSA0OS42OTQxMTggMjIuNTg4MjM2IDE4LjA3MDU4OCAwIDM3LjY0NzA1OS03LjUyOTQxMiA1MS4yLTIyLjU4ODIzNmwyNy4xMDU4ODItMjguNjExNzY0YzkuMDM1Mjk0LTkuMDM1Mjk0IDI0LjA5NDExOC05LjAzNTI5NCAzMy4xMjk0MTIgMGwxMTUuOTUyOTQxIDEyMS45NzY0N2MxMi4wNDcwNTkgMTMuNTUyOTQxIDMxLjYyMzUyOSAyMi41ODgyMzUgNTEuMiAyMi41ODgyMzYgMTkuNTc2NDcxIDAgMzcuNjQ3MDU5LTcuNTI5NDEyIDUxLjItMjIuNTg4MjM2bDEwNS40MTE3NjUtMTExLjQzNTI5NGM5LjAzNTI5NC05LjAzNTI5NCA3LjUyOTQxMi0yNC4wOTQxMTgtMS41MDU4ODMtMzMuMTI5NDEyLTkuMDM1Mjk0LTkuMDM1Mjk0LTI0LjA5NDExOC03LjUyOTQxMi0zMy4xMjk0MTEgMS41MDU4ODNsLTEwNS40MTE3NjUgMTExLjQzNTI5NGMtOS4wMzUyOTQgOS4wMzUyOTQtMjQuMDk0MTE4IDkuMDM1Mjk0LTMzLjEyOTQxMiAwbC0xMTUuOTUyOTQxLTEyMy40ODIzNTNjLTEyLjA0NzA1OS0xMi4wNDcwNTktMzAuMTE3NjQ3LTE5LjU3NjQ3MS00OC4xODgyMzUtMTkuNTc2NDcxeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZG91Z2hudXQiIHVuaWNvZGU9IiYjNTk0NjA7IiBkPSJNNTEyIDBhMzg0IDM4NCAwIDEgMCAyMjIuMjQgNjk3LjEybC0zNi45Ni01Mi4xNmEzMjAgMzIwIDAgMSAxIDM1Ljg0LTQ5Mi4zMmw0NC4zMi00Ni4yNEEzODIuNCAzODIuNCAwIDAgMCA1MTIgMHpNODM0LjA4IDE3NC43MjAwMDAwMDAwMDAwM2wtNTMuNiAzNC44OGEzMjEuNDQgMzIxLjQ0IDAgMCAxLTQyLjA4IDQwMEw3ODQgNjU2YTM4NS40NCAzODUuNDQgMCAwIDAgNTAuMDgtNDgxLjI4eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvbHVtbiIgdW5pY29kZT0iJiM1OTQ2NjsiIGQ9Ik0yODkuOTIgMTI4SDIwOGE2NCA2NCAwIDAgMC02NCA2NFY0ODhhNjQgNjQgMCAwIDAgNjQgNjRoODIuMDhhNjQgNjQgMCAwIDAgNjQtNjRWMTkyYTY0IDY0IDAgMCAwLTY0LjE2LTY0ek0yMDggNDg4VjE5Mmg4Mi4yNFY0ODh6TTgxNiAxMjhoLTgyLjI0YTY0IDY0IDAgMCAwLTY0IDY0VjU2MGE2NCA2NCAwIDAgMCA2NCA2NEg4MTZhNjQgNjQgMCAwIDAgNjQtNjR2LTM2OGE2NCA2NCAwIDAgMC02NC02NHogbS04Mi4yNCA0MzJ2LTM2OEg4MTZWNTYwek01NTIuOTYgMTI4aC04Mi4wOGE2NCA2NCAwIDAgMC02NCA2NFY3MDRhNjQgNjQgMCAwIDAgNjQgNjRoODIuMDhhNjQgNjQgMCAwIDAgNjQtNjR2LTUxMmE2NCA2NCAwIDAgMC02NC02NHogbS04Mi4wOCA1NzZ2LTUxMmg4Mi4wOFY3MDR6TTg0OCAwSDE3NmEzMiAzMiAwIDEgMCAwIDY0aDY3MmEzMiAzMiAwIDEgMCAwLTY0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImdlbmVyYXRvci1mdW5jdGlvbiIgdW5pY29kZT0iJiM1OTQ2NzsiIGQ9Ik01MTIgMGE1OS4wNCA1OS4wNCAwIDAgMC0yOS42IDcuODRMMTk4LjQgMTcwLjA4YTYwLjE2IDYwLjE2IDAgMCAwLTMwLjA4IDUyVjU0NS45MmE2MCA2MCAwIDAgMCAzMC4wOCA1Mkw0ODIuNCA3NjAuMTZhNjAuMzIgNjAuMzIgMCAwIDAgNTkuMzYgMGwyODQtMTYyLjI0YTYwIDYwIDAgMCAwIDMwLjA4LTUydi0zMjMuODRhNjAuMTYgNjAuMTYgMCAwIDAtMzAuMDgtNTJMNTQxLjc2IDcuODRBNTkuMiA1OS4yIDAgMCAwIDUxMiAwek0yMjguMTYgNTQ1Ljkydi0zMjMuODRMNTEyIDU5LjY4bDI4NCAxNjIuNFY1NDUuOTJMNTEyIDcwOC4zMnpNNTEyIDM0Ny44NGwtMjE4LjQgMTI0Ljk2YTI5LjkyIDI5LjkyIDAgMSAwIDI5LjYgNTEuODRMNTEyIDQxNmwxODguOTYgMTA3Ljg0YTI5LjkyIDI5LjkyIDAgMSAwIDI5LjYtNTEuODR6TTQ4Mi4yNCA0MTIuMTZtMjkuOTIgMGwwIDBxMjkuOTIgMCAyOS45Mi0yOS45MmwwLTIzNC41NnEwLTI5LjkyLTI5LjkyLTI5LjkybDAgMHEtMjkuOTIgMC0yOS45MiAyOS45MmwwIDIzNC41NnEwIDI5LjkyIDI5LjkyIDI5LjkyWiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImFyZWEiIHVuaWNvZGU9IiYjNTk0Njg7IiBkPSJNODY0IDgwSDEyOFY2NTZhMzIgMzIgMCAwIDAgNjQgMHYtNTEyaDY3MmEzMiAzMiAwIDEgMCAwLTY0ek0yNjEuNiAyOTUuNjc5OTk5OTk5OTk5OTVsMTIyLjI0IDEzNy4yOCAxNTMuNDQtNjguNjRMODA5LjYgNjQzLjA0VjIwOC42NEgyNjEuNnY4Ny4wNHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkaWFncmFtIiB1bmljb2RlPSImIzU5NDY5OyIgZD0iTTg2NCA4MEgxMjhWNjU2YTMyIDMyIDAgMCAwIDY0IDB2LTUxMmg2NzJhMzIgMzIgMCAwIDAgMC02NHpNMjYxLjc2IDIxNC41NTk5OTk5OTk5OTk5NWEzMiAzMiAwIDAgMC0yNCA1My4yOGwxMzcuOTIgMTU0Ljg4IDE1NC40LTY5LjEyIDI1NiAyNjIuODhhMzIgMzIgMCAwIDAgNDUuOTItNDQuOEw1NDQgMjc2Ljk2MDAwMDAwMDAwMDA0bC0xNTIuMzIgNjguMTYtMTA2LjcyLTExOS44NGEzMiAzMiAwIDAgMC0yMy4yLTEwLjcyeiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImdlbmVyYXRvci1QYW5lbCIgdW5pY29kZT0iJiM1OTQ3MDsiIGQ9Ik0yOTAuMDggMEgyMDhhNjQgNjQgMCAwIDAtNjQgNjRWNDQwYTY0IDY0IDAgMCAwIDY0IDY0aDgxLjkyYTY0IDY0IDAgMCAwIDY0LTY0VjY0YTY0IDY0IDAgMCAwLTYzLjg0LTY0ek0yMDggNDQwVjY0aDgyLjA4VjQ0MHpNODE2IDBoLTgyLjA4YTY0IDY0IDAgMCAwLTY0IDY0VjUyOGE2NCA2NCAwIDAgMCA2NCA2NEg4MTZhNjQgNjQgMCAwIDAgNjQtNjR2LTQ2NGE2NCA2NCAwIDAgMC02NC02NHogbS04Mi4wOCA1Mjh2LTQ2NEg4MTZWNTI4ek01NTMuMTIgMGgtODIuMDhhNjQgNjQgMCAwIDAtNjQgNjRWNzA0YTY0IDY0IDAgMCAwIDY0IDY0aDgyLjA4YTY0IDY0IDAgMCAwIDY0LTY0di02NDBhNjQgNjQgMCAwIDAtNjQtNjR6IG0tODIuMDggNzA0di02NDBoODIuMDhWNzA0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImdlbmVyYXRvci10b2RvIiB1bmljb2RlPSImIzU5NDcxOyIgZD0iTTkyOCAxMDEuMTJIOTZ2MTUxLjg0YTk0LjcyIDk0LjcyIDAgMCAwIDk0LjU2IDk0LjU2aDE4MS40NGEyMi4wOCAyMi4wOCAwIDAgMSAxOS42OCAzMmwtNTMuNiAxMDcuMmExOTQuNCAxOTQuNCAwIDEgMCAzNDcuODQgMGwtNTMuNi0xMDcuMmEyMi4wOCAyMi4wOCAwIDAgMSAxOS42OC0zMmgxODIuMDhBOTQuNTYgOTQuNTYgMCAwIDAgOTI4IDI1Mi45NnogbS03NjggNjRoNzA0djg3Ljg0YTI5LjkyIDI5LjkyIDAgMCAxLTI5Ljc2IDI5LjkySDY1MmE4Ni43MiA4Ni43MiAwIDAgMC03Ny42IDEyNS40NGwyOC45Ni0xNC40LTI4Ljk2IDE0LjQgNTMuNiAxMDcuMzZhMTI5Ljc2IDEyOS43NiAwIDEgMS0yMzIgMGw1My42LTEwNy4zNmE4Ni43MiA4Ni43MiAwIDAgMC03Ny42LTEyNS40NEgxOTAuMDhBMjkuOTIgMjkuOTIgMCAwIDEgMTYwIDI1Mi45NnpNOTUuMzYgNjQuNjRoODMzLjI4VjBIOTUuMzZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLWVtYWlsIiB1bmljb2RlPSImIzU5NDcyOyIgZD0iTTUxMiAyNDQuOGE5NiA5NiAwIDAgMC01NS41MiAxNy42TDE1MC4wOCA0NzkuMkExMjggMTI4IDAgMCAwIDk2IDU4My42OHYyMy41MmExMjggMTI4IDAgMCAwIDEyOCAxMjhoNTc2YTEyOCAxMjggMCAwIDAgMTI4LTEyOHYtMjMuNjhhMTI4IDEyOCAwIDAgMC01NC4wOC0xMDQuNDhMNTY3LjM2IDI2Mi40QTk2IDk2IDAgMCAwIDUxMiAyNDQuOHogbS0xOC41NiA2OS45MmEzMiAzMiAwIDAgMSAzNi45NiAwTDgzNi44IDUzMS4zNmE2NCA2NCAwIDAgMSAyNy4yIDUyLjMyVjYwOGE2NCA2NCAwIDAgMS02NCA2NEgyMjRhNjQgNjQgMCAwIDEtNjQtNjR2LTIzLjUyYTY0IDY0IDAgMCAxIDI3LjA0LTUyLjMyek04MTEuMDQgMzJIMjEyLjhhMTIxLjc2IDEyMS43NiAwIDAgMC04MS4yOCAzMC40QTEwMi41NiAxMDIuNTYgMCAwIDAgOTYgMTQwLjQ4YTEwNCAxMDQgMCAwIDAgMzYuNjQgNzguNGwxOTkuMDQgMTcyLjhhMzIgMzIgMCAwIDAgNDEuOTItNDhMMTc0LjcyIDE3MC41NmEzOC40IDM4LjQgMCAwIDEgMC01OS44NCA1Ny4xMiA1Ny4xMiAwIDAgMSAzOC4wOC0xNC43Mmg1OTguMjRBNDguOTYgNDguOTYgMCAwIDEgODY0IDE0MC40OGEzOS44NCAzOS44NCAwIDAgMS0xNC43MiAzMC4wOGwtMTk1LjUyIDE2OS42YTMyIDMyIDAgMCAwIDQxLjkyIDQ4bDE5NS4zNi0xNjkuNmExMDQuMTYgMTA0LjE2IDAgMCAwIDM2LjgtNzguNCAxMTIgMTEyIDAgMCAwLTExNi44LTEwOC4xNnpNMTYwLjE2IDU5MC41Nkg5NnYtNDQ2LjA4aDY0LjE2VjU5MC41NnpNOTI4IDU5MC41NmgtNjR2LTQ0Ni4wOGg2NFY1OTAuNTZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLW5vdGljZSIgdW5pY29kZT0iJiM1OTQ3MzsiIGQ9Ik01MjggMGE2NCA2NCAwIDAgMC00MS4yOCAxNS4wNEwyNTcuMjggMjA2LjA4SDEzOS41MmE2NCA2NCAwIDAgMC02NCA2NHYyMjcuMmE2NCA2NCAwIDAgMCA2NCA2NGgxMTcuNzZMNDg2LjQgNzUyLjk2YTY0IDY0IDAgMCAwIDEwNS42LTQ5Ljc2VjY0YTY0IDY0IDAgMCAwLTM3LjEyLTU4LjU2QTY1Ljc2IDY1Ljc2IDAgMCAwIDUyOCAwek0xMzkuNTIgNDk3LjI4di0yMjYuNTZoMTQxLjEyTDUyOCA2NFY3MDMuMkwyODAuNjQgNDk3LjI4eiBtMzY4IDIzMC43Mkw1MjggNzAzLjJ6TTY4NS45MiAxMDQuOTZhMzIgMzIgMCAwIDAtNi4wOCA2NGMxMTguNCAyMi41NiAyMDQuMzIgMTE2LjggMjA0LjMyIDIyNHMtODUuOTIgMjAxLjQ0LTIwNC4zMiAyMjRhMzIgMzIgMCAxIDAgMTIuMTYgNjRjMTQ4LjgtMjguMzIgMjU2Ljk2LTE0OS4yOCAyNTYuOTYtMjg4cy0xMDguMTYtMjU5LjM2LTI1Ni45Ni0yODhhNDEuMjggNDEuMjggMCAwIDAtNi4wOCAwek02OTUuMzYgMjQxLjZhMzIgMzIgMCAwIDAtMTAuNCA2Mi40IDk3LjQ0IDk3LjQ0IDAgMCAxIDY5LjkyIDg4LjggOTcuMjggOTcuMjggMCAwIDEtNjkuOTIgODguNjQgMzIgMzIgMCAwIDAgMjAuOCA2MS4yOCAxNjEuOTIgMTYxLjkyIDAgMCAwIDExMy45Mi0xNDkuOTIgMTYxLjc2IDE2MS43NiAwIDAgMC0xMTMuOTItMTQ5LjkyIDI4Ljk2IDI4Ljk2IDAgMCAwLTEwLjQtMS4yOHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyYWRhciIgdW5pY29kZT0iJiM1OTQ3NDsiIGQ9Ik02OTQuMDggMzcuNDQwMDAwMDAwMDAwMDU1aC0zNjhhNjQgNjQgMCAwIDAtNjAuOCA0NC4xNkwxNTIuMzIgNDMwLjg4QTY0IDY0IDAgMCAwIDE3NiA1MDIuNGwyOTYuOCAyMTZhNjQgNjQgMCAwIDAgNzUuMiAwbDI5Ny4xMi0yMTZhNjQgNjQgMCAwIDAgMjMuMzYtNzEuNTJsLTExMy42LTM0OS4yOGE2NCA2NCAwIDAgMC02MC44LTQ0LjE2ek01MTAuNCA2NjYuNTZMMjEzLjI4IDQ1MC43MmwxMTMuNDQtMzQ5LjI4aDM2OGwxMTMuNDQgMzQ5LjI4TDUxMC40IDY2Ni41NnpNNDk0LjQgMzMyLjE1OTk5OTk5OTk5OTk3djM2Ni40aDMydi0zMjIuNGwzMTEuNTIgMTAxLjI4IDkuOTItMzAuNTYtMzUzLjQ0LTExNC43MnpNMzE3LjkyIDYwbC0yNS45MiAxOC43MiAyMTguMjQgMzAyLjcyIDIxNi40OC0yOTUuODQtMjUuNzYtMTguODgtMTkwLjQgMjYwLjE2LTE5Mi42NC0yNjYuODh6TTE3Ni4yMjQgNDQ1Ljc2bDkuODg4IDMwLjQ0OCAzMjkuMTUyLTEwNi45NDQtOS44ODgtMzAuNDMyek0zODAgMTcyLjc5OTk5OTk5OTk5OTk1TDM0Mi40IDQxMC44OGwxNjYuODggMTA4LjMyIDIwMC0xMDAuMTYtOTguMjQtMjAxLjc2eiBtLTIuNzIgMjIyLjU2bDI5LjEyLTE4NC44IDE4Mi44OCAzNS4wNCA3Ny4yOCAxNTkuMDRMNTEyIDQ4Mi40eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9ImdlbmVyYXRvci10b2RvbGlzdCIgdW5pY29kZT0iJiM1OTQ3NTsiIGQ9Ik0zODQgMzUuNjhIMjA4QTkyLjk2IDkyLjk2IDAgMCAwIDExNC41NiAxMjhWNzA3LjJBOTMuMTIgOTMuMTIgMCAwIDAgMjA4IDgwMGg1MTcuMjhhOTIuOTYgOTIuOTYgMCAwIDAgOTIuOC05Mi45NnYtMjE4LjU2aC02NFY3MDcuMmEyOC45NiAyOC45NiAwIDAgMS0yOC44IDI4LjhIMjA4YTI4Ljk2IDI4Ljk2IDAgMCAxLTI4Ljk2LTI4Ljk2VjEyOEEyOC45NiAyOC45NiAwIDAgMSAyMDggOTkuNjhoMTc2ek02NzkuNTItMzJhMjI5LjkyIDIyOS45MiAwIDEgMCAyMjkuOTIgMjI5Ljc2QTIzMC4yNCAyMzAuMjQgMCAwIDAgNjc5LjUyLTMyeiBtMCAzOTUuODRhMTY1LjkyIDE2NS45MiAwIDEgMSAxNjUuOTItMTY2LjA4IDE2Ni4yNCAxNjYuMjQgMCAwIDEtMTY1LjkyIDE2NS45MnpNNjIwLjE2IDU3MC41NkgyODAuMzJhMzIgMzIgMCAwIDAgMCA2NGgzMzkuODRhMzIgMzIgMCAwIDAgMC02NHpNNDg3LjA0IDQwOS40NEgyODAuMzJhMzIgMzIgMCAwIDAgMCA2NGgyMDYuNzJhMzIgMzIgMCAwIDAgMC02NHpNNzgwLjMyIDEyMS43NmEzMiAzMiAwIDAgMC0xMC4yNCAxLjZsLTk0Ljg4IDMyYTMyIDMyIDAgMCAwIDIwLjMyIDYwLjhsOTQuODgtMzJhMzIgMzIgMCAwIDAtMTAuMDgtNjIuNHpNNjgyLjg4IDE1My40NGEzMiAzMiAwIDAgMC0zMiAzMnYxMDBhMzIgMzIgMCAwIDAgNjQgMHYtMTAwYTMyIDMyIDAgMCAwLTMyLTMyeiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InBpZSIgdW5pY29kZT0iJiM1OTQ3NjsiIGQ9Ik01MDQgMGEzNzYgMzc2IDAgMCAwLTI3LjY4IDc1MS4wNGw0LjY0LTY0QTMxMiAzMTIgMCAxIDEgODE1LjA0IDM1Mmw2NC00Ljk2QTM3Ny42IDM3Ny42IDAgMCAwIDUwNCAwek04OTYgMzc2Ljc5OTk5OTk5OTk5OTk1SDUwNC45NlY3NjhoMzJBMzU5LjUyIDM1OS41MiAwIDAgMCA4OTYgNDA4Ljh6IG0tMzI3LjA0IDY0SDgzMC40YTI5NS42OCAyOTUuNjggMCAwIDEtMjYxLjQ0IDI2MS40NHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzaGFuY2h1IiB1bmljb2RlPSImIzU5MDg1OyIgZD0iTTU2MS4xIDE4Ny41NDZWNDgyLjIwMmMwIDQ3LjE1NSA0OS4xMDIgNDcuMTU1IDQ5LjEwMiAwdi0yOTQuNzA4YzAuMDUtMzQuMDk5LTQ5LjEwMS0zOC42NTYtNDkuMTAxIDAuMDUyeiBtLTE0Ny4zMDIgMFY0ODIuMjAyYzAgNDcuMTU1IDQ5LjEwMSA0Ny4xNTUgNDkuMTAxIDB2LTI5NC43MDhjMC0zOC42NTYtNDkuMS0zNC4wOTktNDkuMSAwLjA1MnogbTQ0Mi4wMSA0NDIuMDFINzA4LjQ1NHY0OS4xNTFjMCA3MS43MzEtMjIuOTg4IDk4LjI1My05OC4yNTIgOTguMjUzSDQxMy43OThjLTc0LjAzNSAwLTk4LjI1Mi0yNC4xNjYtOTguMjUyLTk4LjI1M3YtNDkuMTUySDE2OC4xOTJjLTUzLjA5NCAwLTUzLjA5NC00OS4xIDAtNDkuMWg2ODcuNjE2YzUzLjA5NCAwIDUzLjA5NCA0OS4xIDAgNDkuMXogbS00OTEuMTYyIDQ5LjE1MWMwIDQ3LjY2NyAyLjk3IDQ5LjEwMSA0OS4xMDEgNDkuMTAxaDE5Ni40NTVjNDYuMDggMCA0OS4xLTEuMTI2IDQ5LjEtNDkuMXYtNDkuMTUzSDM2NC42NDZ2NDkuMTUyeiBtMzQzLjkxLTY4Ny42MTZoLTM5My4wMWMtNzAuOTY0IDAtOTguMjUzIDI3LjIzOS05OC4yNTMgOTguMjUzVjQ4Mi4yMDJjMCA0OS42MTIgNDkuMSA0OS42MTIgNDkuMSAwdi0zOTIuOTFjMC00Ny43MTgtMC4xMDItNDkuMTUxIDQ5LjEwMS00OS4xNTFoMzkyLjkxYzQ3LjcxOCAwIDQ5LjEtMC4xNTQgNDkuMSA0OS4xNTJWNDgyLjIwMmMwIDQ4LjQ4NiA0OS4xIDQ4LjQ4NiA0OS4xIDB2LTM5Mi45MWMwLjEwMy02OS40MjYtMjMuOTYtOTguMi05OC4wNDctOTguMnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJiaWFuamkiIHVuaWNvZGU9IiYjNTg5MTM7IiBkPSJNOTA5LjgtNjMuNUgxMTUuMmMtMjcuNCAwLTQ5LjcgMjIuMy00OS43IDQ5LjdWNzgwLjhjMCAyNy40IDIyLjMgNDkuNyA0OS43IDQ5LjdoNDUxLjRjMTEuOCAwIDIxLjMtOS41IDIxLjMtMjEuM3MtOS41LTIxLjMtMjEuMy0yMS4zSDExNS4yYy0zLjggMC03LjEtMy4yLTcuMS03LjF2LTc5NC42YzAtMy44IDMuMi03LjEgNy4xLTcuMWg3OTQuNmMyLjEgMCAzLjYgMC45IDQuMyAxLjcgMC41IDAuNiAwLjYgMSAwLjUgMS44bC0wLjMgMy42VjQzOC44YzAgMTEuOCA5LjUgMjEuMyAyMS4zIDIxLjNzMjEuMy05LjUgMjEuMy0yMS4zdi00NTEuMWMxLjUtMTIuNC0yLjEtMjQuOC0xMC4xLTM0LjMtOS4yLTEwLjctMjIuNi0xNi45LTM3LTE2Ljl6TTM3OC42IDIyOS41Yy01LjQgMC0xMC45IDIuMS0xNSA2LjItOC4zIDguMy04LjMgMjEuOCAwIDMwLjFMOTIwLjcgODIzLjFjOC4zIDguMyAyMS44IDguMyAzMC4xIDBzOC4zLTIxLjggMC0zMC4xTDM5My42IDIzNS44Yy00LjEtNC4yLTkuNi02LjMtMTUtNi4zeiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9InppeXVhbjUiIHVuaWNvZGU9IiYjNTkzOTc7IiBkPSJNMTE1NS4xOTEyMTYgODAuNzY5NDk3bC0xMDQuMzg0NzQ5IDIwNC4xMzAxNzRhNC42MzkzMjIgNC42MzkzMjIgMCAwIDEtNC42MzkzMjIgNC42MzkzMjNjMCAyLjMxOTY2MS0yLjMxOTY2MSA0LjYzOTMyMi00LjYzOTMyMiA2Ljk1ODk4M2gtMTEuNTk4MzA1YTIuMzE5NjYxIDIuMzE5NjYxIDAgMCAxLTIuMzE5NjYxIDIuMzE5NjYxaC0yMC44NzY5NUw4MDIuNjAyNzMyIDIyMi4yNjg4MjJhMzcuMTE0NTc3IDM3LjExNDU3NyAwIDAgMS0yMC44NzY5NDktNDYuMzkzMjIxIDM0Ljc5NDkxNiAzNC43OTQ5MTYgMCAwIDEgNDYuMzkzMjIxLTIwLjg3Njk1bDEzMi4yMjA2ODEgNDguNzEyODgzQTQyMi4xNzgzMTYgNDIyLjE3ODMxNiAwIDAgMCA1NzIuOTU2Mjg2LTU2LjA5MDUwNyA0MjYuODE3NjM4IDQyNi44MTc2MzggMCAwIDAgMTYwLjA1NjYxNCAyNzMuMzAxMzY2IDM0Ljc5NDkxNiAzNC43OTQ5MTYgMCAwIDEgMTE1Ljk4MzA1NCAyOTguODE3NjM4YTM3LjExNDU3NyAzNy4xMTQ1NzcgMCAwIDEtMjUuNTE2MjcyLTQ0LjA3MzU2IDUwMS4wNDY3OTIgNTAxLjA0Njc5MiAwIDAgMSA0ODIuNDg5NTA0LTM4Mi43NDQwNzggNDk0LjA4NzgwOSA0OTQuMDg3ODA5IDAgMCAxIDQ1Mi4zMzM5MDkgMzAxLjU1NTk0bDY0Ljk1MDUxMS0xMjcuNTgxMzU5YTM5LjQzNDIzOCAzOS40MzQyMzggMCAwIDEgMzIuNDc1MjU1LTE4LjU1NzI4OSAxOC41NTcyODkgMTguNTU3Mjg5IDAgMCAxIDE2LjIzNzYyNyA0LjYzOTMyMiAzNC43OTQ5MTYgMzQuNzk0OTE2IDAgMCAxIDE2LjIzNzYyOCA0OC43MTI4ODN6TTk5Ljc0NTQyNiA1MDcuNTg3MTM1bDYuOTU4OTgzLTYuOTU4OTgzaDIuMzE5NjYybDExLjU5ODMwNS02Ljk1ODk4NGgyMC44NzY5NUwzNDcuOTQ5MTYxIDU0Ny4wMjEzNzNhMzcuMTE0NTc3IDM3LjExNDU3NyAwIDAgMSAyNS41MTYyNzIgNDQuMDczNTYgMzkuNDM0MjM4IDM5LjQzNDIzOCAwIDAgMS00Ni4zOTMyMjEgMjUuNTE2MjcybC0xMzYuODYwMDA0LTM3LjExNDU3N2E0MjIuMTc4MzE2IDQyMi4xNzgzMTYgMCAwIDAgNzg4LjY4NDc2Ni02NC45NTA1MSAzNC43OTQ5MTYgMzQuNzk0OTE2IDAgMCAxIDQ0LjA3MzU2LTI1LjUxNjI3MiAzNy4xMTQ1NzcgMzcuMTE0NTc3IDAgMCAxIDIzLjE5NjYxMSA0Ni4zOTMyMjIgNDkxLjc2ODE0OCA0OTEuNzY4MTQ4IDAgMCAxLTkxOC41ODU3ODYgNzguODY4NDc2TDY5LjU4OTgzMiA3NDEuODcyOTAzYTM3LjExNDU3NyAzNy4xMTQ1NzcgMCAwIDEtNDguNzEyODgyIDE2LjIzNzYyOEEzNC43OTQ5MTYgMzQuNzk0OTE2IDAgMCAxIDQuNjM5MzIyIDcwOS4zOTc2NDhsOTIuNzg2NDQzLTIwMS44MTA1MTN6IiAgaG9yaXotYWR2LXg9IjExNjAiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieml5dWFuOCIgdW5pY29kZT0iJiM1OTQwMDsiIGQ9Ik04OTcuMDI0IDY3Mi43NjhoLTY1LjUzNlY4OTZIMTkyLjUxMnYtMjIzLjIzMkgxMjYuOTc2QTEyOS4wMjQgMTI5LjAyNCAwIDAgMSAwIDU0My43NDR2LTQxNS43NDRoMTkyLjUxMlYtMTI4aDYzOC45NzZWMTI4SDEwMjRWNTQzLjc0NGExMjkuMDI0IDEyOS4wMjQgMCAwIDEtMTI2Ljk3NiAxMjkuMDI0ek0yNTYgODMyLjUxMmg1MTJ2LTE1OS43NDRoLTUxMnogbTUxMi04OTcuMDI0aC01MTJWMjI0LjI1Nmg1MTJ6IG0xOTIuNTEyIDI1NmgtMTI5LjAyNHY5Ni4yNTZIMTkyLjUxMnYtOTYuMjU2SDYzLjQ4OFY1NDMuNzQ0YTYzLjQ4OCA2My40ODggMCAwIDAgNjMuNDg4IDYzLjQ4OGg3NzAuMDQ4YTYzLjQ4OCA2My40ODggMCAwIDAgNjMuNDg4LTYzLjQ4OHpNNTEyIDUxMy4wMjRIMjI1LjI4YTMyLjc2OCAzMi43NjggMCAwIDEtMzIuNzY4LTMyLjc2OCAzMi43NjggMzIuNzY4IDAgMCAxIDMwLjcyLTMyLjc2OGgyODYuNzJhMzIuNzY4IDMyLjc2OCAwIDEgMSAyLjA0OCA2NS41MzZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+DQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2VhcmNoIiB1bmljb2RlPSImIzU4ODk0OyIgZD0iTTkxMC45MzMzMzMgMTQuOTMzMzMzbC0xODYuMDI2NjY2IDE4Ni4wMjY2NjdhMzM5LjYyNjY2NyAzMzkuNjI2NjY3IDAgMCAxIDg1LjMzMzMzMyAyMjUuMjhjMCAxODguNTg2NjY3LTE1Mi43NDY2NjcgMzQxLjMzMzMzMy0zNDEuMzMzMzMzIDM0MS4zMzMzMzNzLTM0MS4zMzMzMzMtMTUyLjc0NjY2Ny0zNDEuMzMzMzM0LTM0MS4zMzMzMzMgMTUyLjc0NjY2Ny0zNDEuMzMzMzMzIDM0MS4zMzMzMzQtMzQxLjMzMzMzM2M4Ni42MTMzMzMgMCAxNjUuNTQ2NjY3IDMyLjQyNjY2NyAyMjUuNzA2NjY2IDg1Ljc2bDE4Ni4wMjY2NjctMTg2LjAyNjY2NyAzMC4yOTMzMzMgMzAuMjkzMzMzek0xNzAuMjQgNDI2LjI0YzAgMTY0LjY5MzMzMyAxMzMuOTczMzMzIDI5OC42NjY2NjcgMjk4LjY2NjY2NyAyOTguNjY2NjY3czI5OC42NjY2NjctMTMzLjk3MzMzMyAyOTguNjY2NjY2LTI5OC42NjY2NjctMTMzLjk3MzMzMy0yOTguNjY2NjY3LTI5OC42NjY2NjYtMjk4LjY2NjY2Ny0yOTguNjY2NjY3IDEzNC40LTI5OC42NjY2NjcgMjk4LjY2NjY2N3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhZGQiIHVuaWNvZGU9IiYjNTg4OTk7IiBkPSJNODUzLjMzMzMzMyA0MTIuNDQ0NDQ0SDU0MC40NDQ0NDRWNzI1LjMzMzMzM2MwIDE1LjkyODg4OS0xMi41MTU1NTYgMjguNDQ0NDQ0LTI4LjQ0NDQ0NCAyOC40NDQ0NDVzLTI4LjQ0NDQ0NC0xMi41MTU1NTYtMjguNDQ0NDQ0LTI4LjQ0NDQ0NXYtMzEyLjg4ODg4OUgxNzAuNjY2NjY3Yy0xNS45Mjg4ODkgMC0yOC40NDQ0NDQtMTIuNTE1NTU2LTI4LjQ0NDQ0NS0yOC40NDQ0NDRzMTIuNTE1NTU2LTI4LjQ0NDQ0NCAyOC40NDQ0NDUtMjguNDQ0NDQ0aDMxMi44ODg4ODlWNDIuNjY2NjY3YzAtMTUuOTI4ODg5IDEyLjUxNTU1Ni0yOC40NDQ0NDQgMjguNDQ0NDQ0LTI4LjQ0NDQ0NXMyOC40NDQ0NDQgMTIuNTE1NTU2IDI4LjQ0NDQ0NCAyOC40NDQ0NDVWMzU1LjU1NTU1Nkg4NTMuMzMzMzMzYzE1LjkyODg4OSAwIDI4LjQ0NDQ0NCAxMi41MTU1NTYgMjguNDQ0NDQ1IDI4LjQ0NDQ0NHMtMTIuNTE1NTU2IDI4LjQ0NDQ0NC0yOC40NDQ0NDUgMjguNDQ0NDQ0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQoNCg0KICA8L2ZvbnQ+DQo8L2RlZnM+PC9zdmc+DQo=\"\n\n//# sourceURL=webpack:///./css/dataReport/iconfont.svg?"); +eval("module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPCEtLQoyMDEzLTktMzA6IENyZWF0ZWQuCi0tPgo8c3ZnPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgaWNvbmZvbnQKPC9tZXRhZGF0YT4KPGRlZnM+Cgo8Zm9udCBpZD0icmVwb3J0LWljb24iIGhvcml6LWFkdi14PSIxMDI0IiA+CiAgPGZvbnQtZmFjZQogICAgZm9udC1mYW1pbHk9InJlcG9ydC1pY29uIgogICAgZm9udC13ZWlnaHQ9IjUwMCIKICAgIGZvbnQtc3RyZXRjaD0ibm9ybWFsIgogICAgdW5pdHMtcGVyLWVtPSIxMDI0IgogICAgYXNjZW50PSI4OTYiCiAgICBkZXNjZW50PSItMTI4IgogIC8+CiAgICA8bWlzc2luZy1nbHlwaCAvPgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYWxpZ24tdG9wIiB1bmljb2RlPSImIzU5NDExOyIgZD0iTTIxMC44MjM1MjkgNjg4LjE4ODIzNWg2MDIuMzUyOTQydi03Mi4yODIzNTNIMjEwLjgyMzUyOXpNNTEyIDU3My43NDExNzZsLTEzNy4wMzUyOTQtMTYyLjYzNTI5NGgxMDAuODk0MTE4di0zMzEuMjk0MTE3aDcyLjI4MjM1MnYzMzEuMjk0MTE3aDEwMC44OTQxMTh6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYWxpZ24tbGVmdCIgdW5pY29kZT0iJiM1OTQxMjsiIGQ9Ik0yMTAuODIzNTI5IDY4Mi4xNjQ3MDZoNjAyLjM1Mjk0MlY2MDkuODgyMzUzSDIxMC44MjM1Mjl6TTIxMC44MjM1MjkgNDk1LjQzNTI5NGg0MjEuNjQ3MDU5di03MC43NzY0N0gyMTAuODIzNTI5ek0yMTAuODIzNTI5IDMyOS43ODgyMzVoNjAyLjM1Mjk0MnYtNzIuMjgyMzUzSDIxMC44MjM1Mjl6TTIxMC44MjM1MjkgMTU4LjExNzY0N2g0MjEuNjQ3MDU5di03Mi4yODIzNTNIMjEwLjgyMzUyOXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJiYWNrZ3JvdW5kLWNvbG9yIiB1bmljb2RlPSImIzU5NDEzOyIgZD0iTTcwMS43NDExNzYgMzk3LjU1Mjk0MUwzMjAuNzUyOTQxIDY4MC42NTg4MjRjLTEwLjU0MTE3NiA3LjUyOTQxMi0yNy4xMDU4ODIgNi4wMjM1MjktMzQuNjM1Mjk0LTYuMDIzNTMtNy41Mjk0MTItMTAuNTQxMTc2LTYuMDIzNTI5LTI3LjEwNTg4MiA2LjAyMzUyOS0zNC42MzUyOTRsOTQuODcwNTg5LTcwLjc3NjQ3MS0xNjguNjU4ODI0LTIzNy45Mjk0MTFjLTEzLjU1Mjk0MS0xOS41NzY0NzEtOS4wMzUyOTQtNDguMTg4MjM1IDEwLjU0MTE3Ny02MS43NDExNzdsMjM0LjkxNzY0Ny0xNzQuNjgyMzUzYzE5LjU3NjQ3MS0xNS4wNTg4MjQgNDYuNjgyMzUzLTEwLjU0MTE3NiA2MC4yMzUyOTQgOS4wMzUyOTRMNjkyLjcwNTg4MiAzNDMuMzQxMTc2bDEuNTA1ODgzIDEuNTA1ODgzIDEyLjA0NzA1OSAxNS4wNTg4MjMgMS41MDU4ODIgMS41MDU4ODNjNy41Mjk0MTIgMTIuMDQ3MDU5IDQuNTE3NjQ3IDI3LjEwNTg4Mi02LjAyMzUzIDM2LjE0MTE3NnogbS00NDEuMjIzNTI5LTkwLjM1Mjk0MWwxNjQuMTQxMTc3IDIzMy40MTE3NjUgMjI4Ljg5NDExNy0xNzAuMTY0NzA2LTM5My4wMzUyOTQtNjMuMjQ3MDU5eiBtNTQyLjExNzY0Ny0xMDguNDIzNTI5TDc0MC44OTQxMTggMzIzLjc2NDcwNiA2NzcuNjQ3MDU5IDE5Ny4yNzA1ODhjLTYuMDIzNTI5LTEwLjU0MTE3Ni0xMC41NDExNzYtMjQuMDk0MTE4LTEwLjU0MTE3Ny0zNy42NDcwNTkgMC00Mi4xNjQ3MDYgMzMuMTI5NDEyLTc1LjI5NDExOCA3Mi4yODIzNTMtNzUuMjk0MTE3IDQwLjY1ODgyNCAwIDcyLjI4MjM1MyAzNC42MzUyOTQgNzIuMjgyMzUzIDc1LjI5NDExNyAxLjUwNTg4MiAxMy41NTI5NDEtMy4wMTE3NjUgMjcuMTA1ODgyLTkuMDM1Mjk0IDM5LjE1Mjk0MnogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduLW1pZGRsZSIgdW5pY29kZT0iJiM1OTQxNDsiIGQ9Ik0yMTAuODIzNTI5IDQyOS4xNzY0NzFoNjAyLjM1Mjk0MnYtNzIuMjgyMzUzSDIxMC44MjM1Mjl6TTUxMiA0NTQuNzc2NDcxbDEzNy4wMzUyOTQgMTYyLjYzNTI5NGgtMTAwLjg5NDExOHY2OS4yNzA1ODhoLTcyLjI4MjM1MnYtNjkuMjcwNTg4aC0xMDAuODk0MTE4ek01MTIgMzE0LjcyOTQxMmwtMTM3LjAzNTI5NC0xNjIuNjM1Mjk0aDEwMC44OTQxMTh2LTcwLjc3NjQ3MWg3Mi4yODIzNTJ2NzAuNzc2NDcxaDEwMC44OTQxMTh6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYWxpZ24tY2VudGVyIiB1bmljb2RlPSImIzU5NDE1OyIgZD0iTTIxMC44MjM1MjkgNjgyLjE2NDcwNmg2MDIuMzUyOTQyVjYwOS44ODIzNTNIMjEwLjgyMzUyOXpNMjg2LjExNzY0NyA0OTUuNDM1Mjk0aDQyMS42NDcwNTl2LTcwLjc3NjQ3SDI4Ni4xMTc2NDd6TTIxMC44MjM1MjkgMzI5Ljc4ODIzNWg2MDIuMzUyOTQydi03Mi4yODIzNTNIMjEwLjgyMzUyOXpNMjg2LjExNzY0NyAxNTguMTE3NjQ3aDQyMS42NDcwNTl2LTcyLjI4MjM1M0gyODYuMTE3NjQ3eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduLXJpZ2h0IiB1bmljb2RlPSImIzU5NDE2OyIgZD0iTTgxMy4xNzY0NzEgNjA5LjcxNjcwNkgyMTAuODIzNTI5djcyLjI4MjM1M2g2MDIuMzUyOTQyek04MTMuMTc2NDcxIDQyMy4wOTI3MDZIMzkxLjUyOTQxMnY3MC43NzY0N2g0MjEuNjQ3MDU5ek04MTMuMTc2NDcxIDI1Ni43NTI5NDFIMjEwLjgyMzUyOXY3Mi4yODIzNTNoNjAyLjM1Mjk0MnpNODEzLjE3NjQ3MSA4NS4xODc3NjVIMzkxLjUyOTQxMnY3Mi4yODIzNTNoNDIxLjY0NzA1OXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXItYWxsIiB1bmljb2RlPSImIzU5NDE3OyIgZD0iTTU0Mi4xMTc2NDcgNjg1LjE3NjQ3MUgyMTAuODIzNTI5di02MDIuMzUyOTQyaDYwMi4zNTI5NDJWNjg1LjE3NjQ3MUg1NDIuMTE3NjQ3eiBtLTI3MS4wNTg4MjMtNjAuMjM1Mjk1aDIxMC44MjM1Mjl2LTIxMC44MjM1MjlIMjcxLjA1ODgyNFY2MjQuOTQxMTc2eiBtMC00ODEuODgyMzUyVjM1My44ODIzNTNoMjEwLjgyMzUyOXYtMjEwLjgyMzUyOUgyNzEuMDU4ODI0eiBtNDgxLjg4MjM1MiAwSDU0Mi4xMTc2NDdWMzUzLjg4MjM1M2gyMTAuODIzNTI5di0yMTAuODIzNTI5ek01NDIuMTE3NjQ3IDQxNC4xMTc2NDdWNjI0Ljk0MTE3NmgyMTAuODIzNTI5di0yMTAuODIzNTI5SDU0Mi4xMTc2NDd6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYXJlYTEiIHVuaWNvZGU9IiYjNTk0MTg7IiBkPSJNNzY2LjQ5NDExOCA1NzMuNzQxMTc2Yy02MS43NDExNzYtMy4wMTE3NjUtODcuMzQxMTc2LTExNC40NDcwNTktMTA5LjkyOTQxMi0xNjUuNjQ3MDU4LTE5LjU3NjQ3MS0zOS4xNTI5NDEtNDMuNjcwNTg4LTcyLjI4MjM1My05My4zNjQ3MDYtNjYuMjU4ODI0LTY0Ljc1Mjk0MSAxLjUwNTg4Mi05MC4zNTI5NDEgMTQ2LjA3MDU4OC0xNTYuNjExNzY1IDk3Ljg4MjM1My00NS4xNzY0NzEtMzMuMTI5NDEyLTY3Ljc2NDcwNi0xMDUuNDExNzY1LTc5LjgxMTc2NC0xNjUuNjQ3MDU5VjIxMC44MjM1MjloNDM5LjcxNzY0N1Y1NzMuNzQxMTc2eiBtMCAwTTc4OS4wODIzNTMgMTY3LjE1Mjk0MUgyODMuMTA1ODgyVjYwOC4zNzY0NzFjMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI0LjA5NDExOC0yNC4wOTQxMTcgMjQuMDk0MTE3LTEzLjU1Mjk0MSAwLTI0LjA5NDExOC0xMC41NDExNzYtMjQuMDk0MTE4LTI0LjA5NDExN3YtNDY2LjgyMzUzYzAtMTMuNTUyOTQxIDEwLjU0MTE3Ni0yNC4wOTQxMTggMjIuNTg4MjM1LTI0LjA5NDExN0g3ODkuMDgyMzUzYzEzLjU1Mjk0MSAwIDI0LjA5NDExOCAxMC41NDExNzYgMjQuMDk0MTE4IDI0LjA5NDExNyAwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjUuNi0yNC4wOTQxMTggMjUuNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib2xkIiB1bmljb2RlPSImIzU5NDE5OyIgZD0iTTQzMC42ODIzNTMgMzk2LjA0NzA1OXYtMTgyLjIxMTc2NWMwLTIxLjA4MjM1MyAwLTM3LjY0NzA1OSA0LjUxNzY0Ny01NS43MTc2NDcgNC41MTc2NDctMTIuMDQ3MDU5IDkuMDM1Mjk0LTI1LjYgMTYuNTY0NzA2LTM0LjYzNTI5NCAxNi41NjQ3MDYtMjEuMDgyMzUzIDQyLjE2NDcwNi0zMC4xMTc2NDcgNzYuOC0zMC4xMTc2NDcgNDYuNjgyMzUzIDAgODQuMzI5NDEyIDEyLjA0NzA1OSAxMDkuOTI5NDEyIDM3LjY0NzA1OSAyNS42IDI1LjYgNDIuMTY0NzA2IDU4LjcyOTQxMiA0Mi4xNjQ3MDYgMTA1LjQxMTc2NCAwIDI1LjYtNC41MTc2NDcgNTEuMi0xMi4wNDcwNTkgNzIuMjgyMzUzLTkuMDM1Mjk0IDIxLjA4MjM1My0yMS4wODIzNTMgMzcuNjQ3MDU5LTM0LjYzNTI5NCA1MS4yLTI1LjYgMjEuMDgyMzUzLTY3Ljc2NDcwNiAzNC42MzUyOTQtMTIzLjQ4MjM1MyAzNC42MzUyOTRoLTc5LjgxMTc2NXogbTAgMjcyLjU2NDcwNnYtMjU5LjAxMTc2NWgzNC42MzUyOTRjMTYuNTY0NzA2IDAgMzQuNjM1Mjk0IDAgNTEuMiA0LjUxNzY0N3MzMC4xMTc2NDcgNC41MTc2NDcgMzcuNjQ3MDU5IDkuMDM1Mjk0bDI1LjYgMTIuMDQ3MDU5YzE2LjU2NDcwNiAxMi4wNDcwNTkgMjUuNiAyNS42IDM0LjYzNTI5NCA0Mi4xNjQ3MDYgOS4wMzUyOTQgMTYuNTY0NzA2IDEyLjA0NzA1OSAzNy42NDcwNTkgMTIuMDQ3MDU5IDU4LjcyOTQxMnMtNC41MTc2NDcgNDIuMTY0NzA2LTEyLjA0NzA1OSA2My4yNDcwNThjLTkuMDM1Mjk0IDIxLjA4MjM1My0yMS4wODIzNTMgMzQuNjM1Mjk0LTM0LjYzNTI5NCA0Ni42ODIzNTMtMTIuMDQ3MDU5IDkuMDM1Mjk0LTI1LjYgMTYuNTY0NzA2LTQyLjE2NDcwNiAyMS4wODIzNTNoLTEwNi45MTc2NDd6TTI0MC45NDExNzYgODIuODIzNTI5djkuMDM1Mjk1YzE2LjU2NDcwNiAwIDMwLjExNzY0NyA0LjUxNzY0NyA0Mi4xNjQ3MDYgOS4wMzUyOTQgOS4wMzUyOTQgNC41MTc2NDcgMjEuMDgyMzUzIDkuMDM1Mjk0IDI1LjYgMTYuNTY0NzA2IDkuMDM1Mjk0IDkuMDM1Mjk0IDE2LjU2NDcwNiAyMS4wODIzNTMgMTYuNTY0NzA2IDM0LjYzNTI5NCA0LjUxNzY0NyAxMi4wNDcwNTkgNC41MTc2NDcgMzcuNjQ3MDU5IDQuNTE3NjQ3IDY3Ljc2NDcwNlY1NDUuMTI5NDEyYzAgMzAuMTE3NjQ3IDAgNTEuMi00LjUxNzY0NyA2Ny43NjQ3MDYgMCAxMi4wNDcwNTktNC41MTc2NDcgMjUuNi0xNi41NjQ3MDYgMzQuNjM1Mjk0LTkuMDM1Mjk0IDkuMDM1Mjk0LTE2LjU2NDcwNiAxNi41NjQ3MDYtMjUuNiAyMS4wODIzNTMtOS4wMzUyOTQgNC41MTc2NDctMjUuNiA0LjUxNzY0Ny00Mi4xNjQ3MDYgOS4wMzUyOTRWNjg1LjE3NjQ3MWgzNDcuODU4ODI0YzM0LjYzNTI5NC00LjUxNzY0NyA1OC43Mjk0MTItOS4wMzUyOTQgODQuMzI5NDEyLTI1LjYgMTYuNTY0NzA2LTEyLjA0NzA1OSAzNC42MzUyOTQtMjUuNiA0Mi4xNjQ3MDYtNDYuNjgyMzUzIDkuMDM1Mjk0LTE2LjU2NDcwNiAxNi41NjQ3MDYtNDIuMTY0NzA2IDE2LjU2NDcwNi02My4yNDcwNTkgMC0zNy42NDcwNTktMTIuMDQ3MDU5LTY3Ljc2NDcwNi0zNC42MzUyOTUtOTMuMzY0NzA2LTkuMDM1Mjk0LTkuMDM1Mjk0LTE2LjU2NDcwNi0xNi41NjQ3MDYtMzAuMTE3NjQ3LTIxLjA4MjM1My0xMi4wNDcwNTktNC41MTc2NDctMjUuNi0xMi4wNDcwNTktNDYuNjgyMzUzLTIxLjA4MjM1MyAyNS42LTkuMDM1Mjk0IDQ2LjY4MjM1My0xMi4wNDcwNTkgNTguNzI5NDEyLTE2LjU2NDcwNiAxNi41NjQ3MDYtNC41MTc2NDcgMzAuMTE3NjQ3LTEyLjA0NzA1OSA0Mi4xNjQ3MDYtMjEuMDgyMzUzIDE2LjU2NDcwNi0xNi41NjQ3MDYgMzQuNjM1Mjk0LTM0LjYzNTI5NCA0Mi4xNjQ3MDYtNTUuNzE3NjQ3IDkuMDM1Mjk0LTIxLjA4MjM1MyAxNi41NjQ3MDYtNDYuNjgyMzUzIDE2LjU2NDcwNi03Mi4yODIzNTMgMC0yNS42LTQuNTE3NjQ3LTUxLjItMTYuNTY0NzA2LTcyLjI4MjM1M3MtMjUuNi0zNy42NDcwNTktNDIuMTY0NzA2LTU1LjcxNzY0N2MtMTYuNTY0NzA2LTEyLjA0NzA1OS0zNy42NDcwNTktMjEuMDgyMzUzLTYzLjI0NzA1OS0yNS42LTI1LjYtNC41MTc2NDctNTguNzI5NDEyLTkuMDM1Mjk0LTEwMi40LTkuMDM1Mjk0TDI0MC45NDExNzYgODIuODIzNTI5eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLWJvdHRvbSIgdW5pY29kZT0iJiM1OTQyMDsiIGQ9Ik03NTIuOTQxMTc2IDU5NC44MjM1MjloNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNzUyLjk0MTE3NiA1MDQuNDcwNTg4aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTc1Mi45NDExNzYgMzIzLjc2NDcwNmg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek03NTIuOTQxMTc2IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMzAxLjE3NjQ3MSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgNDE0LjExNzY0N2g2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek03NTIuOTQxMTc2IDY4NS4xNzY0NzFoNjAuMjM1Mjk1di02MC4yMzUyOTVoLTYwLjIzNTI5NXpNNjYyLjU4ODIzNSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgODIuODIzNTI5aDYwMi4zNTI5NDJ2NjMuMjQ3MDU5SDIxMC44MjM1MjlWODIuODIzNTI5ek00ODEuODgyMzUzIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1OTQuODIzNTI5aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTA0LjQ3MDU4OGg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAzMjMuNzY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMjMzLjQxMTc2NWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0yNzEuMDU4ODI0IDYyNC45NDExNzZ2NjAuMjM1Mjk1aC02MC4yMzUyOTV2LTYwLjIzNTI5NXpNMjEwLjgyMzUyOSA1OTQuODIzNTI5aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yNzEuMDU4ODI0IDM1My44ODIzNTN2NjAuMjM1Mjk0aC02MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSAzMjMuNzY0NzA2aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgMjMzLjQxMTc2NWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvcmRlciIgdW5pY29kZT0iJiM1OTQyMTsiIGQ9Ik03NjggNjg1LjE3NjQ3MUgyNTZjLTI0LjA5NDExOCAwLTQyLjE2NDcwNi0yMi41ODgyMzUtNDIuMTY0NzA2LTQ5LjY5NDExOHYtNTAxLjQ1ODgyNGMwLTI3LjEwNTg4MiAxOS41NzY0NzEtNDkuNjk0MTE4IDQyLjE2NDcwNi00OS42OTQxMTdoNTEyYzI0LjA5NDExOCAwIDQyLjE2NDcwNiAyMi41ODgyMzUgNDIuMTY0NzA2IDQ5LjY5NDExN1Y2MzUuNDgyMzUzYzAgMjcuMTA1ODgyLTE5LjU3NjQ3MSA0OS42OTQxMTgtNDIuMTY0NzA2IDQ5LjY5NDExOHpNNDA1LjA4MjM1MyAxMzIuNTE3NjQ3SDI1NnYxMjQuOTg4MjM1aDE0OS4wODIzNTN2LTEyNC45ODgyMzV6IG0wIDE3Ni4xODgyMzVIMjU2djEyNC45ODgyMzZoMTQ5LjA4MjM1M1YzMDguNzA1ODgyeiBtMCAxNzYuMTg4MjM2SDI1NlY2MDkuODgyMzUzaDE0OS4wODIzNTN2LTEyNC45ODgyMzV6IG0xNzAuMTY0NzA2LTM1Mi4zNzY0NzFoLTEyOHYxMjQuOTg4MjM1aDEyOHYtMTI0Ljk4ODIzNXogbTAgMTc2LjE4ODIzNWgtMTI4djEyNC45ODgyMzZoMTI4VjMwOC43MDU4ODJ6IG0wIDE3Ni4xODgyMzZoLTEyOFY2MDkuODgyMzUzaDEyOHYtMTI0Ljk4ODIzNXpNNzY4IDEzMi41MTc2NDdoLTE0OS4wODIzNTN2MTI0Ljk4ODIzNUg3Njh2LTEyNC45ODgyMzV6TTc2OCAzMDguNzA1ODgyaC0xNDkuMDgyMzUzdjEyNC45ODgyMzZINzY4VjMwOC43MDU4ODJ6IG0wIDE3Ni4xODgyMzZoLTE0OS4wODIzNTNWNjA5Ljg4MjM1M0g3Njh2LTEyNC45ODgyMzV6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXItbGVmdCIgdW5pY29kZT0iJiM1OTQyMjsiIGQ9Ik02NjIuNTg4MjM1IDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zMDEuMTc2NDcxIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTgxMS42NzA1ODggNjg1LjE3NjQ3MWgtNjAuMjM1Mjk0di02MC4yMzUyOTVIODEzLjE3NjQ3MXY2MC4yMzUyOTV6TTY2Mi41ODgyMzUgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAyMzMuNDExNzY1aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1MDQuNDcwNTg4aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNzUyLjk0MTE3NiAxNDMuMDU4ODI0aC0xLjUwNTg4MnYtNjAuMjM1Mjk1SDgxMy4xNzY0NzF2NjAuMjM1Mjk1aC0xLjUwNTg4M3pNNzUxLjQzNTI5NCAyMzMuNDExNzY1aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1MS40MzUyOTQgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTIuOTQxMTc2IDQxNC4xMTc2NDdoLTEuNTA1ODgydi02MC4yMzUyOTRIODEzLjE3NjQ3MXY2MC4yMzUyOTRoLTEuNTA1ODgzek03NTEuNDM1Mjk0IDUwNC40NzA1ODhoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNzUxLjQzNTI5NCA1OTQuODIzNTI5aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgNjg1LjE3NjQ3MXYtNjAyLjM1Mjk0Mmg2MC4yMzUyOTVWNjg1LjE3NjQ3MXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXItdG9wIiB1bmljb2RlPSImIzU5NDIzOyIgZD0iTTIxMC44MjM1MjkgMjMzLjQxMTc2NWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDMyMy43NjQ3MDZoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSA1MDQuNDcwNTg4aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTk0LjgyMzUyOWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek02NjIuNTg4MjM1IDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zMDEuMTc2NDcxIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA0MTQuMTE3NjQ3aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgMTQzLjA1ODgyNGg2MC4yMzUyOTV2LTYwLjIzNTI5NWgtNjAuMjM1Mjk1ek0zMDEuMTc2NDcxIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek02NjIuNTg4MjM1IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNODEzLjE3NjQ3MSA2ODUuMTc2NDcxSDIxMC44MjM1Mjl2LTYzLjI0NzA1OWg2MDIuMzUyOTQyVjY4NS4xNzY0NzF6TTQ4MS44ODIzNTMgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDIzMy40MTE3NjVoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAzMjMuNzY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDUwNC40NzA1ODhoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1OTQuODIzNTI5aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgMTQzLjA1ODgyNHYtNjAuMjM1Mjk1aDYwLjIzNTI5NXY2MC4yMzUyOTV6TTc1Mi45NDExNzYgMjMzLjQxMTc2NWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek03NTIuOTQxMTc2IDMyMy43NjQ3MDZoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNzUyLjk0MTE3NiA0MTQuMTE3NjQ3di02MC4yMzUyOTRoNjAuMjM1Mjk1djYwLjIzNTI5NHpNNzUyLjk0MTE3NiA1MDQuNDcwNTg4aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTc1Mi45NDExNzYgNTk0LjgyMzUyOWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvcmRlci1ub25lIiB1bmljb2RlPSImIzU5NDI0OyIgZD0iTTIxMC44MjM1MjkgODIuODIzNTI5djYwLjIzNTI5NWg2MC4yMzUyOTV2LTYwLjIzNTI5NXpNMjEwLjgyMzUyOSAxNzMuMTc2NDcxdjYwLjIzNTI5NGg2MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSAyNjMuNTI5NDEydjYwLjIzNTI5NGg2MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSAzNTMuODgyMzUzdjYwLjIzNTI5NGg2MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA0NDQuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA1MzQuNTg4MjM1djYwLjIzNTI5NGg2MC4yMzUyOTV2LTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA2MjQuOTQxMTc2djYwLjIzNTI5NWg2MC4yMzUyOTV2LTYwLjIzNTI5NXpNODEzLjE3NjQ3MSAzNTMuODgyMzUzaC02MC4yMzUyOTV2NjAuMjM1Mjk0aDYwLjIzNTI5NXpNNzIyLjgyMzUyOSAzNTMuODgyMzUzaC02MC4yMzUyOTR2NjAuMjM1Mjk0aDYwLjIzNTI5NHpNNjMyLjQ3MDU4OCAzNTMuODgyMzUzaC02MC4yMzUyOTR2NjAuMjM1Mjk0aDYwLjIzNTI5NHpNNTQyLjExNzY0NyAzNTMuODgyMzUzaC02MC4yMzUyOTR2NjAuMjM1Mjk0aDYwLjIzNTI5NHpNNDUxLjc2NDcwNiAzNTMuODgyMzUzaC02MC4yMzUyOTR2NjAuMjM1Mjk0aDYwLjIzNTI5NHpNMzYxLjQxMTc2NSAzNTMuODgyMzUzaC02MC4yMzUyOTR2NjAuMjM1Mjk0aDYwLjIzNTI5NHpNMjcxLjA1ODgyNCAzNTMuODgyMzUzaC02MC4yMzUyOTV2NjAuMjM1Mjk0aDYwLjIzNTI5NXpNMjEwLjgyMzUyOSAxNDMuMDU4ODI0aDYwLjIzNTI5NXYtNjAuMjM1Mjk1aC02MC4yMzUyOTV6TTMwMS4xNzY0NzEgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek02NjIuNTg4MjM1IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNzUyLjk0MTE3NiAxNDMuMDU4ODI0aDYwLjIzNTI5NXYtNjAuMjM1Mjk1aC02MC4yMzUyOTV6TTgxMy4xNzY0NzEgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk1djYwLjIzNTI5NWg2MC4yMzUyOTV6TTcyMi44MjM1MjkgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTYzMi40NzA1ODggNjI0Ljk0MTE3NmgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTU0Mi4xMTc2NDcgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTQ1MS43NjQ3MDYgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTM2MS40MTE3NjUgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk0djYwLjIzNTI5NWg2MC4yMzUyOTR6TTI3MS4wNTg4MjQgNjI0Ljk0MTE3NmgtNjAuMjM1Mjk1djYwLjIzNTI5NWg2MC4yMzUyOTV6TTQ4MS44ODIzNTMgODIuODIzNTI5djYwLjIzNTI5NWg2MC4yMzUyOTR2LTYwLjIzNTI5NXpNNDgxLjg4MjM1MyAxNzMuMTc2NDcxdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAyNjMuNTI5NDEydjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAzNTMuODgyMzUzdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA0NDQuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1MzQuNTg4MjM1djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA2MjQuOTQxMTc2djYwLjIzNTI5NWg2MC4yMzUyOTR2LTYwLjIzNTI5NXpNNzUxLjUyNTY0NyA4Mi43MzMxNzZ2NjAuMjM1Mjk1aDYwLjIzNTI5NHYtNjAuMjM1Mjk1ek03NTEuNTI1NjQ3IDE3My4wODYxMTh2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NTEuNTI1NjQ3IDI2My40MzkwNTl2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NTEuNTI1NjQ3IDM1My43OTJ2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NTEuNTI1NjQ3IDQ0NC4xNDQ5NDF2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NTEuNTI1NjQ3IDUzNC40OTc4ODJ2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0ek03NTEuNTI1NjQ3IDYyNC44NTA4MjR2NjAuMjM1Mjk0aDYwLjIzNTI5NHYtNjAuMjM1Mjk0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImRvdWdobnV0MSIgdW5pY29kZT0iJiM1OTQyNTsiIGQ9Ik01MTIgMTI2LjQ5NDExOGMxNDEuNTUyOTQxIDAgMjU3LjUwNTg4MiAxMTUuOTUyOTQxIDI1Ny41MDU4ODIgMjU3LjUwNTg4MiAwIDE0MS41NTI5NDEtMTE1Ljk1Mjk0MSAyNTcuNTA1ODgyLTI1Ny41MDU4ODIgMjU3LjUwNTg4Mi0xNDEuNTUyOTQxIDAtMjU3LjUwNTg4Mi0xMTUuOTUyOTQxLTI1Ny41MDU4ODItMjU3LjUwNTg4MiAwLTE0MS41NTI5NDEgMTE1Ljk1Mjk0MS0yNTcuNTA1ODgyIDI1Ny41MDU4ODItMjU3LjUwNTg4MnogbTAtNDMuNjcwNTg5Yy0xNjcuMTUyOTQxIDAtMzAxLjE3NjQ3MSAxMzQuMDIzNTI5LTMwMS4xNzY0NzEgMzAxLjE3NjQ3MXMxMzQuMDIzNTI5IDMwMS4xNzY0NzEgMzAxLjE3NjQ3MSAzMDEuMTc2NDcxIDMwMS4xNzY0NzEtMTM0LjAyMzUyOSAzMDEuMTc2NDcxLTMwMS4xNzY0NzEtMTM0LjAyMzUyOS0zMDEuMTc2NDcxLTMwMS4xNzY0NzEtMzAxLjE3NjQ3MXogbTAgMTcxLjY3MDU4OWM3My43ODgyMzUgMCAxMjkuNTA1ODgyIDU1LjcxNzY0NyAxMjkuNTA1ODgyIDEyOS41MDU4ODIgMCA3My43ODgyMzUtNTUuNzE3NjQ3IDEyOS41MDU4ODItMTI5LjUwNTg4MiAxMjkuNTA1ODgyLTczLjc4ODIzNSAwLTEyOS41MDU4ODItNTUuNzE3NjQ3LTEyOS41MDU4ODItMTI5LjUwNTg4MiAwLTczLjc4ODIzNSA1NS43MTc2NDctMTI5LjUwNTg4MiAxMjkuNTA1ODgyLTEyOS41MDU4ODJ6IG0wLTQyLjE2NDcwNmMtOTQuODcwNTg4IDAtMTcxLjY3MDU4OCA3Ni44LTE3MS42NzA1ODggMTcxLjY3MDU4OCAwIDk0Ljg3MDU4OCA3Ni44IDE3MS42NzA1ODggMTcxLjY3MDU4OCAxNzEuNjcwNTg4IDk0Ljg3MDU4OCAwIDE3MS42NzA1ODgtNzYuOCAxNzEuNjcwNTg4LTE3MS42NzA1ODggMC05NC44NzA1ODgtNzYuOC0xNzEuNjcwNTg4LTE3MS42NzA1ODgtMTcxLjY3MDU4OHogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImZvbnQiIHVuaWNvZGU9IiYjNTk0MjY7IiBkPSJNMjEyLjMyOTQxMiAxMjYuNDk0MTE4YzAtMTMuNTUyOTQxLTEuNTA1ODgyLTI4LjYxMTc2NS0xLjUwNTg4My00Mi4xNjQ3MDYgMjUuNiAwIDU1LjcxNzY0NyAxLjUwNTg4MiA4NC4zMjk0MTIgMS41MDU4ODJINDIxLjY0NzA1OWMxLjUwNTg4MiAxMy41NTI5NDEgMS41MDU4ODIgMjguNjExNzY1IDEuNTA1ODgyIDQyLjE2NDcwNmwtODUuODM1Mjk0IDMuMDExNzY1YzE1LjA1ODgyNCA0Mi4xNjQ3MDYgMzQuNjM1Mjk0IDk0Ljg3MDU4OCA1MS4yIDEzOC41NDExNzZINjE3LjQxMTc2NWM0LjUxNzY0NyAwIDYuMDIzNTI5LTEuNTA1ODgyIDYuMDIzNTI5LTQuNTE3NjQ3IDE1LjA1ODgyNC0zOS4xNTI5NDEgMzMuMTI5NDEyLTkwLjM1Mjk0MSA0OC4xODgyMzUtMTMxLjAxMTc2NSAxLjUwNTg4Mi0zLjAxMTc2NSAwLTQuNTE3NjQ3LTEuNTA1ODgyLTQuNTE3NjQ3bC03NS4yOTQxMTgtMy4wMTE3NjRjMC0xMy41NTI5NDEtMS41MDU4ODItMjguNjExNzY1LTEuNTA1ODgyLTQyLjE2NDcwNiAzNy42NDcwNTkgMCA4Mi44MjM1MjkgMS41MDU4ODIgMTI2LjQ5NDExOCAxLjUwNTg4Mmg5MC4zNTI5NDFjMS41MDU4ODIgMTMuNTUyOTQxIDEuNTA1ODgyIDI4LjYxMTc2NSAxLjUwNTg4MiA0Mi4xNjQ3MDZsLTU4LjcyOTQxMiAzLjAxMTc2NUM2OTEuMiAyOTMuNjQ3MDU5IDYwOC4zNzY0NzEgNTIxLjAzNTI5NCA1NDMuNjIzNTI5IDY4NS4xNzY0NzFjLTE5LjU3NjQ3MSAwLTQwLjY1ODgyNC0xLjUwNTg4Mi01MS4yLTEuNTA1ODgzQzQyNi4xNjQ3MDYgNTIxLjAzNTI5NCAzMzcuMzE3NjQ3IDI5NS4xNTI5NDEgMjcxLjA1ODgyNCAxMzIuNTE3NjQ3Yy0xLjUwNTg4Mi0zLjAxMTc2NS0zLjAxMTc2NS0zLjAxMTc2NS00LjUxNzY0OC0zLjAxMTc2NWwtNTQuMjExNzY0LTMuMDExNzY0eiBtMjk4LjE2NDcwNiA0NTQuNzc2NDdjMzAuMTE3NjQ3LTg0LjMyOTQxMiA2Ny43NjQ3MDYtMTg2LjcyOTQxMiA5Ny44ODIzNTMtMjY5LjU1Mjk0MWwtMjAwLjI4MjM1MyAxLjUwNTg4MmMtMy4wMTE3NjUgMC0zLjAxMTc2NSAxLjUwNTg4Mi0xLjUwNTg4MyA2LjAyMzUzIDMxLjYyMzUyOSA3OS44MTE3NjUgNjkuMjcwNTg4IDE4MC43MDU4ODIgMTAwLjg5NDExOCAyNjMuNTI5NDEyaDMuMDExNzY1eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9yZGVyLXJpZ2h0IiB1bmljb2RlPSImIzU5NDI3OyIgZD0iTTIxMC44MjM1MjkgMjMzLjQxMTc2NWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDMyMy43NjQ3MDZoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSA1MDQuNDcwNTg4aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTk0LjgyMzUyOWg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek02NjIuNTg4MjM1IDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zMDEuMTc2NDcxIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMjEwLjgyMzUyOSA0MTQuMTE3NjQ3aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgMTQzLjA1ODgyNGg2MC4yMzUyOTV2LTYwLjIzNTI5NWgtNjAuMjM1Mjk1ek0zMDEuMTc2NDcxIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzkxLjUyOTQxMiAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek02NjIuNTg4MjM1IDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNjYyLjU4ODIzNSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgNjg1LjE3NjQ3MWg2MC4yMzUyOTV2LTYwLjIzNTI5NWgtNjAuMjM1Mjk1ek00ODEuODgyMzUzIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyAyMzMuNDExNzY1aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgMzIzLjc2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA1MDQuNDcwNTg4aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNzUxLjQzNTI5NCA2ODUuMTc2NDcxdi02MDIuMzUyOTQySDgxMy4xNzY0NzFWNjg1LjE3NjQ3MXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJidWJibGUiIHVuaWNvZGU9IiYjNTk0Mjg7IiBkPSJNMzA1LjY5NDExOCAyMzAuNGMwLTIxLjA4MjM1MyAxNi41NjQ3MDYtMzcuNjQ3MDU5IDM3LjY0NzA1OC0zNy42NDcwNTkgMTAuNTQxMTc2IDAgMTkuNTc2NDcxIDQuNTE3NjQ3IDI3LjEwNTg4MyAxMi4wNDcwNTlzMTAuNTQxMTc2IDE2LjU2NDcwNiAxMC41NDExNzYgMjcuMTA1ODgyLTQuNTE3NjQ3IDE5LjU3NjQ3MS0xMC41NDExNzYgMjcuMTA1ODgzYy03LjUyOTQxMiA3LjUyOTQxMi0xNi41NjQ3MDYgMTAuNTQxMTc2LTI3LjEwNTg4MyAxMi4wNDcwNTktMTAuNTQxMTc2IDAtMTkuNTc2NDcxLTQuNTE3NjQ3LTI3LjEwNTg4Mi0xMi4wNDcwNTlzLTEwLjU0MTE3Ni0xOC4wNzA1ODgtMTAuNTQxMTc2LTI4LjYxMTc2NXogbTAgME0zNDEuODM1Mjk0IDQ1OS4yOTQxMThjMC0yMS4wODIzNTMgMTYuNTY0NzA2LTM3LjY0NzA1OSAzNy42NDcwNTktMzcuNjQ3MDU5IDEwLjU0MTE3NiAwIDE5LjU3NjQ3MSA0LjUxNzY0NyAyNy4xMDU4ODIgMTIuMDQ3MDU5czEwLjU0MTE3NiAxNi41NjQ3MDYgMTAuNTQxMTc3IDI3LjEwNTg4Mi00LjUxNzY0NyAxOS41NzY0NzEtMTAuNTQxMTc3IDI3LjEwNTg4MmMtNy41Mjk0MTIgNy41Mjk0MTItMTYuNTY0NzA2IDEwLjU0MTE3Ni0yNy4xMDU4ODIgMTIuMDQ3MDU5LTE5LjU3NjQ3MS0xLjUwNTg4Mi0zNy42NDcwNTktMTguMDcwNTg4LTM3LjY0NzA1OS00MC42NTg4MjN6IG0wIDBNNjgyLjE2NDcwNiAzNDYuMzUyOTQxYzAtMjEuMDgyMzUzIDE2LjU2NDcwNi0zNy42NDcwNTkgMzcuNjQ3MDU5LTM3LjY0NzA1OSAxMC41NDExNzYgMCAxOS41NzY0NzEgNC41MTc2NDcgMjcuMTA1ODgyIDEyLjA0NzA1OXMxMC41NDExNzYgMTYuNTY0NzA2IDEwLjU0MTE3NyAyNy4xMDU4ODNjMCAyMS4wODIzNTMtMTYuNTY0NzA2IDM3LjY0NzA1OS0zNy42NDcwNTkgMzcuNjQ3MDU4LTEwLjU0MTE3NiAwLTE5LjU3NjQ3MS00LjUxNzY0Ny0yNy4xMDU4ODMtMTIuMDQ3MDU4cy0xMC41NDExNzYtMTguMDcwNTg4LTEwLjU0MTE3Ni0yNy4xMDU4ODN6IG0wIDBNNTY5LjIyMzUyOSAzMDcuMmMwLTQyLjE2NDcwNi0zMy4xMjk0MTItNzYuOC03NS4yOTQxMTctNzYuOHMtNzUuMjk0MTE4IDM0LjYzNTI5NC03NS4yOTQxMTggNzYuOCAzMy4xMjk0MTIgNzYuOCA3NS4yOTQxMTggNzYuOGM0MC42NTg4MjQgMCA3NS4yOTQxMTgtMzQuNjM1Mjk0IDc1LjI5NDExNy03Ni44eiBtMCAwTTY4Mi4xNjQ3MDYgNTM3LjZjMC00Mi4xNjQ3MDYtMzMuMTI5NDEyLTc2LjgtNzUuMjk0MTE4LTc2LjhzLTc1LjI5NDExOCAzNC42MzUyOTQtNzUuMjk0MTE3IDc2LjggMzMuMTI5NDEyIDc2LjggNzUuMjk0MTE3IDc2LjhjNDAuNjU4ODI0IDAgNzUuMjk0MTE4LTM0LjYzNTI5NCA3NS4yOTQxMTgtNzYuOHogbTAgME03ODcuNTc2NDcxIDE2NS42NDcwNTloLTUyNy4wNTg4MjRWNjI2LjQ0NzA1OWMwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjUuNi0yNS42IDI1LjYtMTMuNTUyOTQxIDAtMjUuNi0xMi4wNDcwNTktMjUuNi0yNS42di00ODYuNGMwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDI0LjA5NDExOC0yNS42SDc4Ny41NzY0NzFjMTMuNTUyOTQxIDAgMjUuNiAxMi4wNDcwNTkgMjUuNiAyNS42IDAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkaWFncmFtMSIgdW5pY29kZT0iJiM1OTQyOTsiIGQ9Ik0zNTUuMzg4MjM1IDIyNS44ODIzNTNjMzEuNjIzNTI5IDAgNTcuMjIzNTI5IDI1LjYgNTcuMjIzNTMgNTcuMjIzNTI5IDAgMTIuMDQ3MDU5LTMuMDExNzY1IDIyLjU4ODIzNS05LjAzNTI5NCAzMS42MjM1M2w2MS43NDExNzYgMTAyLjRoOS4wMzUyOTRsNjEuNzQxMTc3LTEwMi40Yy00LjUxNzY0Ny0xMC41NDExNzYtOS4wMzUyOTQtMjEuMDgyMzUzLTkuMDM1Mjk0LTMxLjYyMzUzIDAtMzEuNjIzNTI5IDI1LjYtNTcuMjIzNTI5IDU3LjIyMzUyOS01Ny4yMjM1MjkgMzEuNjIzNTI5IDAgNTcuMjIzNTI5IDI1LjYgNTcuMjIzNTI5IDU3LjIyMzUyOSAwIDEyLjA0NzA1OS0zLjAxMTc2NSAyMi41ODgyMzUtMTAuNTQxMTc2IDMxLjYyMzUzbDEwMC44OTQxMTggMTc3LjY5NDExN2g0LjUxNzY0N2MzMS42MjM1MjkgMCA1Ny4yMjM1MjkgMjUuNiA1Ny4yMjM1MjkgNTcuMjIzNTMgMCAzMS42MjM1MjktMjUuNiA1Ny4yMjM1MjktNTcuMjIzNTI5IDU3LjIyMzUyOS0zMS42MjM1MjkgMC01Ny4yMjM1MjktMjUuNi01Ny4yMjM1My01Ny4yMjM1MjkgMC0xMi4wNDcwNTkgMy4wMTE3NjUtMjIuNTg4MjM1IDEwLjU0MTE3Ny0zMS42MjM1M2wtMTAwLjg5NDExOC0xNzcuNjk0MTE3aC05LjAzNTI5NGwtNjEuNzQxMTc3IDEwMi40YzYuMDIzNTI5IDkuMDM1Mjk0IDkuMDM1Mjk0IDE5LjU3NjQ3MSA5LjAzNTI5NSAzMS42MjM1MjkgMCAzMS42MjM1MjktMjUuNiA1Ny4yMjM1MjktNTcuMjIzNTMgNTcuMjIzNTMtMzEuNjIzNTI5IDAtNTcuMjIzNTI5LTI1LjYtNTcuMjIzNTI5LTU3LjIyMzUzIDAtMTIuMDQ3MDU5IDMuMDExNzY1LTIyLjU4ODIzNSA5LjAzNTI5NC0zMS42MjM1MjlMMzYxLjQxMTc2NSAzMzguODIzNTI5aC00LjUxNzY0N2MtMzEuNjIzNTI5IDAtNTcuMjIzNTI5LTI1LjYtNTcuMjIzNTMtNTcuMjIzNTI5LTEuNTA1ODgyLTMwLjExNzY0NyAyNC4wOTQxMTgtNTUuNzE3NjQ3IDU1LjcxNzY0Ny01NS43MTc2NDd6IG0wIDI0LjA5NDExOE03ODcuNTc2NDcxIDE2NS42NDcwNTloLTUyNy4wNTg4MjRWNjI2LjQ0NzA1OWMwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjUuNi0yNS42IDI1LjYtMTMuNTUyOTQxIDAtMjUuNi0xMi4wNDcwNTktMjUuNi0yNS42di00ODYuNGMwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDI0LjA5NDExOC0yNS42SDc4Ny41NzY0NzFjMTMuNTUyOTQxIDAgMjUuNiAxMi4wNDcwNTkgMjUuNiAyNS42IDAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib3JkZXItY3VzdG9tIiB1bmljb2RlPSImIzU5NDMwOyIgZD0iTTIwNy44MTE3NjUgODIuODY4NzA2djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNMjA3LjgxMTc2NSAxNzMuMjIxNjQ3djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNMjA3LjgxMTc2NSAyNjMuNTc0NTg4djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNMjA3LjgxMTc2NSAzNTMuOTI3NTI5djYwLjIzNTI5NWg2MC4yMzUyOTR2LTYwLjIzNTI5NXpNMjA3LjgxMTc2NSA0NDQuMjgwNDcxdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNMjA3LjgxMTc2NSA1MzQuNjMzNDEydjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNMjA3LjgxMTc2NSA2MjQuOTg2MzUzdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNTQwLjU1MTUyOSAzNTMuOTI3NTI5aC02MC4yMzUyOTR2NjAuMjM1Mjk1aDYwLjIzNTI5NHpNNDUwLjE5ODU4OCAzNTMuOTI3NTI5aC02MC4yMzUyOTR2NjAuMjM1Mjk1aDYwLjIzNTI5NHpNMzU5Ljg0NTY0NyAzNTMuOTI3NTI5aC02MC4yMzUyOTR2NjAuMjM1Mjk1aDYwLjIzNTI5NHpNMjY5LjQ5MjcwNiAzNTMuOTI3NTI5aC02MC4yMzUyOTR2NjAuMjM1Mjk1aDYwLjIzNTI5NHpNMjA3LjgxMTc2NSAxNDQuNTY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTI5OC4xNjQ3MDYgMTQ0LjU2NDcwNmg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zODguNTE3NjQ3IDE0NC41NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCAxNDQuNTY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTgxMS42MTAzNTMgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTcyMS4yNTc0MTIgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTYzMC45MDQ0NzEgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk1djYwLjIzNTI5NGg2MC4yMzUyOTV6TTU0MC41NTE1MjkgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTQ1MC4xOTg1ODggNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTM1OS44NDU2NDcgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTI2OS40OTI3MDYgNjI0Ljk4NjM1M2gtNjAuMjM1Mjk0djYwLjIzNTI5NGg2MC4yMzUyOTR6TTQ3OC44NzA1ODggODIuODY4NzA2djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCAxNzMuMjIxNjQ3djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCAyNjMuNTc0NTg4djYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCAzNTMuOTI3NTI5djYwLjIzNTI5NWg2MC4yMzUyOTR2LTYwLjIzNTI5NXpNNDc4Ljg3MDU4OCA0NDQuMjgwNDcxdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCA1MzQuNjMzNDEydjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCA2MjQuOTg2MzUzdjYwLjIzNTI5NGg2MC4yMzUyOTR2LTYwLjIzNTI5NHpNNDc4Ljg3MDU4OCAxNDYuMDcwNTg4aDMzNS44MTE3NjVWODIuODIzNTI5SDQ3OC44NzA1ODh6TTc0OC40OTg4MjQgNDQ1LjcxMTA1OXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTc0OC40OTg4MjQgNTM2LjA2NHY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTc0OC40OTg4MjQgNjI2LjQxNjk0MXY2MC4yMzUyOTRoNjAuMjM1Mjk0di02MC4yMzUyOTR6TTU2MS42OTQxMTggMjEzLjgzNTI5NHYtNDguMTg4MjM1aDQ2LjY4MjM1M2wxNDAuMDQ3MDU4IDE0My4wNTg4MjMtNDguMTg4MjM1IDQ4LjE4ODIzNnpNNzg0LjU2NDcwNiAzNjQuNDIzNTI5bC0yOC42MTE3NjUgMzAuMTE3NjQ3Yy0zLjAxMTc2NSAzLjAxMTc2NS02LjAyMzUyOSAzLjAxMTc2NS05LjAzNTI5NCAzLjAxMTc2NS0zLjAxMTc2NSAwLTYuMDIzNTI5LTEuNTA1ODgyLTkuMDM1Mjk0LTMuMDExNzY1bC0yMi41ODgyMzUtMjQuMDk0MTE3IDQ2LjY4MjM1My00OC4xODgyMzUgMjIuNTg4MjM1IDI0LjA5NDExN2MzLjAxMTc2NSAzLjAxMTc2NSAzLjAxMTc2NSA2LjAyMzUyOSAzLjAxMTc2NSA5LjAzNTI5NCAwIDMuMDExNzY1LTEuNTA1ODgyIDYuMDIzNTI5LTMuMDExNzY1IDkuMDM1Mjk0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvbHVtbjEiIHVuaWNvZGU9IiYjNTk0MzE7IiBkPSJNNTc5Ljc2NDcwNiAyMDEuNzg4MjM1aC00MC42NTg4MjRjLTEwLjU0MTE3NiAwLTE5LjU3NjQ3MSAxMi4wNDcwNTktMTkuNTc2NDcgMjguNjExNzY1VjQyNy42NzA1ODhjMCAxNS4wNTg4MjQgOS4wMzUyOTQgMjguNjExNzY1IDE5LjU3NjQ3IDI4LjYxMTc2NWg0MC42NTg4MjRjMTAuNTQxMTc2IDAgMTkuNTc2NDcxLTEyLjA0NzA1OSAxOS41NzY0Ny0yOC42MTE3NjV2LTE5Ny4yNzA1ODhjMC03LjUyOTQxMi0xLjUwNTg4Mi0xNS4wNTg4MjQtNi4wMjM1MjktMTkuNTc2NDcxLTMuMDExNzY1LTYuMDIzNTI5LTcuNTI5NDEyLTkuMDM1Mjk0LTEzLjU1Mjk0MS05LjAzNTI5NG0tMTEyLjk0MTE3NyAwaC00MC42NTg4MjNjLTYuMDIzNTI5IDAtMTAuNTQxMTc2IDMuMDExNzY1LTEzLjU1Mjk0MSA5LjAzNTI5NC0zLjAxMTc2NSA2LjAyMzUyOS02LjAyMzUyOSAxMi4wNDcwNTktNi4wMjM1MyAxOS41NzY0NzFWNTQwLjYxMTc2NWMwIDE1LjA1ODgyNCA5LjAzNTI5NCAyOC42MTE3NjUgMTkuNTc2NDcxIDI4LjYxMTc2NEg0NjYuODIzNTI5YzEwLjU0MTE3NiAwIDE5LjU3NjQ3MS0xMi4wNDcwNTkgMTkuNTc2NDcxLTI4LjYxMTc2NHYtMzExLjcxNzY0N2MwLTcuNTI5NDEyLTEuNTA1ODgyLTE1LjA1ODgyNC02LjAyMzUyOS0xOS41NzY0NzEtMy4wMTE3NjUtNC41MTc2NDctNy41Mjk0MTItNy41Mjk0MTItMTMuNTUyOTQyLTcuNTI5NDEybS0xMTIuOTQxMTc2IDBoLTQwLjY1ODgyNGMtNi4wMjM1MjkgMC0xMC41NDExNzYgMy4wMTE3NjUtMTMuNTUyOTQxIDkuMDM1Mjk0LTMuMDExNzY1IDYuMDIzNTI5LTYuMDIzNTI5IDEyLjA0NzA1OS02LjAyMzUyOSAxOS41NzY0NzF2NTcuMjIzNTI5YzAgMTUuMDU4ODI0IDkuMDM1Mjk0IDI4LjYxMTc2NSAxOS41NzY0NyAyOC42MTE3NjVoNDAuNjU4ODI0YzEwLjU0MTE3NiAwIDE5LjU3NjQ3MS0xMi4wNDcwNTkgMTkuNTc2NDcxLTI4LjYxMTc2NXYtNTcuMjIzNTI5YzAtNy41Mjk0MTItMS41MDU4ODItMTUuMDU4ODI0LTYuMDIzNTMtMTkuNTc2NDcxLTMuMDExNzY1LTYuMDIzNTI5LTkuMDM1Mjk0LTkuMDM1Mjk0LTEzLjU1Mjk0MS05LjAzNTI5NE02OTUuNzE3NjQ3IDIwMS43ODgyMzVoLTQwLjY1ODgyM2MtNi4wMjM1MjkgMC0xMC41NDExNzYgMy4wMTE3NjUtMTMuNTUyOTQyIDYuMDIzNTMtMy4wMTE3NjUgNC41MTc2NDctNi4wMjM1MjkgOS4wMzUyOTQtNi4wMjM1MjkgMTUuMDU4ODIzVjQ2Ni44MjM1MjljMCAxMi4wNDcwNTkgOS4wMzUyOTQgMjIuNTg4MjM1IDE5LjU3NjQ3MSAyMi41ODgyMzZoNDAuNjU4ODIzYzEwLjU0MTE3NiAwIDE5LjU3NjQ3MS0xMC41NDExNzYgMTkuNTc2NDcxLTIyLjU4ODIzNnYtMjQyLjQ0NzA1OGMwLTYuMDIzNTI5LTEuNTA1ODgyLTEyLjA0NzA1OS02LjAyMzUzLTE1LjA1ODgyNC0zLjAxMTc2NS00LjUxNzY0Ny03LjUyOTQxMi03LjUyOTQxMi0xMy41NTI5NDEtNy41Mjk0MTJNNzg3LjU3NjQ3MSAxNjUuNjQ3MDU5aC01MjcuMDU4ODI0VjYyNi40NDcwNTljMCAxMy41NTI5NDEtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42LTEzLjU1Mjk0MSAwLTI1LjYtMTIuMDQ3MDU5LTI1LjYtMjUuNnYtNDg2LjRjMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjUuNkg3ODcuNTc2NDcxYzEzLjU1Mjk0MSAwIDI1LjYgMTIuMDQ3MDU5IDI1LjYgMjUuNiAwIDE1LjA1ODgyNC0xMC41NDExNzYgMjUuNi0yNS42IDI1LjZ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaG9yaXpvbnRhbC1jb2x1bW4iIHVuaWNvZGU9IiYjNTk0MzI7IiBkPSJNNDYzLjgxMTc2NSA1MjUuNTUyOTQxaC0xNDkuMDgyMzUzYy0xNS4wNTg4MjQgMC0yOC42MTE3NjUgMTIuMDQ3MDU5LTI4LjYxMTc2NSAyOC42MTE3NjV2MTYuNTY0NzA2YzAgMTUuMDU4ODI0IDEyLjA0NzA1OSAyOC42MTE3NjUgMjguNjExNzY1IDI4LjYxMTc2NGgxNDkuMDgyMzUzYzE1LjA1ODgyNCAwIDI4LjYxMTc2NS0xMi4wNDcwNTkgMjguNjExNzY0LTI4LjYxMTc2NHYtMTYuNTY0NzA2YzAtMTYuNTY0NzA2LTEzLjU1Mjk0MS0yOC42MTE3NjUtMjguNjExNzY0LTI4LjYxMTc2NXpNNTYwLjE4ODIzNSAzMDguNzA1ODgySDMxNC43Mjk0MTJjLTE1LjA1ODgyNCAwLTI4LjYxMTc2NSAxMi4wNDcwNTktMjguNjExNzY1IDI4LjYxMTc2NVYzNTMuODgyMzUzYzAgMTUuMDU4ODI0IDEyLjA0NzA1OSAyOC42MTE3NjUgMjguNjExNzY1IDI4LjYxMTc2NWgyNDUuNDU4ODIzYzE1LjA1ODgyNCAwIDI4LjYxMTc2NS0xMi4wNDcwNTkgMjguNjExNzY1LTI4LjYxMTc2NXYtMTYuNTY0NzA2YzAtMTYuNTY0NzA2LTEzLjU1Mjk0MS0yOC42MTE3NjUtMjguNjExNzY1LTI4LjYxMTc2NXpNNDk5Ljk1Mjk0MSAyMDAuMjgyMzUzSDMxNC43Mjk0MTJjLTE1LjA1ODgyNCAwLTI4LjYxMTc2NSAxMi4wNDcwNTktMjguNjExNzY1IDI4LjYxMTc2NXYxNi41NjQ3MDZjMCAxNS4wNTg4MjQgMTIuMDQ3MDU5IDI4LjYxMTc2NSAyOC42MTE3NjUgMjguNjExNzY0aDE4NS4yMjM1MjljMTUuMDU4ODI0IDAgMjguNjExNzY1LTEyLjA0NzA1OSAyOC42MTE3NjUtMjguNjExNzY0di0xNi41NjQ3MDZjMC0xNi41NjQ3MDYtMTMuNTUyOTQxLTI4LjYxMTc2NS0yOC42MTE3NjUtMjguNjExNzY1ek02ODAuNjU4ODI0IDQxNy4xMjk0MTJIMzE0LjcyOTQxMmMtMTUuMDU4ODI0IDAtMjguNjExNzY1IDEyLjA0NzA1OS0yOC42MTE3NjUgMjguNjExNzY0djE2LjU2NDcwNmMwIDE1LjA1ODgyNCAxMi4wNDcwNTkgMjguNjExNzY1IDI4LjYxMTc2NSAyOC42MTE3NjVoMzY1LjkyOTQxMmMxNS4wNTg4MjQgMCAyOC42MTE3NjUtMTIuMDQ3MDU5IDI4LjYxMTc2NC0yOC42MTE3NjVWNDQ0LjIzNTI5NGMwLTE1LjA1ODgyNC0xMy41NTI5NDEtMjcuMTA1ODgyLTI4LjYxMTc2NC0yNy4xMDU4ODJ6TTc4Ny41NzY0NzEgMTY1LjY0NzA1OWgtNTI3LjA1ODgyNFY2MjYuNDQ3MDU5YzAgMTMuNTUyOTQxLTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNi0xMy41NTI5NDEgMC0yNS42LTEyLjA0NzA1OS0yNS42LTI1LjZ2LTQ4Ni40YzAtMTMuNTUyOTQxIDEwLjU0MTE3Ni0yNC4wOTQxMTggMjQuMDk0MTE4LTI1LjZINzg3LjU3NjQ3MWMxMy41NTI5NDEgMCAyNS42IDEyLjA0NzA1OSAyNS42IDI1LjYgMCAxNS4wNTg4MjQtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImZvbnQtc2l6ZSIgdW5pY29kZT0iJiM1OTQzMzsiIGQ9Ik00MzUuMiA2NDcuNTI5NDEyYy0zLjAxMTc2NS03OC4zMDU4ODItMy4wMTE3NjUtMTU5LjYyMzUyOS0zLjAxMTc2NS0yNDAuOTQxMTc3di00NS4xNzY0N2MwLTc5LjgxMTc2NSAwLTE1OS42MjM1MjkgMy4wMTE3NjUtMjM5LjQzNTI5NGw5NC44NzA1ODgtOS4wMzUyOTV2LTMwLjExNzY0N0gyNjguMDQ3MDU5djMwLjExNzY0N2w5NC44NzA1ODggOS4wMzUyOTVjMS41MDU4ODIgNzguMzA1ODgyIDEuNTA1ODgyIDE1OC4xMTc2NDcgMS41MDU4ODIgMjM5LjQzNTI5NHY0NS4xNzY0N2MwIDgxLjMxNzY0NyAwIDE2Mi42MzUyOTQtMS41MDU4ODIgMjQwLjk0MTE3N2gtMTUwLjU4ODIzNWwtMjIuNTg4MjM2LTEyMC40NzA1ODhIMTQ3LjU3NjQ3MWw3LjUyOTQxMSAxNTguMTE3NjQ3aDQ4Ny45MDU4ODNsNy41Mjk0MTEtMTU2LjYxMTc2NWgtNDAuNjU4ODIzbC0yMi41ODgyMzUgMTIwLjQ3MDU4OEg0MzUuMnogbTAgME03NDUuNDExNzY1IDQyMS42NDcwNTljLTEuNTA1ODgyLTQ2LjY4MjM1My0xLjUwNTg4Mi05NC44NzA1ODgtMS41MDU4ODMtMTQ0LjU2NDcwNnYtMjcuMTA1ODgyYzAtNDguMTg4MjM1IDAtOTYuMzc2NDcxIDEuNTA1ODgzLTE0My4wNTg4MjRsNTcuMjIzNTI5LTYuMDIzNTI5VjgyLjgyMzUyOUg2NDYuMDIzNTI5djE4LjA3MDU4OWw1Ny4yMjM1MyA2LjAyMzUyOWMxLjUwNTg4MiA0Ni42ODIzNTMgMS41MDU4ODIgOTQuODcwNTg4IDEuNTA1ODgyIDE0My4wNTg4MjR2MjcuMTA1ODgyYzAgNDguMTg4MjM1IDAgOTcuODgyMzUzLTEuNTA1ODgyIDE0NC41NjQ3MDZoLTkwLjM1Mjk0MWwtMTMuNTUyOTQyLTcyLjI4MjM1M2gtMjQuMDk0MTE3bDQuNTE3NjQ3IDkzLjM2NDcwNmgyOTIuMTQxMTc2bDQuNTE3NjQ3LTkzLjM2NDcwNmgtMjQuMDk0MTE3bC0xMy41NTI5NDEgNzIuMjgyMzUzaC05My4zNjQ3MDZ6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb25maWd1cmF0aW9uIiB1bmljb2RlPSImIzU5NDM0OyIgZD0iTTQ0Ny4yNDcwNTkgMTI2LjQ5NDExOEgyNTQuNDk0MTE4VjU5OS4zNDExNzZoODUuODM1Mjk0YzAtMjQuMDk0MTE4IDE5LjU3NjQ3MS00My42NzA1ODggNDMuNjcwNTg4LTQzLjY3MDU4OGgxNzEuNjcwNTg4YzI0LjA5NDExOCAwIDQzLjY3MDU4OCAxOS41NzY0NzEgNDMuNjcwNTg4IDQzLjY3MDU4OGg4NS44MzUyOTV2LTEwNi45MTc2NDdjMC0xMi4wNDcwNTkgOS4wMzUyOTQtMjEuMDgyMzUzIDIxLjA4MjM1My0yMS4wODIzNTMgMTIuMDQ3MDU5IDAgMjEuMDgyMzUzIDkuMDM1Mjk0IDIxLjA4MjM1MiAyMS4wODIzNTN2MTA2LjkxNzY0N2MwIDI0LjA5NDExOC0xOS41NzY0NzEgNDMuNjcwNTg4LTQzLjY3MDU4OCA0My42NzA1ODloLTg1LjgzNTI5NGMwIDI0LjA5NDExOC0xOS41NzY0NzEgNDMuNjcwNTg4LTQzLjY3MDU4OCA0My42NzA1ODhIMzgyLjQ5NDExOGMtMjQuMDk0MTE4IDAtNDMuNjcwNTg4LTE5LjU3NjQ3MS00My42NzA1ODktNDMuNjcwNTg4aC04NS44MzUyOTRjLTI0LjA5NDExOCAwLTQzLjY3MDU4OC0xOS41NzY0NzEtNDMuNjcwNTg4LTQzLjY3MDU4OXYtNDcyLjg0NzA1OGMwLTI0LjA5NDExOCAxOS41NzY0NzEtNDMuNjcwNTg4IDQzLjY3MDU4OC00My42NzA1ODloMTk0LjI1ODgyNGMxMi4wNDcwNTkgMCAyMS4wODIzNTMgOS4wMzUyOTQgMjEuMDgyMzUzIDIxLjA4MjM1MyAwIDEyLjA0NzA1OS05LjAzNTI5NCAyMi41ODgyMzUtMjEuMDgyMzUzIDIyLjU4ODIzNnogbS02NC43NTI5NDEgNTE2LjUxNzY0N2gxNzEuNjcwNTg4di00My42NzA1ODlIMzgyLjQ5NDExOHY0My42NzA1ODl6IG0wIDBNMzE3Ljc0MTE3NiA1MTMuNTA1ODgyYy0xMi4wNDcwNTkgMC0yMS4wODIzNTMtOS4wMzUyOTQtMjEuMDgyMzUyLTIxLjA4MjM1MyAwLTEyLjA0NzA1OSA5LjAzNTI5NC0yMS4wODIzNTMgMjEuMDgyMzUyLTIxLjA4MjM1M2gzMDEuMTc2NDcxYzEyLjA0NzA1OSAwIDIxLjA4MjM1MyA5LjAzNTI5NCAyMS4wODIzNTMgMjEuMDgyMzUzIDAgMTIuMDQ3MDU5LTkuMDM1Mjk0IDIxLjA4MjM1My0yMS4wODIzNTMgMjEuMDgyMzUzaC0zMDEuMTc2NDcxeiBtMTI5LjUwNTg4My0xMjkuNTA1ODgyaC0xMjkuNTA1ODgzYy0xMi4wNDcwNTkgMC0yMS4wODIzNTMtOS4wMzUyOTQtMjEuMDgyMzUyLTIxLjA4MjM1M3M5LjAzNTI5NC0yMS4wODIzNTMgMjEuMDgyMzUyLTIxLjA4MjM1M2gxMjkuNTA1ODgzYzEyLjA0NzA1OSAwIDIxLjA4MjM1MyA5LjAzNTI5NCAyMS4wODIzNTMgMjEuMDgyMzUzcy05LjAzNTI5NCAyMS4wODIzNTMtMjEuMDgyMzUzIDIxLjA4MjM1M3ogbS00Mi4xNjQ3MDYtMTI5LjUwNTg4MmgtODUuODM1Mjk0Yy0xMi4wNDcwNTkgMC0yMS4wODIzNTMtOS4wMzUyOTQtMjEuMDgyMzUzLTIxLjA4MjM1MyAwLTEyLjA0NzA1OSA5LjAzNTI5NC0yMS4wODIzNTMgMjEuMDgyMzUzLTIxLjA4MjM1M2g4NS44MzUyOTRjMTIuMDQ3MDU5IDAgMjEuMDgyMzUzIDkuMDM1Mjk0IDIxLjA4MjM1MyAyMS4wODIzNTMgMCAxMi4wNDcwNTktMTAuNTQxMTc2IDIxLjA4MjM1My0yMS4wODIzNTMgMjEuMDgyMzUzeiBtNDAzLjU3NjQ3MSAzNy42NDcwNThjLTMuMDExNzY1IDE4LjA3MDU4OC0xOC4wNzA1ODggMzEuNjIzNTI5LTM2LjE0MTE3NyAzNC42MzUyOTUtMy4wMTE3NjUgMC00LjUxNzY0NyAxLjUwNTg4Mi02LjAyMzUyOSA0LjUxNzY0Ny0xLjUwNTg4MiAzLjAxMTc2NS0xLjUwNTg4MiA0LjUxNzY0NyAwIDcuNTI5NDExIDYuMDIzNTI5IDE2LjU2NDcwNiAxLjUwNTg4MiAzNi4xNDExNzYtMTIuMDQ3MDU5IDQ5LjY5NDExOC0xOC4wNzA1ODggMTYuNTY0NzA2LTM5LjE1Mjk0MSAyOC42MTE3NjUtNjEuNzQxMTc3IDM3LjY0NzA1OS00LjUxNzY0NyAxLjUwNTg4Mi05LjAzNTI5NCAxLjUwNTg4Mi0xMy41NTI5NDEgMS41MDU4ODItMTMuNTUyOTQxIDAtMjUuNi02LjAyMzUyOS0zMy4xMjk0MTItMTYuNTY0NzA2LTEuNTA1ODgyLTEuNTA1ODgyLTQuNTE3NjQ3LTMuMDExNzY1LTYuMDIzNTI5LTMuMDExNzY0LTMuMDExNzY1IDAtNC41MTc2NDcgMS41MDU4ODItNi4wMjM1MjkgMy4wMTE3NjQtNy41Mjk0MTIgMTAuNTQxMTc2LTE5LjU3NjQ3MSAxNi41NjQ3MDYtMzMuMTI5NDEyIDE2LjU2NDcwNi00LjUxNzY0NyAwLTkuMDM1Mjk0IDAtMTMuNTUyOTQxLTEuNTA1ODgyLTIyLjU4ODIzNS03LjUyOTQxMi00My42NzA1ODgtMjEuMDgyMzUzLTYxLjc0MTE3Ny0zNy42NDcwNTktMTMuNTUyOTQxLTEyLjA0NzA1OS0xOC4wNzA1ODgtMzEuNjIzNTI5LTEyLjA0NzA1OS00OS42OTQxMTggMS41MDU4ODItMy4wMTE3NjUgMS41MDU4ODItNC41MTc2NDcgMC03LjUyOTQxMXMtMy4wMTE3NjUtNC41MTc2NDctNi4wMjM1MjktNC41MTc2NDdjLTE4LjA3MDU4OC0zLjAxMTc2NS0zMS42MjM1MjktMTYuNTY0NzA2LTM0LjYzNTI5NC0zNC42MzUyOTUtNC41MTc2NDctMjQuMDk0MTE4LTQuNTE3NjQ3LTQ5LjY5NDExOCAwLTczLjc4ODIzNSAzLjAxMTc2NS0xOC4wNzA1ODggMTguMDcwNTg4LTMxLjYyMzUyOSAzNi4xNDExNzYtMzQuNjM1Mjk0IDMuMDExNzY1IDAgNC41MTc2NDctMS41MDU4ODIgNi4wMjM1My00LjUxNzY0NyAxLjUwNTg4Mi0zLjAxMTc2NSAxLjUwNTg4Mi00LjUxNzY0NyAwLTcuNTI5NDEyLTYuMDIzNTI5LTE2LjU2NDcwNi0xLjUwNTg4Mi0zNi4xNDExNzYgMTIuMDQ3MDU5LTQ5LjY5NDExNyAxOC4wNzA1ODgtMTYuNTY0NzA2IDM5LjE1Mjk0MS0yOC42MTE3NjUgNjEuNzQxMTc2LTM3LjY0NzA1OSA0LjUxNzY0Ny0xLjUwNTg4MiA5LjAzNTI5NC0xLjUwNTg4MiAxMy41NTI5NDEtMS41MDU4ODMgMTMuNTUyOTQxIDAgMjUuNiA2LjAyMzUyOSAzMy4xMjk0MTIgMTYuNTY0NzA2IDEuNTA1ODgyIDEuNTA1ODgyIDQuNTE3NjQ3IDMuMDExNzY1IDYuMDIzNTI5IDMuMDExNzY1IDMuMDExNzY1IDAgNC41MTc2NDctMS41MDU4ODIgNi4wMjM1My0zLjAxMTc2NSAxMC41NDExNzYtMTMuNTUyOTQxIDMwLjExNzY0Ny0xOS41NzY0NzEgNDYuNjgyMzUzLTEzLjU1Mjk0MSAyMi41ODgyMzUgNy41Mjk0MTIgNDMuNjcwNTg4IDIxLjA4MjM1MyA2MS43NDExNzYgMzcuNjQ3MDU5IDEzLjU1Mjk0MSAxMi4wNDcwNTkgMTguMDcwNTg4IDMxLjYyMzUyOSAxMi4wNDcwNTkgNDkuNjk0MTE4LTEuNTA1ODgyIDMuMDExNzY1LTEuNTA1ODgyIDQuNTE3NjQ3IDAgNy41Mjk0MTFzMy4wMTE3NjUgNC41MTc2NDcgNi4wMjM1MjkgNC41MTc2NDdjMTguMDcwNTg4IDMuMDExNzY1IDMxLjYyMzUyOSAxNi41NjQ3MDYgMzYuMTQxMTc3IDM0LjYzNTI5NSAzLjAxMTc2NSAxMi4wNDcwNTkgMy4wMTE3NjUgMjQuMDk0MTE4IDMuMDExNzY1IDM2LjE0MTE3NiAwIDEyLjA0NzA1OS0xLjUwNTg4MiAyNC4wOTQxMTgtNC41MTc2NDcgMzYuMTQxMTc2ek03NjggMjI3LjM4ODIzNWMtMTUuMDU4ODI0LTMuMDExNzY1LTMwLjExNzY0Ny0xMi4wNDcwNTktMzcuNjQ3MDU5LTI3LjEwNTg4MnMtOS4wMzUyOTQtMzEuNjIzNTI5LTMuMDExNzY1LTQ2LjY4MjM1M2MtMTMuNTUyOTQxLTEyLjA0NzA1OS0yOC42MTE3NjUtMjIuNTg4MjM1LTQ2LjY4MjM1Mi0yOC42MTE3NjUtOS4wMzUyOTQgMTIuMDQ3MDU5LTI0LjA5NDExOCAxOS41NzY0NzEtMzkuMTUyOTQyIDE5LjU3NjQ3MXMtMzAuMTE3NjQ3LTcuNTI5NDEyLTM5LjE1Mjk0MS0xOS41NzY0NzFjLTE2LjU2NDcwNiA2LjAyMzUyOS0zMy4xMjk0MTIgMTUuMDU4ODI0LTQ2LjY4MjM1MyAyOC42MTE3NjUgNi4wMjM1MjkgMTUuMDU4ODI0IDQuNTE3NjQ3IDMxLjYyMzUyOS0zLjAxMTc2NCA0Ni42ODIzNTMtNy41Mjk0MTIgMTMuNTUyOTQxLTIxLjA4MjM1MyAyNC4wOTQxMTgtMzYuMTQxMTc3IDI3LjEwNTg4Mi0zLjAxMTc2NSAxOC4wNzA1ODgtMy4wMTE3NjUgMzcuNjQ3MDU5IDAgNTUuNzE3NjQ3IDE1LjA1ODgyNCAzLjAxMTc2NSAyOC42MTE3NjUgMTIuMDQ3MDU5IDM2LjE0MTE3NyAyNy4xMDU4ODMgNy41Mjk0MTIgMTMuNTUyOTQxIDkuMDM1Mjk0IDMxLjYyMzUyOSAzLjAxMTc2NCA0Ni42ODIzNTMgMTMuNTUyOTQxIDEyLjA0NzA1OSAyOC42MTE3NjUgMjIuNTg4MjM1IDQ2LjY4MjM1MyAyOC42MTE3NjQgOS4wMzUyOTQtMTIuMDQ3MDU5IDI0LjA5NDExOC0xOS41NzY0NzEgMzkuMTUyOTQxLTE5LjU3NjQ3czMwLjExNzY0NyA3LjUyOTQxMiAzOS4xNTI5NDIgMTkuNTc2NDdjMTYuNTY0NzA2LTYuMDIzNTI5IDMzLjEyOTQxMi0xNS4wNTg4MjQgNDYuNjgyMzUyLTI4LjYxMTc2NC02LjAyMzUyOS0xNS4wNTg4MjQtNC41MTc2NDctMzEuNjIzNTI5IDMuMDExNzY1LTQ2LjY4MjM1MyA3LjUyOTQxMi0xMy41NTI5NDEgMjEuMDgyMzUzLTI0LjA5NDExOCAzNi4xNDExNzctMjcuMTA1ODgzIDQuNTE3NjQ3LTE4LjA3MDU4OCA0LjUxNzY0Ny0zNy42NDcwNTkgMS41MDU4ODItNTUuNzE3NjQ3eiBtMCAwTTY0MS41MDU4ODIgMzEzLjIyMzUyOWMtMzYuMTQxMTc2IDAtNjQuNzUyOTQxLTI4LjYxMTc2NS02NC43NTI5NDEtNjQuNzUyOTQxczI4LjYxMTc2NS02NC43NTI5NDEgNjQuNzUyOTQxLTY0Ljc1Mjk0MSA2NC43NTI5NDEgMjguNjExNzY1IDY0Ljc1Mjk0MiA2NC43NTI5NDEtMjguNjExNzY1IDY0Ljc1Mjk0MS02NC43NTI5NDIgNjQuNzUyOTQxeiBtMC04NS44MzUyOTRjLTEyLjA0NzA1OSAwLTIxLjA4MjM1MyA5LjAzNTI5NC0yMS4wODIzNTMgMjEuMDgyMzUzIDAgMTIuMDQ3MDU5IDkuMDM1Mjk0IDIxLjA4MjM1MyAyMS4wODIzNTMgMjEuMDgyMzUzIDEyLjA0NzA1OSAwIDIxLjA4MjM1My05LjAzNTI5NCAyMS4wODIzNTMtMjEuMDgyMzUzIDAtMTIuMDQ3MDU5LTkuMDM1Mjk0LTIxLjA4MjM1My0yMS4wODIzNTMtMjEuMDgyMzUzeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW1wb3J0LWV4Y2VsIiB1bmljb2RlPSImIzU5NDM1OyIgZD0iTTcyMi44MjM1MjkgMjk5LjY3MDU4OGwtMjUuNi0zNC42MzUyOTQgNTguNzI5NDEyLTQyLjE2NDcwNkg1NjMuMnYtNDMuNjcwNTg4aDIwMC4yODIzNTNsLTYzLjI0NzA1OS02My4yNDcwNTkgMzEuNjIzNTMtMzEuNjIzNTI5IDEyMC40NzA1ODggMTIwLjQ3MDU4OC0xMjkuNTA1ODgzIDk0Ljg3MDU4OHpNMTczLjE3NjQ3MSAxNDYuMDcwNTg4TDUyOC41NjQ3MDYgODIuODIzNTI5VjY4NS4xNzY0NzFsLTM1NS4zODgyMzUtNjQuNzUyOTQydi00NzQuMzUyOTQxeiBtODcuMzQxMTc2IDM1Mi4zNzY0NzFsNTIuNzA1ODgyIDMuMDExNzY1IDM0LjYzNTI5NS05MC4zNTI5NDIgMzkuMTUyOTQxIDkzLjM2NDcwNiA1NC4yMTE3NjQgMy4wMTE3NjUtNjMuMjQ3MDU4LTEyNC45ODgyMzUgNjYuMjU4ODIzLTEyNi40OTQxMTgtNTcuMjIzNTI5IDMuMDExNzY1Yy0xLjUwNTg4MiA0LjUxNzY0Ny03LjUyOTQxMiAxOS41NzY0NzEtMTkuNTc2NDcxIDQ4LjE4ODIzNS02LjAyMzUyOSAxNi41NjQ3MDYtMTMuNTUyOTQxIDMzLjEyOTQxMi0xOS41NzY0NyA0OS42OTQxMThsLTM3LjY0NzA1OS05MS44NTg4MjQtNTEuMiAzLjAxMTc2NSA2MC4yMzUyOTQgMTE0LjQ0NzA1OS01OC43Mjk0MTIgMTE1Ljk1Mjk0MXogbTM2MS40MTE3NjUtMTY3LjE1Mjk0MWgxOS41NzY0N3YzLjAxMTc2NEg3MzcuODgyMzUzdi0zLjAxMTc2NGgzNy42NDcwNTlWNjAzLjg1ODgyNGMwIDMuMDExNzY1LTEuNTA1ODgyIDYuMDIzNTI5LTMuMDExNzY1IDYuMDIzNTI5LTMuMDExNzY1IDAtNi4wMjM1MjkgMS41MDU4ODItNy41Mjk0MTIgMS41MDU4ODJINTYxLjY5NDExOHYtMzcuNjQ3MDU5aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR2LTE5LjU3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTRWNDE0LjExNzY0N2g2MC4yMzUyOTR2LTU3LjIyMzUyOWgtNjAuMjM1Mjk0di0yMi41ODgyMzZoNjAuMjM1Mjk0di0zLjAxMTc2NHogbTE5LjU3NjQ3IDI0Mi40NDcwNThINzM3Ljg4MjM1M3YtNjAuMjM1Mjk0aC05Ni4zNzY0NzF2NjAuMjM1Mjk0eiBtMC03OS44MTE3NjRINzM3Ljg4MjM1M3YtNjAuMjM1Mjk0aC05Ni4zNzY0NzF2NjAuMjM1Mjk0eiBtMC03OS44MTE3NjVINzM3Ljg4MjM1M3YtNTcuMjIzNTI5aC05Ni4zNzY0NzFWNDE0LjExNzY0N3ogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImZvbnQtY29sb3IiIHVuaWNvZGU9IiYjNTk0MzY7IiBkPSJNMjY2LjU0MTE3NiAyMjcuMzg4MjM1YzAtMTAuNTQxMTc2LTEuNTA1ODgyLTIyLjU4ODIzNS0xLjUwNTg4Mi0zNC42MzUyOTRoMTczLjE3NjQ3MWMxLjUwNTg4MiAxMC41NDExNzYgMS41MDU4ODIgMjQuMDk0MTE4IDEuNTA1ODgyIDM0LjYzNTI5NGwtNzAuNzc2NDcxIDEuNTA1ODgzYzEyLjA0NzA1OSAzNC42MzUyOTQgMjguNjExNzY1IDc4LjMwNTg4MiA0Mi4xNjQ3MDYgMTE0LjQ0NzA1OGgxODYuNzI5NDEyYzMuMDExNzY1IDAgNC41MTc2NDcgMCA2LjAyMzUzLTMuMDExNzY0IDEyLjA0NzA1OS0zMS42MjM1MjkgMjcuMTA1ODgyLTczLjc4ODIzNSA0MC42NTg4MjMtMTA2LjkxNzY0NyAxLjUwNTg4Mi0xLjUwNTg4MiAwLTMuMDExNzY1LTEuNTA1ODgyLTMuMDExNzY1bC02MS43NDExNzctMS41MDU4ODJjMC0xMC41NDExNzYtMS41MDU4ODItMjIuNTg4MjM1LTEuNTA1ODgyLTM0LjYzNTI5NGgxNzcuNjk0MTE4YzEuNTA1ODgyIDEwLjU0MTE3NiAxLjUwNTg4MiAyNC4wOTQxMTggMS41MDU4ODIgMzQuNjM1Mjk0bC00OC4xODgyMzUgMS41MDU4ODJjLTUxLjIgMTM0LjAyMzUyOS0xMTguOTY0NzA2IDMyMC43NTI5NDEtMTcxLjY3MDU4OSA0NTQuNzc2NDcxLTE2LjU2NDcwNiAwLTMzLjEyOTQxMiAwLTQyLjE2NDcwNi0xLjUwNTg4My01NC4yMTE3NjUtMTMyLjUxNzY0Ny0xMjYuNDk0MTE4LTMxNy43NDExNzYtMTgyLjIxMTc2NC00NTAuMjU4ODIzLTEuNTA1ODgyLTEuNTA1ODgyLTMuMDExNzY1LTMuMDExNzY1LTQuNTE3NjQ3LTMuMDExNzY1bC00My42NzA1ODktMy4wMTE3NjV6IG0yNDMuOTUyOTQyIDM3My40NTg4MjRjMjUuNi02Ny43NjQ3MDYgNTUuNzE3NjQ3LTE1Mi4wOTQxMTggNzkuODExNzY0LTIyMS4zNjQ3MDZINDI2LjE2NDcwNmMtMy4wMTE3NjUgMC0zLjAxMTc2NSAxLjUwNTg4Mi0xLjUwNTg4MiA0LjUxNzY0NyAyNS42IDY0Ljc1Mjk0MSA1NS43MTc2NDcgMTQ3LjU3NjQ3MSA4Mi44MjM1MjkgMjE1LjM0MTE3NmgzLjAxMTc2NXogbTAgME0yNjIuMDIzNTI5IDEzMi41MTc2NDdoNTAxLjQ1ODgyNFY4Mi44MjM1MjlIMjYyLjAyMzUyOXoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJtZXJnZS1jZWxsIiB1bmljb2RlPSImIzU5NDM3OyIgZD0iTTc2My40ODIzNTMgNjg1LjE3NjQ3MUgyNjAuNTE3NjQ3Yy0yNy4xMDU4ODIgMC00OS42OTQxMTgtMjIuNTg4MjM1LTQ5LjY5NDExOC00OS42OTQxMTh2LTUwMS40NTg4MjRjMC0yNy4xMDU4ODIgMjIuNTg4MjM1LTQ5LjY5NDExOCA0OS42OTQxMTgtNDkuNjk0MTE3aDUwMS40NTg4MjRjMjcuMTA1ODgyIDAgNDkuNjk0MTE4IDIyLjU4ODIzNSA0OS42OTQxMTcgNDkuNjk0MTE3VjYzNS40ODIzNTNjMS41MDU4ODIgMjcuMTA1ODgyLTIxLjA4MjM1MyA0OS42OTQxMTgtNDguMTg4MjM1IDQ5LjY5NDExOHogbTAtNTUyLjY1ODgyNEgyNjAuNTE3NjQ3VjIzMy40MTE3NjVoNTAxLjQ1ODgyNHYtMTAwLjg5NDExOHogbTAgMTUwLjU4ODIzNUgyNjAuNTE3NjQ3VjQ4NC44OTQxMThoNTAxLjQ1ODgyNHYtMjAxLjc4ODIzNnogbTAgMjUxLjQ4MjM1M0gyNjAuNTE3NjQ3djEwMC44OTQxMThoNTAxLjQ1ODgyNFY1MzQuNTg4MjM1eiBtLTIwMS43ODgyMzUgMEg1MTJ2MTAwLjg5NDExOGg0OS42OTQxMThWNTM0LjU4ODIzNXpNNTEyIDEzMi41MTc2NDdoLTQ5LjY5NDExOFYyMzMuNDExNzY1SDUxMnYtMTAwLjg5NDExOHogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Im9ibGlxdWUtaGVhZCIgdW5pY29kZT0iJiM1OTQzODsiIGQ9Ik0yMTAuODIzNTI5IDIzMy40MTE3NjVoNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNMjEwLjgyMzUyOSAzMjMuNzY0NzA2aDYwLjIzNTI5NXYtNjAuMjM1Mjk0aC02MC4yMzUyOTV6TTIxMC44MjM1MjkgNTA0LjQ3MDU4OGg2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDU5NC44MjM1MjloNjAuMjM1Mjk1di02MC4yMzUyOTRoLTYwLjIzNTI5NXpNNjYyLjU4ODIzNSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTU3Mi4yMzUyOTQgNDE0LjExNzY0N2g2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDQxNC4xMTc2NDdoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA0MTQuMTE3NjQ3aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTIxMC44MjM1MjkgNDE0LjExNzY0N2g2MC4yMzUyOTV2LTYwLjIzNTI5NGgtNjAuMjM1Mjk1ek0yMTAuODIzNTI5IDE0My4wNTg4MjRoNjAuMjM1Mjk1di02MC4yMzUyOTVoLTYwLjIzNTI5NXpNMzAxLjE3NjQ3MSAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTM5MS41Mjk0MTIgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek00ODEuODgyMzUzIDE0My4wNTg4MjRoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCAxNDMuMDU4ODI0aDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTY2Mi41ODgyMzUgMTQzLjA1ODgyNGg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek04MTEuNjcwNTg4IDY4NS4xNzY0NzFoLTYwLjIzNTI5NHYtNjAuMjM1Mjk1SDgxMy4xNzY0NzF2NjAuMjM1Mjk1ek02NjIuNTg4MjM1IDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNNTcyLjIzNTI5NCA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTQ4MS44ODIzNTMgNjg1LjE3NjQ3MWg2MC4yMzUyOTR2LTYwLjIzNTI5NWgtNjAuMjM1Mjk0ek0zOTEuNTI5NDEyIDY4NS4xNzY0NzFoNjAuMjM1Mjk0di02MC4yMzUyOTVoLTYwLjIzNTI5NHpNMzAxLjE3NjQ3MSA2ODUuMTc2NDcxaDYwLjIzNTI5NHYtNjAuMjM1Mjk1aC02MC4yMzUyOTR6TTY2Mi41ODgyMzUgMjMzLjQxMTc2NWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek01NzIuMjM1Mjk0IDMyMy43NjQ3MDZoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNDgxLjg4MjM1MyA0MTQuMTE3NjQ3di02MC4yMzUyOTRoNjAuMjM1Mjk0djYwLjIzNTI5NHpNMzkxLjUyOTQxMiA1MDQuNDcwNTg4aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTMwMS4xNzY0NzEgNTk0LjgyMzUyOWg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek0yMTAuODIzNTI5IDY4NS4xNzY0NzF2LTYwLjIzNTI5NWg2MC4yMzUyOTV2NjAuMjM1Mjk1ek03NTEuNDM1Mjk0IDIzMy40MTE3NjVoNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNzUxLjQzNTI5NCAzMjMuNzY0NzA2aDYwLjIzNTI5NHYtNjAuMjM1Mjk0aC02MC4yMzUyOTR6TTc1Mi45NDExNzYgNDE0LjExNzY0N2gtMS41MDU4ODJ2LTYwLjIzNTI5NEg4MTMuMTc2NDcxdjYwLjIzNTI5NGgtMS41MDU4ODN6TTc1MS40MzUyOTQgNTA0LjQ3MDU4OGg2MC4yMzUyOTR2LTYwLjIzNTI5NGgtNjAuMjM1Mjk0ek03NTEuNDM1Mjk0IDU5NC44MjM1MjloNjAuMjM1Mjk0di02MC4yMzUyOTRoLTYwLjIzNTI5NHpNNzUyLjk0MTE3NiAxNDMuMDU4ODI0aC0xLjUwNTg4MnYtNjAuMjM1Mjk1SDgxMy4xNzY0NzF2NjAuMjM1Mjk1aC0xLjUwNTg4M3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwYWdlLXByZXZpZXciIHVuaWNvZGU9IiYjNTk0Mzk7IiBkPSJNNTcwLjcyOTQxMiAzNDYuMzUyOTQxbDY2LjI1ODgyMy02NC43NTI5NDFjOS4wMzUyOTQtOS4wMzUyOTQgMjQuMDk0MTE4LTMuMDExNzY1IDI0LjA5NDExOCAxMC41NDExNzZ2MTAuNTQxMTc3YzAgNy41Mjk0MTIgNi4wMjM1MjkgMTUuMDU4ODI0IDE1LjA1ODgyMyAxNS4wNTg4MjMgMzYuMTQxMTc2LTEuNTA1ODgyIDkzLjM2NDcwNi0xMi4wNDcwNTkgOTMuMzY0NzA2LTgyLjgyMzUyOSAwLTQuNTE3NjQ3IDAtOS4wMzUyOTQtMS41MDU4ODItMTMuNTUyOTQxLTEuNTA1ODgyLTE1LjA1ODgyNCAxOS41NzY0NzEtMjIuNTg4MjM1IDI3LjEwNTg4Mi05LjAzNTI5NCAxMC41NDExNzYgMTkuNTc2NDcxIDE4LjA3MDU4OCA0Mi4xNjQ3MDYgMTguMDcwNTg5IDY2LjI1ODgyMyAwIDEwOC40MjM1MjktOTcuODgyMzUzIDEyMy40ODIzNTMtMTM3LjAzNTI5NSAxMjYuNDk0MTE4LTcuNTI5NDEyIDAtMTMuNTUyOTQxIDYuMDIzNTI5LTEzLjU1Mjk0MSAxNS4wNTg4MjN2My4wMTE3NjVjMCAxMy41NTI5NDEtMTUuMDU4ODI0IDE5LjU3NjQ3MS0yNC4wOTQxMTcgMTAuNTQxMTc3TDU3Mi4yMzUyOTQgMzY3LjQzNTI5NGMtNi4wMjM1MjktNi4wMjM1MjktNi4wMjM1MjktMTUuMDU4ODI0LTEuNTA1ODgyLTIxLjA4MjM1M3ogbS05LjAzNTI5NCAxMC41NDExNzdNNDY4LjMyOTQxMiA1NDguMTQxMTc2aC0xMDguNDIzNTNjLTcuNTI5NDEyIDAtMTUuMDU4ODI0LTYuMDIzNTI5LTE1LjA1ODgyMy0xNS4wNTg4MjN2LTkuMDM1Mjk0YzAtNy41Mjk0MTIgNi4wMjM1MjktMTUuMDU4ODI0IDE1LjA1ODgyMy0xNS4wNTg4MjRoMTA4LjQyMzUzYzcuNTI5NDEyIDAgMTUuMDU4ODI0IDYuMDIzNTI5IDE1LjA1ODgyMyAxNS4wNTg4MjRWNTM0LjU4ODIzNWMtMS41MDU4ODIgNy41Mjk0MTItNy41Mjk0MTIgMTMuNTUyOTQxLTE1LjA1ODgyMyAxMy41NTI5NDF6TTM1OC40IDQwMy41NzY0NzFoMjE5Ljg1ODgyNGM3LjUyOTQxMiAwIDE1LjA1ODgyNCA2LjAyMzUyOSAxNS4wNTg4MjMgMTUuMDU4ODIzdjkuMDM1Mjk0YzAgNy41Mjk0MTItNi4wMjM1MjkgMTUuMDU4ODI0LTE1LjA1ODgyMyAxNS4wNTg4MjRIMzU4LjRjLTcuNTI5NDEyIDAtMTUuMDU4ODI0LTYuMDIzNTI5LTE1LjA1ODgyNC0xNS4wNTg4MjR2LTkuMDM1Mjk0YzEuNTA1ODgyLTkuMDM1Mjk0IDcuNTI5NDEyLTE1LjA1ODgyNCAxNS4wNTg4MjQtMTUuMDU4ODIzek02ODkuNjk0MTE4IDIyMi44NzA1ODh2LTgxLjMxNzY0N2MwLTcuNTI5NDEyLTYuMDIzNTI5LTE1LjA1ODgyNC0xNS4wNTg4MjQtMTUuMDU4ODIzSDI1NlY2NDQuNTE3NjQ3YzgyLjgyMzUyOSAwIDE2Mi42MzUyOTQgMCAyNDUuNDU4ODI0IDMuMDExNzY1IDcuNTI5NDEyIDAgMTUuMDU4ODI0LTYuMDIzNTI5IDE1LjA1ODgyMy0xMy41NTI5NDF2LTExMi45NDExNzdjMC0yNy4xMDU4ODIgMjIuNTg4MjM1LTQ4LjE4ODIzNSA0OC4xODgyMzUtNDguMTg4MjM1aDEwOC40MjM1M2M3LjUyOTQxMiAwIDE1LjA1ODgyNC02LjAyMzUyOSAxNS4wNTg4MjMtMTUuMDU4ODI0IDAtNy41Mjk0MTIgNi4wMjM1MjktMTUuMDU4ODI0IDE1LjA1ODgyNC0xNS4wNTg4MjNoMTMuNTUyOTQxYzcuNTI5NDEyIDAgMTUuMDU4ODI0IDYuMDIzNTI5IDE1LjA1ODgyNCAxNS4wNTg4MjN2NDUuMTc2NDcxYzAgMjIuNTg4MjM1LTcuNTI5NDEyIDQyLjE2NDcwNi0yMi41ODgyMzYgNTcuMjIzNTI5bC0xMDMuOTA1ODgyIDEwMy45MDU4ODNjLTE1LjA1ODgyNCAxNS4wNTg4MjQtMzQuNjM1Mjk0IDIyLjU4ODIzNS01Ny4yMjM1MyAyMi41ODgyMzVIMjQ1LjQ1ODgyNGMtNC41MTc2NDcgMC03LjUyOTQxMi00LjUxNzY0Ny0xMi4wNDcwNTktNC41MTc2NDctMTIuMDQ3MDU5LTQuNTE3NjQ3LTE5LjU3NjQ3MS0xNS4wNTg4MjQtMTkuNTc2NDcxLTMwLjExNzY0N1YzODRjMC04Ny4zNDExNzYgMC0xNzcuNjk0MTE4LTMuMDExNzY1LTI2NS4wMzUyOTR2LTQuNTE3NjQ3YzAtMTguMDcwNTg4IDE1LjA1ODgyNC0zMy4xMjk0MTIgMzQuNjM1Mjk1LTMzLjEyOTQxMmg0MzYuNzA1ODgyYzI3LjEwNTg4MiAwIDQ4LjE4ODIzNSAyMi41ODgyMzUgNDguMTg4MjM1IDQ4LjE4ODIzNXY5My4zNjQ3MDZjMCA3LjUyOTQxMi02LjAyMzUyOSAxNS4wNTg4MjQtMTUuMDU4ODIzIDE1LjA1ODgyNGgtMTMuNTUyOTQyYy02LjAyMzUyOSAwLTEyLjA0NzA1OS02LjAyMzUyOS0xMi4wNDcwNTgtMTUuMDU4ODI0ek01NTguNjgyMzUzIDY0MGM0LjUxNzY0NyAwIDEyLjA0NzA1OS00LjUxNzY0NyAxNS4wNTg4MjMtNy41Mjk0MTJsMTAzLjkwNTg4My0xMDMuOTA1ODgyYzQuNTE3NjQ3LTQuNTE3NjQ3IDcuNTI5NDEyLTcuNTI5NDEyIDcuNTI5NDEyLTE1LjA1ODgyNGgtMTExLjQzNTI5NWMtNy41Mjk0MTIgMC0xNS4wNTg4MjQgNi4wMjM1MjktMTUuMDU4ODIzIDE1LjA1ODgyNFY2NDB6TTM1OC40IDI5OS42NzA1ODhoMTg4LjIzNTI5NGM3LjUyOTQxMiAwIDE1LjA1ODgyNCA2LjAyMzUyOSAxNS4wNTg4MjQgMTUuMDU4ODI0VjMyMy43NjQ3MDZjMCA3LjUyOTQxMi02LjAyMzUyOSAxNS4wNTg4MjQtMTUuMDU4ODI0IDE1LjA1ODgyM0gzNTguNGMtNy41Mjk0MTIgMC0xNS4wNTg4MjQtNi4wMjM1MjktMTUuMDU4ODI0LTE1LjA1ODgyM3YtOS4wMzUyOTRjMS41MDU4ODItOS4wMzUyOTQgNy41Mjk0MTItMTUuMDU4ODI0IDE1LjA1ODgyNC0xNS4wNTg4MjR6TTM1OC40IDE5Mi43NTI5NDFoMjE5Ljg1ODgyNGM3LjUyOTQxMiAwIDE1LjA1ODgyNCA2LjAyMzUyOSAxNS4wNTg4MjMgMTUuMDU4ODI0djkuMDM1Mjk0YzAgNy41Mjk0MTItNi4wMjM1MjkgMTUuMDU4ODI0LTE1LjA1ODgyMyAxNS4wNTg4MjNIMzU4LjRjLTcuNTI5NDEyIDAtMTUuMDU4ODI0LTYuMDIzNTI5LTE1LjA1ODgyNC0xNS4wNTg4MjN2LTkuMDM1Mjk0YzEuNTA1ODgyLTkuMDM1Mjk0IDcuNTI5NDEyLTE1LjA1ODgyNCAxNS4wNTg4MjQtMTUuMDU4ODI0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9InJhZGFyMSIgdW5pY29kZT0iJiM1OTQ0MDsiIGQ9Ik02MzAuOTY0NzA2IDQ5MC45MTc2NDdjLTEzLjU1Mjk0MS00LjUxNzY0Ny0zMC4xMTc2NDctMy4wMTE3NjUtNDIuMTY0NzA2IDYuMDIzNTI5LTEyLjA0NzA1OSA5LjAzNTI5NC0xOS41NzY0NzEgMjIuNTg4MjM1LTIxLjA4MjM1MyAzNy42NDcwNTktMTIuMDQ3MDU5IDQuNTE3NjQ3LTI0LjA5NDExOCA3LjUyOTQxMi0zNy42NDcwNTkgOS4wMzUyOTR2LTg1LjgzNTI5NGMyNy4xMDU4ODItNy41Mjk0MTIgNDYuNjgyMzUzLTI3LjEwNTg4MiA1NC4yMTE3NjUtNTQuMjExNzY0aDg1LjgzNTI5NGMtMy4wMTE3NjUgMzEuNjIzNTI5LTE2LjU2NDcwNiA2MS43NDExNzYtMzkuMTUyOTQxIDg3LjM0MTE3NnogbTI4LjYxMTc2NSAyNS42YzI4LjYxMTc2NS0zMS42MjM1MjkgNDUuMTc2NDcxLTcwLjc3NjQ3MSA0OS42OTQxMTctMTEyLjk0MTE3Nmg2Ni4yNTg4MjRDNzY2LjQ5NDExOCA1MzQuNTg4MjM1IDY2Mi41ODgyMzUgNjM4LjQ5NDExOCA1MzEuNTc2NDcxIDY0Ny41Mjk0MTJ2LTY2LjI1ODgyNGMxOC4wNzA1ODgtMS41MDU4ODIgMzYuMTQxMTc2LTYuMDIzNTI5IDUyLjcwNTg4Mi0xMi4wNDcwNTkgMTYuNTY0NzA2IDE1LjA1ODgyNCA0MC42NTg4MjQgMTguMDcwNTg4IDU4LjcyOTQxMiA0LjUxNzY0NyAxOC4wNzA1ODgtMTMuNTUyOTQxIDI0LjA5NDExOC0zNy42NDcwNTkgMTYuNTY0NzA2LTU3LjIyMzUyOXpNMzc2LjQ3MDU4OCAzNjUuOTI5NDEyYy00LjUxNzY0Ny05LjAzNTI5NC0xMC41NDExNzYtMTYuNTY0NzA2LTE5LjU3NjQ3LTIxLjA4MjM1MyAxNi41NjQ3MDYtNjMuMjQ3MDU5IDcwLjc3NjQ3MS0xMTEuNDM1Mjk0IDEzNS41Mjk0MTEtMTE4Ljk2NDcwNnY4NS44MzUyOTRjLTI3LjEwNTg4MiA3LjUyOTQxMi00Ni42ODIzNTMgMjcuMTA1ODgyLTU0LjIxMTc2NCA1NC4yMTE3NjVIMzc2LjQ3MDU4OHogbTAgMzYuMTQxMTc2aDYzLjI0NzA1OWM3LjUyOTQxMiAyNy4xMDU4ODIgMjcuMTA1ODgyIDQ2LjY4MjM1MyA1NC4yMTE3NjUgNTQuMjExNzY1djg1LjgzNTI5NGMtNjYuMjU4ODI0LTcuNTI5NDEyLTExOC45NjQ3MDYtNTUuNzE3NjQ3LTEzNS41Mjk0MTItMTE4Ljk2NDcwNiA3LjUyOTQxMi0zLjAxMTc2NSAxMy41NTI5NDEtMTAuNTQxMTc2IDE4LjA3MDU4OC0yMS4wODIzNTN6IG0tODUuODM1Mjk0LTM2LjE0MTE3NmgtNDAuNjU4ODIzYzkuMDM1Mjk0LTEzMS4wMTE3NjUgMTEyLjk0MTE3Ni0yMzQuOTE3NjQ3IDI0My45NTI5NDEtMjQzLjk1Mjk0MVYxODguMjM1Mjk0Yy04NS44MzUyOTQgNy41Mjk0MTItMTU1LjEwNTg4MiA3MC43NzY0NzEtMTczLjE3NjQ3MSAxNTIuMDk0MTE4LTE1LjA1ODgyNCAzLjAxMTc2NS0yNS42IDEyLjA0NzA1OS0zMC4xMTc2NDcgMjUuNnogbTAgMzYuMTQxMTc2YzYuMDIzNTI5IDEyLjA0NzA1OSAxNi41NjQ3MDYgMjIuNTg4MjM1IDMwLjExNzY0NyAyNS42IDE5LjU3NjQ3MSA4MS4zMTc2NDcgODguODQ3MDU5IDE0My4wNTg4MjQgMTczLjE3NjQ3MSAxNTIuMDk0MTE4djY2LjI1ODgyM2MtMTMxLjAxMTc2NS05LjAzNTI5NC0yMzQuOTE3NjQ3LTExMi45NDExNzYtMjQzLjk1Mjk0MS0yNDMuOTUyOTQxaDQwLjY1ODgyM3ogbTI5My42NDcwNTktMzYuMTQxMTc2Yy03LjUyOTQxMi0yNy4xMDU4ODItMjcuMTA1ODgyLTQ2LjY4MjM1My01NC4yMTE3NjUtNTQuMjExNzY1di04NS44MzUyOTRjNzMuNzg4MjM1IDkuMDM1Mjk0IDEzMS4wMTE3NjUgNjYuMjU4ODI0IDE0MC4wNDcwNTkgMTQwLjA0NzA1OWgtODUuODM1Mjk0eiBtLTkwLjM1Mjk0MS0yODMuMTA1ODgzYy0xNTIuMDk0MTE4IDEwLjU0MTE3Ni0yNzIuNTY0NzA2IDEzMS4wMTE3NjUtMjgzLjEwNTg4MyAyODMuMTA1ODgzdjM3LjY0NzA1OWM5LjAzNTI5NCAxNTIuMDk0MTE4IDEzMS4wMTE3NjUgMjcyLjU2NDcwNiAyODEuNiAyODEuNmgzNy42NDcwNTljMTUyLjA5NDExOC05LjAzNTI5NCAyNzIuNTY0NzA2LTEzMS4wMTE3NjUgMjgxLjYtMjgxLjZ2LTM3LjY0NzA1OWMtOS4wMzUyOTQtMTUyLjA5NDExOC0xMjkuNTA1ODgyLTI3Mi41NjQ3MDYtMjgxLjYtMjgzLjEwNTg4M2gtMzYuMTQxMTc2eiBtMzYuMTQxMTc2IDM3LjY0NzA1OWMxMzEuMDExNzY1IDkuMDM1Mjk0IDIzNC45MTc2NDcgMTEyLjk0MTE3NiAyNDMuOTUyOTQxIDI0My45NTI5NDFINzA3Ljc2NDcwNmMtOS4wMzUyOTQtOTQuODcwNTg4LTg0LjMyOTQxMi0xNjguNjU4ODI0LTE3Ny42OTQxMTgtMTc3LjY5NDExN3YtNjYuMjU4ODI0eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icG9sYXItcGxvdCIgdW5pY29kZT0iJiM1OTQ0MTsiIGQ9Ik0zNjcuNDM1Mjk0IDMxNi4yMzUyOTRsLTMwLjExNzY0NyA1NS43MTc2NDdIMjQwLjk0MTE3NmMtMTYuNTY0NzA2IDAtMzAuMTE3NjQ3IDEyLjA0NzA1OS0zMC4xMTc2NDcgMzAuMTE3NjQ3IDAgNC41MTc2NDcgMCAxMi4wNDcwNTkgNC41MTc2NDcgMTYuNTY0NzA2bDE3NC42ODIzNTMgMjQ5Ljk3NjQ3MWM5LjAzNTI5NCAxMi4wNDcwNTkgMzAuMTE3NjQ3IDE2LjU2NDcwNiA0Mi4xNjQ3MDYgOS4wMzUyOTRsMTIuMDQ3MDU5LTEyLjA0NzA1OSA0LjUxNzY0Ny0xMi4wNDcwNTkgMjcyLjU2NDcwNi0yMS4wODIzNTNjMTYuNTY0NzA2IDAgMzAuMTE3NjQ3LTE2LjU2NDcwNiAyNS42LTMwLjExNzY0NyAwLTkuMDM1Mjk0LTQuNTE3NjQ3LTEyLjA0NzA1OS05LjAzNTI5NC0xNi41NjQ3MDZsMjEuMDgyMzUzLTI4MC4wOTQxMTcgMzcuNjQ3MDU5LTIxLjA4MjM1M2MxMi4wNDcwNTktOS4wMzUyOTQgMjEuMDgyMzUzLTI1LjYgMTIuMDQ3MDU5LTM3LjY0NzA1OWwtMTIuMDQ3MDU5LTEyLjA0NzA1OS0yODkuMTI5NDEyLTE0MC4wNDcwNTljLTEyLjA0NzA1OS05LjAzNTI5NC0zNC42MzUyOTQgMC0zNy42NDcwNTkgMTIuMDQ3MDU5LTQuNTE3NjQ3IDQuNTE3NjQ3LTQuNTE3NjQ3IDEyLjA0NzA1OS00LjUxNzY0NyAxNi41NjQ3MDZWMTI4bC0xMzUuNTI5NDEyIDExOC45NjQ3MDYtNC41MTc2NDcgNC41MTc2NDdjLTkuMDM1Mjk0IDEyLjA0NzA1OS00LjUxNzY0NyAzNC42MzUyOTQgOS4wMzUyOTQgNDIuMTY0NzA2bDMzLjEyOTQxMiAyMi41ODgyMzV6IG0zNC42MzUyOTQgMjQuMDk0MTE4bDUxLjIgMzQuNjM1Mjk0aC02Ny43NjQ3MDZsMTYuNTY0NzA2LTM0LjYzNTI5NHogbTEyOCA5MC4zNTI5NDFsMTU2LjYxMTc2NSAxNTYuNjExNzY1LTIyNS44ODIzNTMgMTYuNTY0NzA2IDY5LjI3MDU4OC0xNzMuMTc2NDcxeiBtLTM0LjYzNTI5NC04MS4zMTc2NDdsLTEyOC04NC4zMjk0MTIgMTAyLjQtODguODQ3MDU5IDI1LjYgMTczLjE3NjQ3MXogbTIwMC4yODIzNTMgMTg2LjcyOTQxMmwtMTM1LjUyOTQxMi0xMzUuNTI5NDEyIDE1My42LTgxLjMxNzY0Ny0xOC4wNzA1ODggMjE2Ljg0NzA1OXpNNTM3LjYgMzYyLjkxNzY0N2wtMzQuNjM1Mjk0LTIyOC44OTQxMTggMjQ2Ljk2NDcwNiAxMTguOTY0NzA2LTIxMi4zMjk0MTIgMTA5LjkyOTQxMnogbS0yNzEuMDU4ODI0IDQ5LjY5NDExOGgyMjUuODgyMzUzTDQxMS4xMDU4ODIgNjI0Ljk0MTE3NmwtMTQ0LjU2NDcwNi0yMTIuMzI5NDExeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGllMSIgdW5pY29kZT0iJiM1OTQ0MjsiIGQ9Ik01NDMuNjIzNTI5IDY4NS4xNzY0NzFINTEydi0zMDEuMTc2NDcxbDI5OS42NzA1ODggMy4wMTE3NjUgMS41MDU4ODMgMTAuNTQxMTc2djE4LjA3MDU4OEM4MTMuMTc2NDcxIDU2NC43MDU4ODIgNjkyLjcwNTg4MiA2ODUuMTc2NDcxIDU0My42MjM1MjkgNjg1LjE3NjQ3MXogbTIzNi40MjM1My0yNjguMDQ3MDU5SDU0NS4xMjk0MTJWNjUyLjA0NzA1OWM2MS43NDExNzYgMCAxMjEuOTc2NDcxLTI0LjA5NDExOCAxNjUuNjQ3MDU5LTY5LjI3MDU4OCA0My42NzA1ODgtNDMuNjcwNTg4IDY5LjI3MDU4OC0xMDMuOTA1ODgyIDY5LjI3MDU4OC0xNjUuNjQ3MDU5IDAtMS41MDU4ODIgMCAzLjAxMTc2NSAwIDB6IG0tMzAxLjE3NjQ3MSAyMDAuMjgyMzUzQzQwNi41ODgyMzUgNjIxLjkyOTQxMiAzMzcuMzE3NjQ3IDU5NC44MjM1MjkgMjg2LjExNzY0NyA1NDMuNjIzNTI5Yy01MS4yLTUxLjItNzguMzA1ODgyLTEyMC40NzA1ODgtNzUuMjk0MTE4LTE5Mi43NTI5NDFDMjEwLjgyMzUyOSAyMDMuMjk0MTE4IDMzMS4yOTQxMTggODIuODIzNTI5IDQ4MC4zNzY0NzEgODIuODIzNTI5YzE0MS41NTI5NDEgMCAyNjguMDQ3MDU5IDEwNS40MTE3NjUgMjY4LjA0NzA1OCAyNTEuNDgyMzUzbC0xLjUwNTg4MiAxNi41NjQ3MDZINDc4Ljg3MDU4OFY2MTcuNDExNzY1eiBtMjMzLjQxMTc2NS0yOTkuNjcwNTg5YzAtOTkuMzg4MjM1LTEwOC40MjM1MjktMjAwLjI4MjM1My0yMzMuNDExNzY1LTIwMC4yODIzNTItNjMuMjQ3MDU5LTMuMDExNzY1LTEyMy40ODIzNTMgMjEuMDgyMzUzLTE2OC42NTg4MjMgNjYuMjU4ODIzLTQ1LjE3NjQ3MSA0NS4xNzY0NzEtNjcuNzY0NzA2IDEwNS40MTE3NjUtNjYuMjU4ODI0IDE2OC42NTg4MjQgMCAxMzIuNTE3NjQ3IDg4Ljg0NzA1OSAyMzMuNDExNzY1IDIwMC4yODIzNTMgMjMzLjQxMTc2NHYtMjY4LjA0NzA1OWgyNjguMDQ3MDU5eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2NhdHRlciIgdW5pY29kZT0iJiM1OTQ0MzsiIGQ9Ik02NjQuMDk0MTE4IDIxOS44NTg4MjRjLTI3LjEwNTg4MiAwLTUxLjIgMjQuMDk0MTE4LTUxLjIgNTEuMiAwIDI3LjEwNTg4MiAyNC4wOTQxMTggNTEuMiA1MS4yIDUxLjIgMjcuMTA1ODgyIDAgNTEuMi0yNC4wOTQxMTggNTEuMi01MS4yLTEuNTA1ODgyLTI3LjEwNTg4Mi0yNS42LTUxLjItNTEuMi01MS4yek00NjIuMzA1ODgyIDM4OC41MTc2NDdjLTI3LjEwNTg4MiAwLTUxLjIgMjQuMDk0MTE4LTUxLjIgNTEuMiAwIDI3LjEwNTg4MiAyNC4wOTQxMTggNTEuMiA1MS4yIDUxLjIgMjcuMTA1ODgyIDAgNTEuMi0yNC4wOTQxMTggNTEuMi01MS4yLTEuNTA1ODgyLTI4LjYxMTc2NS0yNS42LTUxLjItNTEuMi01MS4yeiBtMTUwLjU4ODIzNiAxMzQuMDIzNTI5Yy0xOS41NzY0NzEgMC0zMy4xMjk0MTIgMTMuNTUyOTQxLTMzLjEyOTQxMiAzMy4xMjk0MTIgMCAxOS41NzY0NzEgMTMuNTUyOTQxIDMzLjEyOTQxMiAzMy4xMjk0MTIgMzMuMTI5NDEyIDE5LjU3NjQ3MSAwIDMzLjEyOTQxMi0xMy41NTI5NDEgMzMuMTI5NDExLTMzLjEyOTQxMiAwLTE5LjU3NjQ3MS0xMy41NTI5NDEtMzMuMTI5NDEyLTMzLjEyOTQxMS0zMy4xMjk0MTJ6IG0xMzQuMDIzNTI5LTEwMC44OTQxMTdjLTE5LjU3NjQ3MSAwLTMzLjEyOTQxMiAxMy41NTI5NDEtMzMuMTI5NDEyIDMzLjEyOTQxMiAwIDE5LjU3NjQ3MSAxMy41NTI5NDEgMzMuMTI5NDEyIDMzLjEyOTQxMiAzMy4xMjk0MTEgMTkuNTc2NDcxIDAgMzMuMTI5NDEyLTEzLjU1Mjk0MSAzMy4xMjk0MTItMzMuMTI5NDExIDEuNTA1ODgyLTE5LjU3NjQ3MS0xMi4wNDcwNTktMzMuMTI5NDEyLTMzLjEyOTQxMi0zMy4xMjk0MTJ6TTM0My4zNDExNzYgNDg5LjQxMTc2NWMtMTkuNTc2NDcxIDAtMzMuMTI5NDEyIDEzLjU1Mjk0MS0zMy4xMjk0MTEgMzMuMTI5NDExIDAgMTkuNTc2NDcxIDEzLjU1Mjk0MSAzMy4xMjk0MTIgMzMuMTI5NDExIDMzLjEyOTQxMiAxOS41NzY0NzEgMCAzMy4xMjk0MTItMTMuNTUyOTQxIDMzLjEyOTQxMi0zMy4xMjk0MTIgMS41MDU4ODItMTkuNTc2NDcxLTEyLjA0NzA1OS0zMy4xMjk0MTItMzMuMTI5NDEyLTMzLjEyOTQxMXpNNTEyIDI1Mi45ODgyMzVjLTE5LjU3NjQ3MSAwLTMzLjEyOTQxMiAxMy41NTI5NDEtMzMuMTI5NDEyIDMzLjEyOTQxMiAwIDE5LjU3NjQ3MSAxMy41NTI5NDEgMzMuMTI5NDEyIDMzLjEyOTQxMiAzMy4xMjk0MTIgMTkuNTc2NDcxIDAgMzMuMTI5NDEyLTEzLjU1Mjk0MSAzMy4xMjk0MTItMzMuMTI5NDEyIDAtMTkuNTc2NDcxLTEzLjU1Mjk0MS0zMy4xMjk0MTItMzMuMTI5NDEyLTMzLjEyOTQxMnogbTEwMC44OTQxMTggMTM1LjUyOTQxMmMtMTkuNTc2NDcxIDAtMzMuMTI5NDEyIDEzLjU1Mjk0MS0zMy4xMjk0MTIgMzMuMTI5NDEyIDAgMTkuNTc2NDcxIDEzLjU1Mjk0MSAzMy4xMjk0MTIgMzMuMTI5NDEyIDMzLjEyOTQxMiAxOS41NzY0NzEgMCAzMy4xMjk0MTItMTMuNTUyOTQxIDMzLjEyOTQxMS0zMy4xMjk0MTIgMC0xOS41NzY0NzEtMTMuNTUyOTQxLTMzLjEyOTQxMi0zMy4xMjk0MTEtMzMuMTI5NDEyek0zNzcuOTc2NDcxIDIxOS44NTg4MjRjLTE5LjU3NjQ3MSAwLTMzLjEyOTQxMiAxMy41NTI5NDEtMzMuMTI5NDEyIDMzLjEyOTQxMSAwIDE5LjU3NjQ3MSAxMy41NTI5NDEgMzMuMTI5NDEyIDMzLjEyOTQxMiAzMy4xMjk0MTIgMTkuNTc2NDcxIDAgMzMuMTI5NDEyLTEzLjU1Mjk0MSAzMy4xMjk0MTEtMzMuMTI5NDEyIDAtMTkuNTc2NDcxLTEzLjU1Mjk0MS0zMy4xMjk0MTItMzMuMTI5NDExLTMzLjEyOTQxMXogbS05MC4zNTI5NDIgNDI3LjY3MDU4OE03ODcuNTc2NDcxIDE2NS42NDcwNTloLTUyNy4wNTg4MjRWNjI2LjQ0NzA1OWMwIDEzLjU1Mjk0MS0xMC41NDExNzYgMjUuNi0yNS42IDI1LjYtMTMuNTUyOTQxIDAtMjUuNi0xMi4wNDcwNTktMjUuNi0yNS42di00ODYuNGMwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDI0LjA5NDExOC0yNS42SDc4Ny41NzY0NzFjMTMuNTUyOTQxIDAgMjUuNiAxMi4wNDcwNTkgMjUuNiAyNS42IDAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwcmV2aWV3IiB1bmljb2RlPSImIzU5NDQ0OyIgZD0iTTUxMiA1NzIuMjM1Mjk0QzMzMS4yOTQxMTggNTcyLjIzNTI5NCAyMTAuODIzNTI5IDM4NCAyMTAuODIzNTI5IDM4NHMxMjAuNDcwNTg4LTE4OC4yMzUyOTQgMzAxLjE3NjQ3MS0xODguMjM1Mjk0UzgxMy4xNzY0NzEgMzg0IDgxMy4xNzY0NzEgMzg0cy0xMjAuNDcwNTg4IDE4OC4yMzUyOTQtMzAxLjE3NjQ3MSAxODguMjM1Mjk0eiBtMC0zMTEuNzE3NjQ3Yy02Ni4yNTg4MjQgMC0xMjAuNDcwNTg4IDU1LjcxNzY0Ny0xMjAuNDcwNTg4IDEyNC45ODgyMzUgMCA2OS4yNzA1ODggNTQuMjExNzY1IDEyNC45ODgyMzUgMTIwLjQ3MDU4OCAxMjQuOTg4MjM2czEyMC40NzA1ODgtNTUuNzE3NjQ3IDEyMC40NzA1ODgtMTI0Ljk4ODIzNmMwLTY5LjI3MDU4OC01NC4yMTE3NjUtMTI0Ljk4ODIzNS0xMjAuNDcwNTg4LTEyNC45ODgyMzV6TTQ1MS43NjQ3MDYgMzg0YzAtMTYuNTY0NzA2IDYuMDIzNTI5LTMxLjYyMzUyOSAxOC4wNzA1ODgtNDMuNjcwNTg4IDEwLjU0MTE3Ni0xMi4wNDcwNTkgMjUuNi0xOC4wNzA1ODggNDIuMTY0NzA2LTE4LjA3MDU4OCAxNi41NjQ3MDYgMCAzMS42MjM1MjkgNi4wMjM1MjkgNDIuMTY0NzA2IDE4LjA3MDU4OCAyNC4wOTQxMTggMjQuMDk0MTE4IDI0LjA5NDExOCA2My4yNDcwNTkgMCA4OC44NDcwNTktMTAuNTQxMTc2IDEyLjA0NzA1OS0yNS42IDE4LjA3MDU4OC00Mi4xNjQ3MDYgMTguMDcwNTg4LTE2LjU2NDcwNiAwLTMxLjYyMzUyOS02LjAyMzUyOS00Mi4xNjQ3MDYtMTguMDcwNTg4LTEyLjA0NzA1OS0xMi4wNDcwNTktMTguMDcwNTg4LTI4LjYxMTc2NS0xOC4wNzA1ODgtNDUuMTc2NDcxeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icXVlcnktZm9ybSIgdW5pY29kZT0iJiM1OTQ0NTsiIGQ9Ik02ODMuNjcwNTg4IDU4Mi43NzY0NzFoLTM0Ni4zNTI5NDFjLTEzLjU1Mjk0MSAwLTI0LjA5NDExOC0xMC41NDExNzYtMjQuMDk0MTE4LTI0LjA5NDExOCAwLTEzLjU1Mjk0MSAxMC41NDExNzYtMjQuMDk0MTE4IDI0LjA5NDExOC0yNC4wOTQxMThoMzQ2LjM1Mjk0MWMxMy41NTI5NDEgMCAyNC4wOTQxMTggMTAuNTQxMTc2IDI0LjA5NDExOCAyNC4wOTQxMTggMCAxMi4wNDcwNTktMTAuNTQxMTc2IDI0LjA5NDExOC0yNC4wOTQxMTggMjQuMDk0MTE4eiBtLTI0NS40NTg4MjMtOTkuMzg4MjM2aC0xMDAuODk0MTE4Yy0xMy41NTI5NDEgMC0yNC4wOTQxMTgtMTAuNTQxMTc2LTI0LjA5NDExOC0yNC4wOTQxMTdzMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjQuMDk0MTE4aDEwMC44OTQxMThjMTMuNTUyOTQxIDAgMjQuMDk0MTE4IDEwLjU0MTE3NiAyNC4wOTQxMTcgMjQuMDk0MTE4IDAgMTMuNTUyOTQxLTEwLjU0MTE3NiAyNC4wOTQxMTgtMjQuMDk0MTE3IDI0LjA5NDExN3ogbS0xMDAuODk0MTE4LTE0Ny41NzY0N2g0OS42OTQxMThjMTMuNTUyOTQxIDAgMjQuMDk0MTE4IDEwLjU0MTE3NiAyNC4wOTQxMTcgMjQuMDk0MTE3IDAgMTMuNTUyOTQxLTEwLjU0MTE3NiAyNC4wOTQxMTgtMjQuMDk0MTE3IDI0LjA5NDExOGgtNDkuNjk0MTE4Yy0xMy41NTI5NDEgMC0yNC4wOTQxMTgtMTAuNTQxMTc2LTI0LjA5NDExOC0yNC4wOTQxMTggMC0xMy41NTI5NDEgMTAuNTQxMTc2LTI0LjA5NDExOCAyNC4wOTQxMTgtMjQuMDk0MTE3eiBtMCAwTTI2MC41MTc2NDcgMTUzLjZWNjE0LjRjMCAxMC41NDExNzYgNy41Mjk0MTIgMTguMDcwNTg4IDE4LjA3MDU4OCAxOC4wNzA1ODhoNDYzLjgxMTc2NWMxMC41NDExNzYgMCAxOC4wNzA1ODgtNy41Mjk0MTIgMTguMDcwNTg4LTE4LjA3MDU4OHYtMzA0LjE4ODIzNWg0OS42OTQxMThWNjE0LjRjMCAzNy42NDcwNTktMzAuMTE3NjQ3IDY3Ljc2NDcwNi02Ny43NjQ3MDYgNjcuNzY0NzA2SDI3OC41ODgyMzVjLTM3LjY0NzA1OSAwLTY3Ljc2NDcwNi0zMC4xMTc2NDctNjcuNzY0NzA2LTY3Ljc2NDcwNnYtNDYwLjhjMC0zNy42NDcwNTkgMzAuMTE3NjQ3LTY3Ljc2NDcwNiA2Ny43NjQ3MDYtNjcuNzY0NzA2aDMwMi42ODIzNTN2NDkuNjk0MTE4SDI3OC41ODgyMzVjLTEwLjU0MTE3NiAwLTE4LjA3MDU4OCA3LjUyOTQxMi0xOC4wNzA1ODggMTguMDcwNTg4eiBtMCAwTTgwNS42NDcwNTkgMTI4bC0xLjUwNTg4MyAxLjUwNTg4Mi0xMTQuNDQ3MDU4IDExNC40NDcwNTljMTMuNTUyOTQxIDE5LjU3NjQ3MSAyMS4wODIzNTMgNDMuNjcwNTg4IDIxLjA4MjM1MyA2Ny43NjQ3MDYgMCA2OS4yNzA1ODgtNTUuNzE3NjQ3IDEyMy40ODIzNTMtMTIzLjQ4MjM1MyAxMjMuNDgyMzUzLTY5LjI3MDU4OCAwLTEyMy40ODIzNTMtNTUuNzE3NjQ3LTEyMy40ODIzNTMtMTIzLjQ4MjM1MyAwLTY5LjI3MDU4OCA1NS43MTc2NDctMTIzLjQ4MjM1MyAxMjMuNDgyMzUzLTEyMy40ODIzNTMgMjUuNiAwIDQ5LjY5NDExOCA3LjUyOTQxMiA2OS4yNzA1ODggMjEuMDgyMzUzbDExNC40NDcwNTktMTE0LjQ0NzA1OSAxLjUwNTg4Mi0xLjUwNTg4MmM5LjAzNTI5NC05LjAzNTI5NCAyNC4wOTQxMTgtOS4wMzUyOTQgMzMuMTI5NDEyIDAgMTAuNTQxMTc2IDkuMDM1Mjk0IDEwLjU0MTE3NiAyNC4wOTQxMTggMCAzNC42MzUyOTR6IG0tMjE5Ljg1ODgyNCAxMDguNDIzNTI5Yy00MC42NTg4MjQgMC03My43ODgyMzUgMzMuMTI5NDEyLTczLjc4ODIzNSA3My43ODgyMzZzMzMuMTI5NDEyIDczLjc4ODIzNSA3My43ODgyMzUgNzMuNzg4MjM1IDczLjc4ODIzNS0zMy4xMjk0MTIgNzMuNzg4MjM2LTczLjc4ODIzNWMxLjUwNTg4Mi00MC42NTg4MjQtMzEuNjIzNTI5LTczLjc4ODIzNS03My43ODgyMzYtNzMuNzg4MjM2eiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icmVzdG9yZSIgdW5pY29kZT0iJiM1OTQ0NjsiIGQ9Ik04MTMuMTc2NDcxIDUxNi41MTc2NDdMNTcyLjIzNTI5NCAyNzQuMDcwNTg4djE0Ni4wNzA1ODhjLTcyLjI4MjM1MyAwLTI1OS4wMTE3NjUtMS41MDU4ODItMjU5LjAxMTc2NS0yMDEuNzg4MjM1IDAtMTAzLjkwNTg4MiA3MC43NzY0NzEtMTkxLjI0NzA1OSAxNjUuNjQ3MDU5LTIxMi4zMjk0MTJDMzI4LjI4MjM1MyAzMC4xMTc2NDcgMjEwLjgyMzUyOSAxNjQuMTQxMTc2IDIxMC44MjM1MjkgMzI4LjI4MjM1M2MwIDMwNS42OTQxMTggMzExLjcxNzY0NyAzMDcuMiAzNjEuNDExNzY1IDMwNy4yVjc2MC40NzA1ODhsMjQwLjk0MTE3Ny0yNDMuOTUyOTQxeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjQiIHVuaWNvZGU9IiYjNTk0NDc7IiBkPSJNODE5LjIgODcuMDRMNTIyLjI0IDM4NCA4MTkuMiA2ODAuOTZhMjUuNiAyNS42IDAgMCAxIDAgMzUuODQgMjkuMDEzMzMzIDI5LjAxMzMzMyAwIDAgMS0zNy41NDY2NjcgMS43MDY2NjdMNDg2LjQgNDIxLjU0NjY2NyAxODkuNDQgNzE4LjUwNjY2N2EyNy4zMDY2NjcgMjcuMzA2NjY3IDAgMCAxLTM3LjU0NjY2Ny0zNy41NDY2NjdMNDQ4Ljg1MzMzMyAzODQgMTUxLjg5MzMzMyA4Ny4wNGEyNS42IDI1LjYgMCAwIDEtNS4xMi0yOS4wMTMzMzMgMjcuMzA2NjY3IDI3LjMwNjY2NyAwIDAgMSAyMy44OTMzMzQtMTUuMzYgMzUuODQgMzUuODQgMCAwIDEgMTguNzczMzMzIDYuODI2NjY2bDI5Ni45NiAyOTYuOTYgMjk1LjI1MzMzMy0yOTYuOTZhMzUuODQgMzUuODQgMCAwIDEgMTguNzczMzM0LTYuODI2NjY2IDI3LjMwNjY2NyAyNy4zMDY2NjcgMCAwIDEgMjMuODkzMzMzIDE1LjM2IDI1LjYgMjUuNiAwIDAgMS01LjEyIDI5LjAxMzMzM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmRvIiB1bmljb2RlPSImIzU5NDQ4OyIgZD0iTTIxMC44MjM1MjkgNTE1LjAxMTc2NWwyNDAuOTQxMTc3LTIzNy45Mjk0MTJ2MTQ0LjU2NDcwNmM3Mi4yODIzNTMgMCAyNTkuMDExNzY1LTEuNTA1ODgyIDI1OS4wMTE3NjUtMTk4Ljc3NjQ3MSAwLTEwMi40LTcwLjc3NjQ3MS0xODguMjM1Mjk0LTE2NS42NDcwNTktMjA5LjMxNzY0NyAxNTAuNTg4MjM1IDIxLjA4MjM1MyAyNjguMDQ3MDU5IDE1My42IDI2OC4wNDcwNTkgMzE2LjIzNTI5NCAwIDMwMS4xNzY0NzEtMzExLjcxNzY0NyAzMDIuNjgyMzUzLTM2MS40MTE3NjUgMzAyLjY4MjM1M1Y3NTQuNDQ3MDU5TDIxMC44MjM1MjkgNTE1LjAxMTc2NXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW41IiB1bmljb2RlPSImIzU5NDQ5OyIgZD0iTTg5NiAxODIuNjEzMzMzbC02OS45NzMzMzMgMTM0LjgyNjY2N2gtMS43MDY2NjdsLTMuNDEzMzMzIDUuMTJoLTIzLjg5MzMzNGwtMTM2LjUzMzMzMy01MS4yYTIzLjg5MzMzMyAyMy44OTMzMzMgMCAwIDEtMTMuNjUzMzMzLTMwLjcyIDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDEgMzAuNzItMTUuMzZsODguNzQ2NjY2IDM0LjEzMzMzM2EyNzkuODkzMzMzIDI3OS44OTMzMzMgMCAwIDAtMjU5LjQxMzMzMy0xNjcuMjUzMzMzIDI4My4zMDY2NjcgMjgzLjMwNjY2NyAwIDAgMC0yNzQuNzczMzMzIDIxOC40NTMzMzMgMjUuNiAyNS42IDAgMCAxLTI5LjAxMzMzNCAxNy4wNjY2NjcgMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMS0xNy4wNjY2NjYtMjkuMDEzMzMzIDMzMi44IDMzMi44IDAgMCAxIDMyMC44NTMzMzMtMjU2IDMyNy42OCAzMjcuNjggMCAwIDEgMzAyLjA4IDIwMS4zODY2NjZsNDQuMzczMzMzLTgzLjYyNjY2NmEyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAxIDIyLjE4NjY2Ny0xMy42NTMzMzRoMTAuMjRhMjUuNiAyNS42IDAgMCAxIDEwLjI0IDM0LjEzMzMzNHpNMTkxLjE0NjY2NyA0NjUuOTJoMS43MDY2NjZjMC0zLjQxMzMzMyAxLjcwNjY2Ny01LjEyIDMuNDEzMzM0LTUuMTJhMS43MDY2NjcgMS43MDY2NjcgMCAwIDEgMS43MDY2NjYtMS43MDY2NjdsNi44MjY2NjctNS4xMmgxMy42NTMzMzNsMTM4LjI0IDM5LjI1MzMzNGEyMy44OTMzMzMgMjMuODkzMzMzIDAgMSAxLTExLjk0NjY2NiA0Ni4wOGwtOTIuMTYtMjUuNmEyODEuNiAyODEuNiAwIDAgMCA1MjUuNjUzMzMzLTQyLjY2NjY2NyAyMC40OCAyMC40OCAwIDAgMSAyOS4wMTMzMzMtMTUuMzYgMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMSAxNy4wNjY2NjcgMjkuMDEzMzMzIDMyOS4zODY2NjcgMzI5LjM4NjY2NyAwIDAgMS02MTQuNCA1NC42MTMzMzRMMTcwLjY2NjY2NyA2MjIuOTMzMzMzYTIzLjg5MzMzMyAyMy44OTMzMzMgMCAwIDEtMzIuNDI2NjY3IDEwLjI0IDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDEtMTAuMjQtMzIuNDI2NjY2bDYzLjE0NjY2Ny0xMzMuMTJ6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuOSIgdW5pY29kZT0iJiM1OTQ1MDsiIGQ9Ik0xNzUuNzg2NjY3IDM1My4yOHY2OC4yNjY2NjdjMCAzLjQxMzMzMyAxLjcwNjY2NyA2LjgyNjY2NyAxLjcwNjY2NiAxMS45NDY2NjYgMjMuODkzMzMzIDEzOC4yNCAxMDAuNjkzMzMzIDIzMi4xMDY2NjcgMjM1LjUyIDI3OC4xODY2NjdsNjguMjY2NjY3IDE3LjA2NjY2N2g2OC4yNjY2NjdsMTMuNjUzMzMzLTMuNDEzMzM0YzI3LjMwNjY2Ny04LjUzMzMzMyA1OC4wMjY2NjctMTMuNjUzMzMzIDgzLjYyNjY2Ny0yMy44OTMzMzNhMzM5LjYyNjY2NyAzMzkuNjI2NjY3IDAgMSAwLTQ2Mi41MDY2NjctMzk0LjI0IDQzNi45MDY2NjcgNDM2LjkwNjY2NyAwIDAgMC04LjUzMzMzMyA0Ni4wOHogbTYzNi41ODY2NjYgMzQuMTMzMzMzYTI5OC42NjY2NjcgMjk4LjY2NjY2NyAwIDAgMS0yOTYuOTYgMjk2Ljk2IDI5OC42NjY2NjcgMjk4LjY2NjY2NyAwIDAgMS0yOTUuMjUzMzMzLTI5NS4yNTMzMzMgMjk4LjY2NjY2NyAyOTguNjY2NjY3IDAgMCAxIDI5Ni45Ni0yOTYuOTYgMjk4LjY2NjY2NyAyOTguNjY2NjY3IDAgMCAxIDI5NS4yNTMzMzMgMjk1LjI1MzMzM3ogbTAgME00NTAuNTYgMzAyLjA4YzU4LjAyNjY2NyA1OS43MzMzMzMgMTE2LjA1MzMzMyAxMTkuNDY2NjY3IDE3NS43ODY2NjcgMTc3LjQ5MzMzM2wzNy41NDY2NjYgMzcuNTQ2NjY3YzEwLjI0IDEwLjI0IDIwLjQ4IDExLjk0NjY2NyAzMC43MiAxLjcwNjY2N2ExOC43NzMzMzMgMTguNzczMzMzIDAgMCAwIDAtMzIuNDI2NjY3TDQ2Ny42MjY2NjcgMjU5LjQxMzMzM2EyMy44OTMzMzMgMjMuODkzMzMzIDAgMCAwLTM5LjI1MzMzNCAwbC05OC45ODY2NjYgOTcuMjhhMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMCAwIDM0LjEzMzMzNCAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAwIDMyLjQyNjY2Ni0zLjQxMzMzNGw4OC43NDY2NjctODUuMzMzMzMzeiBtMCAwIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHVhYmFuMTZmdWJlbjE2IiB1bmljb2RlPSImIzU5NDUxOyIgZD0iTTgzMi44NTMzMzMgNjE0LjRoLTEwMC42OTMzMzN2NzUuMDkzMzMzYTMwLjcyIDMwLjcyIDAgMCAxLTMwLjcyIDMyLjQyNjY2N0gzNDQuNzQ2NjY3YTMwLjcyIDMwLjcyIDAgMCAxLTMwLjcyLTMyLjQyNjY2N3YtNzUuMDkzMzMzaC0xMDAuNjkzMzM0YTM0LjEzMzMzMyAzNC4xMzMzMzMgMCAwIDEtMzIuNDI2NjY2LTMyLjQyNjY2N3YtMjUyLjU4NjY2NmEzMC43MiAzMC43MiAwIDAgMSAzMi40MjY2NjYtMzIuNDI2NjY3aDEwMC42OTMzMzR2LTIxOC40NTMzMzNhMzAuNzIgMzAuNzIgMCAwIDEgMzAuNzItMzIuNDI2NjY3SDY5OS43MzMzMzNhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMSAzMi40MjY2NjcgMzIuNDI2NjY3VjI5Ni45NmgxMDAuNjkzMzMzYTMwLjcyIDMwLjcyIDAgMCAxIDMwLjcyIDMyLjQyNjY2N1Y1ODEuOTczMzMzYTMyLjQyNjY2NyAzMi40MjY2NjcgMCAwIDEtMzAuNzIgMzIuNDI2NjY3eiBtLTQ4Ni40IDczLjM4NjY2N2gzNTEuNTczMzM0di03MS42OEgzNDYuNDUzMzMzeiBtMzUxLjU3MzMzNC02MDkuMjhIMzQ2LjQ1MzMzM1YzOTAuODI2NjY3aDM1MS41NzMzMzR2LTMxMi4zMnogbTEzMy4xMiAyNTAuODhoLTk4Ljk4NjY2N3Y2My4xNDY2NjZhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMS0zMi40MjY2NjcgMzAuNzJIMzQ0Ljc0NjY2N2EzMC43MiAzMC43MiAwIDAgMS0zMC43Mi0zMC43MnYtNjMuMTQ2NjY2aC05OC45ODY2NjdWNTgwLjI2NjY2N2g2MTYuMTA2NjY3eiBtMCAwTTQwNi4xODY2NjcgMjA2LjUwNjY2N3YtMzkuMjUzMzM0aC0yMy44OTMzMzR2MTA5LjIyNjY2N2g0OS40OTMzMzRhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMCAyNS42LTEwLjI0IDM1Ljg0IDM1Ljg0IDAgMCAwIDguNTMzMzMzLTI1LjYgMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMC02LjgyNjY2Ny0yMC40OCAzMC43MiAzMC43MiAwIDAgMC0yNy4zMDY2NjYtMTMuNjUzMzMzeiBtMCAxOC43NzMzMzNINDI2LjY2NjY2N2ExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAxIDE1LjM2IDYuODI2NjY3IDU5LjczMzMzMyA1OS43MzMzMzMgMCAwIDEgMS43MDY2NjYgMTAuMjQgMTUuMzYgMTUuMzYgMCAwIDEtNS4xMiAxMS45NDY2NjZsLTE1LjM2IDMuNDEzMzM0aC0xNy4wNjY2NjZ6TTQ4NC42OTMzMzMgMTY3LjI1MzMzM3YxMDkuMjI2NjY3aDQ3Ljc4NjY2N2E0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDM1Ljg0LTE4Ljc3MzMzMyA2Ni41NiA2Ni41NiAwIDAgMCA4LjUzMzMzMy0zNC4xMzMzMzQgNjMuMTQ2NjY3IDYzLjE0NjY2NyAwIDAgMC0xMC4yNC0zNS44NCAzNS44NCAzNS44NCAwIDAgMC0zNS44NC0yMC40OHogbTIyLjE4NjY2NyA5MC40NTMzMzR2LTcxLjY4SDUyOS4wNjY2NjdhMjAuNDggMjAuNDggMCAwIDEgMTguNzczMzMzIDExLjk0NjY2NiA0OS40OTMzMzMgNDkuNDkzMzMzIDAgMCAxIDUuMTIgMjMuODkzMzM0IDQ3Ljc4NjY2NyA0Ny43ODY2NjcgMCAwIDEtOC41MzMzMzMgMzAuNzIgMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMS0xNy4wNjY2NjcgNS4xMnpNNjE2LjEwNjY2NyAyMTMuMzMzMzMzdi00Ni4wOGgtMjIuMTg2NjY3djEwOS4yMjY2NjdoNzYuOHYtMjAuNDhoLTU0LjYxMzMzM3YtMjMuODkzMzMzaDQ3Ljc4NjY2NlYyMTMuMzMzMzMzek01MzIuNDggNTM0LjE4NjY2N20xNy4wNjY2NjcgMGwyMjAuMTYgMHExNy4wNjY2NjcgMCAxNy4wNjY2NjYtMTcuMDY2NjY3bDAtMC4zNDEzMzNxMC0xNy4wNjY2NjctMTcuMDY2NjY2LTE3LjA2NjY2N2wtMjIwLjE2IDBxLTE3LjA2NjY2NyAwLTE3LjA2NjY2NyAxNy4wNjY2NjdsMCAwLjM0MTMzM3EwIDE3LjA2NjY2NyAxNy4wNjY2NjcgMTcuMDY2NjY3WiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9InVuZGVybGluZSIgdW5pY29kZT0iJiM1OTQ1MjsiIGQ9Ik0zMTEuNzE3NjQ3IDY1OS41NzY0NzFIMjcxLjA1ODgyNGMtNC41MTc2NDcgMC0xMC41NDExNzYgNC41MTc2NDctMTAuNTQxMTc3IDE1LjA1ODgyMyAwIDQuNTE3NjQ3IDQuNTE3NjQ3IDEwLjU0MTE3NiAxNS4wNTg4MjQgMTAuNTQxMTc3SDQ1MS43NjQ3MDZjNC41MTc2NDcgMCAxMC41NDExNzYtNC41MTc2NDcgMTAuNTQxMTc2LTEwLjU0MTE3NyAwLTQuNTE3NjQ3LTQuNTE3NjQ3LTEwLjU0MTE3Ni0xNS4wNTg4MjMtMTAuNTQxMTc2SDQzNi43MDU4ODJjLTE1LjA1ODgyNC00LjUxNzY0Ny0yNS42LTE1LjA1ODgyNC0yNS42LTMwLjExNzY0N3YtMjc1LjU3NjQ3MWMwLTg1LjgzNTI5NCA0NS4xNzY0NzEtMTI0Ljk4ODIzNSAxMDAuODk0MTE4LTEyNC45ODgyMzUgNzkuODExNzY1IDAgMTI0Ljk4ODIzNSA0OS42OTQxMTggMTI0Ljk4ODIzNSAxMjQuOTg4MjM1VjYzMy45NzY0NzFjMCAxNS4wNTg4MjQtMTAuNTQxMTc2IDI1LjYtMjUuNiAyNS42aC0zNC42MzUyOTRjLTQuNTE3NjQ3IDAtMTAuNTQxMTc2IDQuNTE3NjQ3LTEwLjU0MTE3NiAxMC41NDExNzYtNC41MTc2NDcgMTAuNTQxMTc2IDAgMTUuMDU4ODI0IDQuNTE3NjQ3IDE1LjA1ODgyNGgxNzQuNjgyMzUzYzEwLjU0MTE3NiAwIDE1LjA1ODgyNC00LjUxNzY0NyAxNS4wNTg4MjMtMTAuNTQxMTc3IDAtNC41MTc2NDctNC41MTc2NDctMTAuNTQxMTc2LTE1LjA1ODgyMy0xMC41NDExNzZoLTM0LjYzNTI5NGMtMTUuMDU4ODI0IDAtMjUuNi0xMC41NDExNzYtMjUuNi0yNS42di0yNzUuNTc2NDcxQzY4Ni42ODIzNTMgMjYzLjUyOTQxMiA2MjcuOTUyOTQxIDE4OC4yMzUyOTQgNTEyIDE4OC4yMzUyOTRjLTkwLjM1Mjk0MSAwLTE3NC42ODIzNTMgNjQuNzUyOTQxLTE3NC42ODIzNTMgMTc0LjY4MjM1M3YyNzEuMDU4ODI0YzAgMTUuMDU4ODI0LTEwLjU0MTE3NiAyNS42LTI1LjYgMjUuNnogbS00OS42OTQxMTgtNTI1LjU1Mjk0Mmg1MDEuNDU4ODI0di00OS42OTQxMTdIMjYyLjAyMzUyOXY0OS42OTQxMTd6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuOCIgdW5pY29kZT0iJiM1OTQ1MzsiIGQ9Ik03ODguNDggNjIxLjIyNjY2N2wtMTMuNjUzMzMzIDExLjk0NjY2Ni00NC4zNzMzMzQgNDIuNjY2NjY3aC0zLjQxMzMzM2wtNDcuNzg2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjYgMTMuNjUzMzMzLTYuODI2NjY3IDMuNDEzMzMzaC04LjUzMzMzM2ExNS4zNiAxNS4zNiAwIDAgMS0xNy4wNjY2NjctMTcuMDY2NjY2di0xNTMuNmgxNTMuNmwtMTcuMDY2NjY3IDE3LjA2NjY2NnYtNTEybDE3LjA2NjY2NyAxNy4wNjY2NjdoLTQ0My43MzMzMzNhNTEuMiA1MS4yIDAgMCAwLTUxLjIgNTEuMnY1ODAuMjY2NjY3bC0xNy4wNjY2NjctMTcuMDY2NjY3aDMwNy4yYTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAxLTE3LjA2NjY2NyAxNy4wNjY2NjZoLTMyNC4yNjY2Njd2LTU5Ny4zMzMzMzNhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzaDQ2MC44djU0Ni4xMzMzMzNoLTE1My42bDE3LjA2NjY2Ni0xNy4wNjY2Njd2MTM2LjUzMzMzNGExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAwLTE3LjA2NjY2Ni0xNy4wNjY2NjdoLTUuMTJjLTEuNzA2NjY3IDAgMCAwIDAtMS43MDY2NjdsMTUuMzYtMTAuMjQgNDYuMDgtNDAuOTYgMy40MTMzMzMtMy40MTMzMzMgNDQuMzczMzMzLTM1Ljg0IDE1LjM2LTEzLjY1MzMzM3ExLjcwNjY2Ny01LjEyIDUuMTItNS4xMmExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMSAxIDIzLjg5MzMzNCAyMy44OTMzMzNsLTYuODI2NjY3IDYuODI2NjY3ek0yNTQuMjkzMzMzIDQzMS43ODY2NjdoLTY4LjI2NjY2NnYtMjkwLjEzMzMzNGg2ODIuNjY2NjY2djI5MC4xMzMzMzRoLTYxNC40eiBtNjkuOTczMzM0LTE2NS41NDY2Njd2LTczLjM4NjY2N2gtMzQuMTMzMzM0VjM4Ny40MTMzMzNoNzUuMDkzMzM0YTY4LjI2NjY2NyA2OC4yNjY2NjcgMCAwIDAgNTEuMi0xNy4wNjY2NjYgNTEuMiA1MS4yIDAgMCAwIDE4Ljc3MzMzMy00NC4zNzMzMzQgNTEuMiA1MS4yIDAgMCAwLTE4Ljc3MzMzMy00NC4zNzMzMzMgNzYuOCA3Ni44IDAgMCAwLTUxLjItMTUuMzZ6IG0wIDI1LjZoNDAuOTZhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAyNy4zMDY2NjYgOC41MzMzMzMgMzcuNTQ2NjY3IDM3LjU0NjY2NyAwIDAgMSAwIDUxLjIgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMS0yNS42IDguNTMzMzM0SDMyNC4yNjY2Njd6IG0xNDEuNjUzMzMzLTk4Ljk4NjY2N1YzODcuNDEzMzMzaDU2LjMyYTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAgNDYuMDgtMTEuOTQ2NjY2IDYzLjE0NjY2NyA2My4xNDY2NjcgMCAwIDAgMzAuNzItMzIuNDI2NjY3IDEwNC4xMDY2NjcgMTA0LjEwNjY2NyAwIDAgMCAxMS45NDY2NjctNDcuNzg2NjY3di0xMC4yNGExMDkuMjI2NjY3IDEwOS4yMjY2NjcgMCAwIDAtMTEuOTQ2NjY3LTQ3Ljc4NjY2NiA2OS45NzMzMzMgNjkuOTczMzMzIDAgMCAwLTMwLjcyLTMyLjQyNjY2NyAxMDQuMTA2NjY3IDEwNC4xMDY2NjcgMCAwIDAtNDcuNzg2NjY3LTExLjk0NjY2N3ogbTMyLjQyNjY2NyAxNjcuMjUzMzM0di0xMzkuOTQ2NjY3aDIyLjE4NjY2NmE0Ni4wOCA0Ni4wOCAwIDAgMSA0MC45NiAxNy4wNjY2NjcgNjYuNTYgNjYuNTYgMCAwIDEgMTUuMzYgNDcuNzg2NjY2djEwLjI0YTc1LjA5MzMzMyA3NS4wOTMzMzMgMCAwIDEtMTMuNjUzMzMzIDQ3Ljc4NjY2NyA0Ny43ODY2NjcgNDcuNzg2NjY3IDAgMCAxLTQwLjk2IDE3LjA2NjY2N3ogbTI1Ny43MDY2NjYtODMuNjI2NjY3aC03OC41MDY2NjZ2LTgzLjYyNjY2N2gtMzQuMTMzMzM0VjM4Ny40MTMzMzNINzY4di0yNy4zMDY2NjZoLTkwLjQ1MzMzM3YtNTguMDI2NjY3aDc4LjUwNjY2NnogbTAgME0zMTIuMzIgNTYzLjJoMTAyLjR2MTAuMjRoMTEuOTQ2NjY3di0xMC4yNGgzMC43MnYtMTAuMjRINDI2LjY2NjY2N3YtMjUuNmExNy4wNjY2NjcgMTcuMDY2NjY3IDAgMCAwLTE4Ljc3MzMzNC0xOC43NzMzMzNoLTIzLjg5MzMzM2MwIDUuMTItMS43MDY2NjcgOC41MzMzMzMtMS43MDY2NjcgMTMuNjUzMzMzaDIyLjE4NjY2N2M2LjgyNjY2NyAwIDEwLjI0IDEuNzA2NjY3IDEwLjI0IDguNTMzMzMzdjIyLjE4NjY2N2gtMTAyLjR6IG0zOS4yNTMzMzMgMjUuNkg0MjYuNjY2NjY3YzguNTMzMzMzIDAgMTMuNjUzMzMzIDMuNDEzMzMzIDEzLjY1MzMzMyA4LjUzMzMzM2E0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDMuNDEzMzMzIDE3LjA2NjY2N2wxMS45NDY2NjctNS4xMmE3NS4wOTMzMzMgNzUuMDkzMzMzIDAgMCAxLTMuNDEzMzMzLTE3LjA2NjY2NyAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAwLTIyLjE4NjY2Ny0xMy42NTMzMzNoLTgwLjIxMzMzM2MtMTMuNjUzMzMzIDAtMjAuNDggNi44MjY2NjctMjAuNDggMTguNzczMzMzdjUxLjJoMTA0LjEwNjY2NnYtNDYuMDhoLTEwLjI0djUuMTJIMzQxLjMzMzMzM3YtOC41MzMzMzNhOC41MzMzMzMgOC41MzMzMzMgMCAwIDEgMTAuMjQtMTAuMjR6IG0tMTEuOTQ2NjY2LTQ0LjM3MzMzM2w4LjUzMzMzMyA2LjgyNjY2NiAyMy44OTMzMzMtMjAuNDgtOC41MzMzMzMtOC41MzMzMzN6IG0xLjcwNjY2NiA5My44NjY2NjZ2LTE4Ljc3MzMzM2g4MS45MnYxOC43NzMzMzN6TTU3Ni44NTMzMzMgNTgwLjI2NjY2N3Y1LjEyaC0zNy41NDY2NjZ2LTU5LjczMzMzNGg0Mi42NjY2NjZ2NDQuMzczMzM0aDExLjk0NjY2N3YtNjEuNDRoLTExLjk0NjY2N3Y1LjEyaC0xMDkuMjI2NjY2djU2LjMyaDExLjk0NjY2NnYtNDQuMzczMzM0aDQyLjY2NjY2N3Y1OS43MzMzMzRoLTUxLjJWNjQwaDEzLjY1MzMzM3YtNDIuNjY2NjY3aDM3LjU0NjY2N3Y1Ni4zMmgxMS45NDY2Njd2LTU2LjMyaDM3LjU0NjY2NlY2NDBoMTMuNjUzMzM0di01OS43MzMzMzN6TTIxNi43NDY2NjcgMzk3LjY1MzMzM2g1ODMuNjh2LTI0Ni4xMDEzMzNIMjE2Ljc0NjY2N3pNMzg5LjEyIDM3My43NnYtMjUuNmgtNzYuOHYtMzAuNzJoNjkuOTczMzMzdi0yNS42aC02OS45NzMzMzN2LTM3LjU0NjY2N0gzOTIuNTMzMzMzdi0yNy4zMDY2NjZoLTExMC45MzMzMzN2MTQ2Ljc3MzMzM3pNNDc2LjE2IDI4My4zMDY2NjdsMzUuODQtNTYuMzJoLTM0LjEzMzMzM2wtMTguNzczMzM0IDM0LjEzMzMzMy0xOC43NzMzMzMtMzQuMTMzMzMzaC0zNC4xMzMzMzNsMzUuODQgNTYuMzItMzUuODQgNTIuOTA2NjY2aDM1Ljg0bDE3LjA2NjY2Ni0zMi40MjY2NjYgMTguNzczMzM0IDMyLjQyNjY2NmgzNC4xMzMzMzN6TTU5My45MiAyNjcuOTQ2NjY3aDI5LjAxMzMzM2E1OC4wMjY2NjcgNTguMDI2NjY3IDAgMCAwLTEwLjI0LTI1LjYgNDcuNzg2NjY3IDQ3Ljc4NjY2NyAwIDAgMC0zOS4yNTMzMzMtMTcuMDY2NjY3IDQ0LjM3MzMzMyA0NC4zNzMzMzMgMCAwIDAtNDAuOTYgMTguNzczMzMzIDU0LjYxMzMzMyA1NC42MTMzMzMgMCAwIDAtMTAuMjQgMzQuMTMzMzM0IDgwLjIxMzMzMyA4MC4yMTMzMzMgMCAwIDAgMTEuOTQ2NjY3IDQ0LjM3MzMzMyA1Mi45MDY2NjcgNTIuOTA2NjY3IDAgMCAwIDQwLjk2IDE3LjA2NjY2NyA1OS43MzMzMzMgNTkuNzMzMzMzIDAgMCAwIDMwLjcyLTguNTMzMzM0IDM5LjI1MzMzMyAzOS4yNTMzMzMgMCAwIDAgMTcuMDY2NjY2LTM0LjEzMzMzM2gtMjkuMDEzMzMzYy0xLjcwNjY2NyA2LjgyNjY2Ny0zLjQxMzMzMyAxMS45NDY2NjctNi44MjY2NjcgMTMuNjUzMzMzYTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEtMTEuOTQ2NjY2IDUuMTIgMjAuNDggMjAuNDggMCAwIDEtMTguNzczMzM0LTExLjk0NjY2NiAzNS44NCAzNS44NCAwIDAgMS01LjEyLTIwLjQ4IDQwLjk2IDQwLjk2IDAgMCAxIDYuODI2NjY3LTI3LjMwNjY2NyAyMC40OCAyMC40OCAwIDAgMSAzMC43MiAwIDE1LjM2IDE1LjM2IDAgMCAxIDUuMTIgMTEuOTQ2NjY3ek03MDYuNTYgMjU5LjQxMzMzM2gyOS4wMTMzMzNhNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMC0xOC43NzMzMzMtMjcuMzA2NjY2IDU2LjMyIDU2LjMyIDAgMCAwLTI5LjAxMzMzMy02LjgyNjY2NyA1Ni4zMiA1Ni4zMiAwIDAgMC0zOS4yNTMzMzQgMTEuOTQ2NjY3IDY0Ljg1MzMzMyA2NC44NTMzMzMgMCAwIDAtMTUuMzYgNDcuNzg2NjY2IDU5LjczMzMzMyA1OS43MzMzMzMgMCAwIDAgOC41MzMzMzQgMzAuNzIgNDcuNzg2NjY3IDQ3Ljc4NjY2NyAwIDAgMCA0NC4zNzMzMzMgMjMuODkzMzM0IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMzIuNDI2NjY3LTExLjk0NjY2NyA1OS43MzMzMzMgNTkuNzMzMzMzIDAgMCAwIDE4Ljc3MzMzMy00Ny43ODY2Njd2LTUuMTJoLTc1LjA5MzMzM2MxLjcwNjY2Ny0xMC4yNCAzLjQxMzMzMy0xNy4wNjY2NjcgOC41MzMzMzMtMjAuNDhhMTguNzczMzMzIDE4Ljc3MzMzMyAwIDAgMSAxNy4wNjY2NjctNi44MjY2NjZsMTEuOTQ2NjY2IDMuNDEzMzMzYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEgNi44MjY2NjcgOC41MzMzMzN6IG0tNDIuNjY2NjY3IDM0LjEzMzMzNGg0NC4zNzMzMzRhMjcuMzA2NjY3IDI3LjMwNjY2NyAwIDAgMS04LjUzMzMzNCAxNy4wNjY2NjYgMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMS0xMy42NTMzMzMgNS4xMiAyMy44OTMzMzMgMjMuODkzMzMzIDAgMCAxLTIyLjE4NjY2Ny0yMi4xODY2NjZ6TTc4NS4wNjY2NjcgMzczLjc2di0xNDYuNzczMzMzaC0yOS4wMTMzMzR2MTQ2Ljc3MzMzM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuMTUiIHVuaWNvZGU9IiYjNTk0NTQ7IiBkPSJNODI3LjczMzMzMyA2MTkuNTJoLTEwMC42OTMzMzN2NzYuOGEzMi40MjY2NjcgMzIuNDI2NjY3IDAgMCAxLTMwLjcyIDMyLjQyNjY2N0gzNDEuMzMzMzMzYTM0LjEzMzMzMyAzNC4xMzMzMzMgMCAwIDEtMzIuNDI2NjY2LTMyLjQyNjY2N3YtNzYuOGgtMTAwLjY5MzMzNGEzMC43MiAzMC43MiAwIDAgMS0zMC43Mi0zMi40MjY2Njd2LTI1MC44OGEzMC43MiAzMC43MiAwIDAgMSAzMC43Mi0zMi40MjY2NjZoMTAwLjY5MzMzNHYtMjIwLjE2YTMwLjcyIDMwLjcyIDAgMCAxIDMyLjQyNjY2Ni0zMC43MmgzNTQuOTg2NjY3YTMwLjcyIDMwLjcyIDAgMCAxIDMwLjcyIDMwLjcyVjMwMy43ODY2NjdoMTAwLjY5MzMzM2EzMi40MjY2NjcgMzIuNDI2NjY3IDAgMCAxIDMyLjQyNjY2NyAzMi40MjY2NjZWNTg3LjA5MzMzM2EzMi40MjY2NjcgMzIuNDI2NjY3IDAgMCAxLTMyLjQyNjY2NyAzMi40MjY2Njd6IG0tNDg0LjY5MzMzMyA3NS4wOTMzMzNoMzUxLjU3MzMzM1Y2MjIuOTMzMzMzSDM0My4wNHogbTM1MS41NzMzMzMtNjA5LjI4SDM0My4wNFYzOTcuNjUzMzMzaDM1MS41NzMzMzN2LTMxMi4zMnogbTEzMS40MTMzMzQgMjUwLjg4aC05OC45ODY2Njd2NjMuMTQ2NjY3YTMwLjcyIDMwLjcyIDAgMCAxLTMwLjcyIDMwLjcySDM0MS4zMzMzMzNhMzIuNDI2NjY3IDMyLjQyNjY2NyAwIDAgMS0zMi40MjY2NjYtMzAuNzJ2LTYzLjE0NjY2N2gtOTguOTg2NjY3VjU4Ny4wOTMzMzNoNjE2LjEwNjY2N3ogbTAgME00MDEuMDY2NjY3IDIxMy4zMzMzMzN2LTM5LjI1MzMzM2gtMjIuMTg2NjY3VjI4MS42aDQ5LjQ5MzMzM2EyNy4zMDY2NjcgMjcuMzA2NjY3IDAgMCAwIDIzLjg5MzMzNC04LjUzMzMzMyAzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAwIDEwLjI0LTI1LjYgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMC02LjgyNjY2Ny0yMC40OCAzMC43MiAzMC43MiAwIDAgMC0yOS4wMTMzMzMtMTMuNjUzMzM0eiBtMCAxOC43NzMzMzRoMjAuNDhjOC41MzMzMzMgMCAxMy42NTMzMzMgMS43MDY2NjcgMTUuMzYgNi44MjY2NjZzMS43MDY2NjcgNS4xMiAxLjcwNjY2NiAxMC4yNGExMy42NTMzMzMgMTMuNjUzMzMzIDAgMCAxLTMuNDEzMzMzIDEwLjI0Yy0zLjQxMzMzMyAzLjQxMzMzMy04LjUzMzMzMyAzLjQxMzMzMy0xNS4zNiAzLjQxMzMzNGgtMTguNzczMzMzek00NzkuNTczMzMzIDE3NC4wOFYyODEuNmg0Ny43ODY2NjdhMzcuNTQ2NjY3IDM3LjU0NjY2NyAwIDAgMCAzNS44NC0xNy4wNjY2NjcgNjYuNTYgNjYuNTYgMCAwIDAgOC41MzMzMzMtMzQuMTMzMzMzIDg3LjA0IDg3LjA0IDAgMCAwLTguNTMzMzMzLTM3LjU0NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwLTM1Ljg0LTE4Ljc3MzMzM3ogbTIyLjE4NjY2NyA4OC43NDY2Njd2LTY5Ljk3MzMzNGgyMi4xODY2NjdhMTguNzczMzMzIDE4Ljc3MzMzMyAwIDAgMSAxOC43NzMzMzMgMTEuOTQ2NjY3IDQ0LjM3MzMzMyA0NC4zNzMzMzMgMCAwIDEgNi44MjY2NjcgMjMuODkzMzMzIDM1Ljg0IDM1Ljg0IDAgMCAxLTEwLjI0IDI5LjAxMzMzNCAyMC40OCAyMC40OCAwIDAgMS0xNS4zNiA1LjEyek02MTAuOTg2NjY3IDIyMC4xNnYtNDYuMDhoLTIyLjE4NjY2N1YyODEuNmg3OC41MDY2Njd2LTE4Ljc3MzMzM2gtNTYuMzJ2LTIzLjg5MzMzNGg0OS40OTMzMzN2LTE4Ljc3MzMzM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuNiIgdW5pY29kZT0iJiM1OTQ1NTsiIGQ9Ik03NzQuODI2NjY3IDYzMS40NjY2NjdsLTE1LjM2IDEzLjY1MzMzMy00NC4zNzMzMzQgNDAuOTYtMy40MTMzMzMgMy40MTMzMzMtNDcuNzg2NjY3IDQwLjk2LTE3LjA2NjY2NiAxMy42NTMzMzQtNi44MjY2NjcgMy40MTMzMzMtOC41MzMzMzMgMy40MTMzMzNhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMS0xNy4wNjY2NjctMTguNzczMzMzdi0xNTMuNmgxNTMuNmwtMTcuMDY2NjY3IDE3LjA2NjY2N3YtNTEwLjI5MzMzNGwxNy4wNjY2NjcgMTcuMDY2NjY3SDMyNC4yNjY2NjdhNDkuNDkzMzMzIDQ5LjQ5MzMzMyAwIDAgMC01MS4yIDUxLjJWNzMyLjE2bC0xNy4wNjY2NjctMTcuMDY2NjY3aDMwNy4yYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNS4zNiAxNS4zNiAwIDAgMS0xNy4wNjY2NjcgMTcuMDY2NjY3SDIzOC45MzMzMzN2LTU5NS42MjY2NjdhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzaDQ2MC44VjYxMi42OTMzMzNoLTE1My42bDE3LjA2NjY2Ni0xNy4wNjY2NjZ2MTM2LjUzMzMzM2ExNS4zNiAxNS4zNiAwIDAgMC0xNy4wNjY2NjYtMTUuMzZoLTMuNDEzMzM0YTUxLjIgNTEuMiAwIDAgMSAxMy42NTMzMzQtMTEuOTQ2NjY3bDQ2LjA4LTQwLjk2IDMuNDEzMzMzLTMuNDEzMzMzIDQ0LjM3MzMzMy00MC45NiAxNS4zNi0xMy42NTMzMzNjMS43MDY2NjctMS43MDY2NjcgNS4xMi0zLjQxMzMzMyA1LjEyLTUuMTJhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMSAyMy44OTMzMzQgMjUuNmwtNS4xMiA1LjEyek0yMzguOTMzMzMzIDQ0Mi4wMjY2NjdoLTY4LjI2NjY2NnYtMjg4LjQyNjY2N2g2ODIuNjY2NjY2VjQ0Mi4wMjY2NjdIMjM4LjkzMzMzM3ogbTY5Ljk3MzMzNC0xNjUuNTQ2NjY3di03MS42OGgtMzIuNDI2NjY3VjM5Ny42NTMzMzNoNzMuMzg2NjY3YTY4LjI2NjY2NyA2OC4yNjY2NjcgMCAwIDAgNTEuMi0xNy4wNjY2NjYgNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMCAyMC40OC00NC4zNzMzMzQgNTYuMzIgNTYuMzIgMCAwIDAtMTguNzczMzM0LTQ0LjM3MzMzMyA4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwLTUyLjkwNjY2Ni0xNS4zNnogbTAgMjcuMzA2NjY3aDQwLjk2YTM1Ljg0IDM1Ljg0IDAgMCAxIDI3LjMwNjY2NiA4LjUzMzMzMyAyOS4wMTMzMzMgMjkuMDEzMzMzIDAgMCAxIDEwLjI0IDIzLjg5MzMzMyAzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAxLTEwLjI0IDI1LjYgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMS0yNS42IDguNTMzMzM0aC00Mi42NjY2NjZ6IG0xNDEuNjUzMzMzLTk4Ljk4NjY2N1YzOTcuNjUzMzMzaDU2LjMyYTEwMi40IDEwMi40IDAgMCAwIDQ2LjA4LTEwLjI0IDgwLjIxMzMzMyA4MC4yMTMzMzMgMCAwIDAgMzAuNzItMzIuNDI2NjY2IDk3LjI4IDk3LjI4IDAgMCAwIDExLjk0NjY2Ny00OS40OTMzMzR2LTguNTMzMzMzYTkyLjE2IDkyLjE2IDAgMCAwLTExLjk0NjY2Ny00OS40OTMzMzMgODAuMjEzMzMzIDgwLjIxMzMzMyAwIDAgMC0zMC43Mi0zMi40MjY2NjcgMTAyLjQgMTAyLjQgMCAwIDAtNDYuMDgtMTAuMjR6IG0zNC4xMzMzMzMgMTY1LjU0NjY2N1YyMzAuNGgyMC40OGE1MS4yIDUxLjIgMCAwIDEgNDAuOTYgMTcuMDY2NjY3IDY5Ljk3MzMzMyA2OS45NzMzMzMgMCAwIDEgMTUuMzYgNDcuNzg2NjY2djEwLjI0YTgxLjkyIDgxLjkyIDAgMCAxLTEzLjY1MzMzMyA0OS40OTMzMzQgNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMS00MC45NiAxNS4zNnogbTI1Ni04My42MjY2NjdoLTc4LjUwNjY2NnYtODEuOTJoLTM0LjEzMzMzNFYzOTcuNjUzMzMzaDEyNC41ODY2Njd2LTI3LjMwNjY2NmgtOTAuNDUzMzMzdi01Ni4zMmg3OC41MDY2NjZ6IG0wIDBNMjk4LjY2NjY2NyA1NzMuNDRoMTAwLjY5MzMzM3YxMS45NDY2NjdoMTEuOTQ2NjY3di0xMS45NDY2NjdoMzAuNzJ2LTEwLjI0aC0zMC43MlY1MzcuNmMwLTExLjk0NjY2Ny02LjgyNjY2Ny0xNy4wNjY2NjctMTguNzczMzM0LTE3LjA2NjY2N2gtMjMuODkzMzMzYzAgMy40MTMzMzMtMS43MDY2NjcgNi44MjY2NjctMS43MDY2NjcgMTEuOTQ2NjY3aDIyLjE4NjY2N2M2LjgyNjY2NyAwIDEwLjI0IDMuNDEzMzMzIDEwLjI0IDguNTMzMzMzdjIyLjE4NjY2N2gtMTAwLjY5MzMzM3ogbTM3LjU0NjY2NiAyNS42aDc2LjhjNi44MjY2NjcgMCAxMS45NDY2NjcgMy40MTMzMzMgMTEuOTQ2NjY3IDguNTMzMzMzYTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEgMy40MTMzMzMgMTcuMDY2NjY3bDExLjk0NjY2Ny01LjEyYTc1LjA5MzMzMyA3NS4wOTMzMzMgMCAwIDEtMy40MTMzMzMtMTcuMDY2NjY3IDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDAtMjIuMTg2NjY3LTEzLjY1MzMzM2gtODAuMjEzMzMzYTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDAtMjAuNDggMjAuNDh2NTEuMmgxMDQuMTA2NjY2di00Ni4wOGgtMTAuMjR2NS4xMmgtODEuOTJ2LTEwLjI0YTguNTMzMzMzIDguNTMzMzMzIDAgMCAxIDEwLjI0LTEwLjI0eiBtLTEwLjI0LTQ0LjM3MzMzM2w2LjgyNjY2NyA4LjUzMzMzMyAyMy44OTMzMzMtMjIuMTg2NjY3LTguNTMzMzMzLTguNTMzMzMzeiBtMCA5NS41NzMzMzN2LTIwLjQ4aDgxLjkydjIwLjQ4ek01NjEuNDkzMzMzIDU5MC41MDY2Njd2NS4xMmgtMzcuNTQ2NjY2di01OS43MzMzMzRoNDIuNjY2NjY2djQ0LjM3MzMzNGgxMS45NDY2Njd2LTYxLjQ0aC0xMS45NDY2Njd2Ni44MjY2NjZoLTEwOS4yMjY2NjZ2NTQuNjEzMzM0aDExLjk0NjY2NnYtNDQuMzczMzM0SDUxMnY1OS43MzMzMzRoLTUxLjJ2NTQuNjEzMzMzaDEzLjY1MzMzM3YtNDIuNjY2NjY3SDUxMnY1OC4wMjY2NjdoMTEuOTQ2NjY3di01OC4wMjY2NjdoMzcuNTQ2NjY2djQyLjY2NjY2N2gxMy42NTMzMzR2LTU5LjczMzMzM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpdGFsaWMiIHVuaWNvZGU9IiYjNTk0NTY7IiBkPSJNNDc4Ljg3MDU4OCA2ODUuMTc2NDcxSDY2Mi41ODgyMzV2LTI1LjZjLTIxLjA4MjM1MyAwLTM0LjYzNTI5NC0xLjUwNTg4Mi00MC42NTg4MjMtNC41MTc2NDctMTMuNTUyOTQxLTYuMDIzNTI5LTE5LjU3NjQ3MS0xNi41NjQ3MDYtMTkuNTc2NDcxLTMzLjEyOTQxMmwtMTE3LjQ1ODgyMy00NjUuMzE3NjQ3YzAtMTkuNTc2NDcxIDYuMDIzNTI5LTMzLjEyOTQxMiAxNi41NjQ3MDYtNDAuNjU4ODI0IDcuNTI5NDEyLTQuNTE3NjQ3IDIyLjU4ODIzNS03LjUyOTQxMiA0NS4xNzY0Ny03LjUyOTQxMlY4Mi44MjM1MjlIMzYxLjQxMTc2NXYyNS42YzIxLjA4MjM1MyAwIDM2LjE0MTE3NiAzLjAxMTc2NSA0NS4xNzY0NyA3LjUyOTQxMiAxMC41NDExNzYgNy41Mjk0MTIgMTYuNTY0NzA2IDIxLjA4MjM1MyAxNi41NjQ3MDYgNDAuNjU4ODI0bDExNy40NTg4MjQgNDY1LjMxNzY0N2MwIDEzLjU1Mjk0MS0zLjAxMTc2NSAyNC4wOTQxMTgtOS4wMzUyOTQgMzAuMTE3NjQ3LTYuMDIzNTI5IDYuMDIzNTI5LTI0LjA5NDExOCA3LjUyOTQxMi01Mi43MDU4ODMgNy41Mjk0MTJWNjg1LjE3NjQ3MXogbTAgMCIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW4xOCIgdW5pY29kZT0iJiM1OTQ1NzsiIGQ9Ik05MTguMTg2NjY3IDQzNS4ySDQ2MC44djEzOC4yNEwyMzUuNTIgMzg0IDQ2MC44IDE5NC41NlYzMzIuOGg0NTcuMzg2NjY3djEwMi40eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW4xOSIgdW5pY29kZT0iJiM1OTQ1ODsiIGQ9Ik03NzQuODI2NjY3IDcyNS4zMzMzMzNoODEuOTJ2LTY4Mi42NjY2NjZoLTgxLjkyek01NDIuNzIgNDI0Ljk2aC0zNzUuNDY2NjY3di04MS45MmgzNzUuNDY2NjY3di0xMTQuMzQ2NjY3TDcyNy4wNCAzODRsLTE4NC4zMiAxNTUuMzA2NjY3di0xMTQuMzQ2NjY3eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Imh1YWJhbjE2ZnViZW4yMCIgdW5pY29kZT0iJiM1OTQ1OTsiIGQ9Ik04NTMuMzMzMzMzIDM4NEw2MjkuNzYgNTczLjQ0VjQzNS4ySDE3MC42NjY2Njd2LTEwMi40aDQ1OS4wOTMzMzN2LTEzOC4yNEw4NTMuMzMzMzMzIDM4NHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuMTciIHVuaWNvZGU9IiYjNTk0NjE7IiBkPSJNMTY3LjI1MzMzMyA3MzIuMTZoODEuOTJ2LTY4Mi42NjY2NjdIMTY3LjI1MzMzM3pNODU2Ljc0NjY2NyA0MzEuNzg2NjY3aC0zNzUuNDY2NjY3djExNC4zNDY2NjZsLTE4NC4zMi0xNTUuMzA2NjY2IDE4NC4zMi0xNTUuMzA2NjY3VjM0OS44NjY2NjdoMzc1LjQ2NjY2N3Y4MS45MnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJodWFiYW4xNmZ1YmVuNyIgdW5pY29kZT0iJiM1OTQ2MjsiIGQ9Ik03NzQuODI2NjY3IDYzMS40NjY2NjdsLTE1LjM2IDEzLjY1MzMzMy00NC4zNzMzMzQgNDAuOTYtMy40MTMzMzMgMy40MTMzMzMtNDcuNzg2NjY3IDQwLjk2LTE3LjA2NjY2NiAxMy42NTMzMzQtNi44MjY2NjcgMy40MTMzMzMtOC41MzMzMzMgMy40MTMzMzNhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMS0xNy4wNjY2NjctMTguNzczMzMzdi0xNTMuNmgxNTMuNmwtMTcuMDY2NjY3IDE3LjA2NjY2N3YtNTEwLjI5MzMzNGwxNy4wNjY2NjcgMTcuMDY2NjY3SDMyNC4yNjY2NjdhNDkuNDkzMzMzIDQ5LjQ5MzMzMyAwIDAgMC01MS4yIDUxLjJWNzMyLjE2bC0xNy4wNjY2NjctMTcuMDY2NjY3aDMwNy4yYTE3LjA2NjY2NyAxNy4wNjY2NjcgMCAwIDEgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNS4zNiAxNS4zNiAwIDAgMS0xNy4wNjY2NjcgMTcuMDY2NjY3SDIzOC45MzMzMzN2LTU5NS42MjY2NjdhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzaDQ2MC44VjYxMi42OTMzMzNoLTE1My42bDE3LjA2NjY2Ni0xNy4wNjY2NjZ2MTM2LjUzMzMzM2ExNS4zNiAxNS4zNiAwIDAgMC0xNy4wNjY2NjYtMTUuMzZoLTMuNDEzMzM0YTUxLjIgNTEuMiAwIDAgMSAxMy42NTMzMzQtMTEuOTQ2NjY3bDQ2LjA4LTQwLjk2IDMuNDEzMzMzLTMuNDEzMzMzIDQ0LjM3MzMzMy00MC45NiAxNS4zNi0xMy42NTMzMzNjMS43MDY2NjctMS43MDY2NjcgNS4xMi0zLjQxMzMzMyA1LjEyLTUuMTJhMTcuMDY2NjY3IDE3LjA2NjY2NyAwIDAgMSAyMy44OTMzMzQgMjUuNmwtNS4xMiA1LjEyek0yMzguOTMzMzMzIDQ0Mi4wMjY2NjdoLTY4LjI2NjY2NnYtMjg4LjQyNjY2N2g2ODIuNjY2NjY2VjQ0Mi4wMjY2NjdIMjM4LjkzMzMzM3ogbTY5Ljk3MzMzNC0xNjUuNTQ2NjY3di03MS42OGgtMzIuNDI2NjY3VjM5Ny42NTMzMzNoNzMuMzg2NjY3YTY4LjI2NjY2NyA2OC4yNjY2NjcgMCAwIDAgNTEuMi0xNy4wNjY2NjYgNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMCAyMC40OC00NC4zNzMzMzQgNTYuMzIgNTYuMzIgMCAwIDAtMTguNzczMzM0LTQ0LjM3MzMzMyA4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwLTUyLjkwNjY2Ni0xNS4zNnogbTAgMjcuMzA2NjY3aDQwLjk2YTM1Ljg0IDM1Ljg0IDAgMCAxIDI3LjMwNjY2NiA4LjUzMzMzMyAyOS4wMTMzMzMgMjkuMDEzMzMzIDAgMCAxIDEwLjI0IDIzLjg5MzMzMyAzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAxLTEwLjI0IDI1LjYgNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMS0yNS42IDguNTMzMzM0aC00Mi42NjY2NjZ6IG0xNDEuNjUzMzMzLTk4Ljk4NjY2N1YzOTcuNjUzMzMzaDU2LjMyYTEwMi40IDEwMi40IDAgMCAwIDQ2LjA4LTEwLjI0IDgwLjIxMzMzMyA4MC4yMTMzMzMgMCAwIDAgMzAuNzItMzIuNDI2NjY2IDk3LjI4IDk3LjI4IDAgMCAwIDExLjk0NjY2Ny00OS40OTMzMzR2LTguNTMzMzMzYTkyLjE2IDkyLjE2IDAgMCAwLTExLjk0NjY2Ny00OS40OTMzMzMgODAuMjEzMzMzIDgwLjIxMzMzMyAwIDAgMC0zMC43Mi0zMi40MjY2NjcgMTAyLjQgMTAyLjQgMCAwIDAtNDYuMDgtMTAuMjR6IG0zNC4xMzMzMzMgMTY1LjU0NjY2N1YyMzAuNGgyMC40OGE1MS4yIDUxLjIgMCAwIDEgNDAuOTYgMTcuMDY2NjY3IDY5Ljk3MzMzMyA2OS45NzMzMzMgMCAwIDEgMTUuMzYgNDcuNzg2NjY2djEwLjI0YTgxLjkyIDgxLjkyIDAgMCAxLTEzLjY1MzMzMyA0OS40OTMzMzQgNTIuOTA2NjY3IDUyLjkwNjY2NyAwIDAgMS00MC45NiAxNS4zNnogbTI1Ni04My42MjY2NjdoLTc4LjUwNjY2NnYtODEuOTJoLTM0LjEzMzMzNFYzOTcuNjUzMzMzaDEyNC41ODY2Njd2LTI3LjMwNjY2NmgtOTAuNDUzMzMzdi01Ni4zMmg3OC41MDY2NjZ6IG0wIDBNMjk4LjY2NjY2NyA1NzMuNDRoMTAwLjY5MzMzM3YxMS45NDY2NjdoMTEuOTQ2NjY3di0xMS45NDY2NjdoMzAuNzJ2LTEwLjI0aC0zMC43MlY1MzcuNmMwLTExLjk0NjY2Ny02LjgyNjY2Ny0xNy4wNjY2NjctMTguNzczMzM0LTE3LjA2NjY2N2gtMjMuODkzMzMzYzAgMy40MTMzMzMtMS43MDY2NjcgNi44MjY2NjctMS43MDY2NjcgMTEuOTQ2NjY3aDIyLjE4NjY2N2M2LjgyNjY2NyAwIDEwLjI0IDMuNDEzMzMzIDEwLjI0IDguNTMzMzMzdjIyLjE4NjY2N2gtMTAwLjY5MzMzM3ogbTM3LjU0NjY2NiAyNS42aDc2LjhjNi44MjY2NjcgMCAxMS45NDY2NjcgMy40MTMzMzMgMTEuOTQ2NjY3IDguNTMzMzMzYTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEgMy40MTMzMzMgMTcuMDY2NjY3bDExLjk0NjY2Ny01LjEyYTc1LjA5MzMzMyA3NS4wOTMzMzMgMCAwIDEtMy40MTMzMzMtMTcuMDY2NjY3IDIyLjE4NjY2NyAyMi4xODY2NjcgMCAwIDAtMjIuMTg2NjY3LTEzLjY1MzMzM2gtODAuMjEzMzMzYTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDAtMjAuNDggMjAuNDh2NTEuMmgxMDQuMTA2NjY2di00Ni4wOGgtMTAuMjR2NS4xMmgtODEuOTJ2LTEwLjI0YTguNTMzMzMzIDguNTMzMzMzIDAgMCAxIDEwLjI0LTEwLjI0eiBtLTEwLjI0LTQ0LjM3MzMzM2w2LjgyNjY2NyA4LjUzMzMzMyAyMy44OTMzMzMtMjIuMTg2NjY3LTguNTMzMzMzLTguNTMzMzMzeiBtMCA5NS41NzMzMzN2LTIwLjQ4aDgxLjkydjIwLjQ4ek01NjEuNDkzMzMzIDU5MC41MDY2Njd2NS4xMmgtMzcuNTQ2NjY2di01OS43MzMzMzRoNDIuNjY2NjY2djQ0LjM3MzMzNGgxMS45NDY2Njd2LTYxLjQ0aC0xMS45NDY2Njd2Ni44MjY2NjZoLTEwOS4yMjY2NjZ2NTQuNjEzMzM0aDExLjk0NjY2NnYtNDQuMzczMzM0SDUxMnY1OS43MzMzMzRoLTUxLjJ2NTQuNjEzMzMzaDEzLjY1MzMzM3YtNDIuNjY2NjY3SDUxMnY1OC4wMjY2NjdoMTEuOTQ2NjY3di01OC4wMjY2NjdoMzcuNTQ2NjY2djQyLjY2NjY2N2gxMy42NTMzMzR2LTU5LjczMzMzM3pNMjAxLjM4NjY2NyA0MDkuNkg3ODUuMDY2NjY3di0yNDYuMTAxMzMzSDIwMS4zODY2Njd6TTI2OS42NTMzMzMgMjMzLjgxMzMzM2wtMzcuNTQ2NjY2IDEzMS40MTMzMzRoMjkuMDEzMzMzYzYuODI2NjY3LTI1LjYgMTAuMjQtNDQuMzczMzMzIDEzLjY1MzMzMy01OC4wMjY2NjdzNS4xMi0yNy4zMDY2NjcgNi44MjY2NjctMzcuNTQ2NjY3bDE4Ljc3MzMzMyA5NS41NzMzMzRoMzAuNzJjNi44MjY2NjctMzQuMTMzMzMzIDExLjk0NjY2Ny01Ni4zMiAxMy42NTMzMzQtNjguMjY2NjY3bDUuMTItMjcuMzA2NjY3IDguNTMzMzMzIDM1Ljg0YzAgMS43MDY2NjcgNS4xMiAyMC40OCAxMy42NTMzMzMgNTkuNzMzMzM0aDI3LjMwNjY2N2wtMzUuODQtMTMxLjQxMzMzNGgtMjcuMzA2NjY3Yy02LjgyNjY2NyAyOS4wMTMzMzMtMTAuMjQgNTEuMi0xMy42NTMzMzMgNjYuNTZzLTUuMTIgMjMuODkzMzMzLTYuODI2NjY3IDM1Ljg0LTEuNzA2NjY3LTEzLjY1MzMzMy0zLjQxMzMzMy0yMi4xODY2NjYtNS4xMi0yMi4xODY2NjctNi44MjY2NjctMjkuMDEzMzM0bC0xMC4yNC01MS4yek00MTEuMzA2NjY3IDI5OC42NjY2NjdhNzMuMzg2NjY3IDczLjM4NjY2NyAwIDAgMCAxMS45NDY2NjYgNDYuMDggNTYuMzIgNTYuMzIgMCAwIDAgMjcuMzA2NjY3IDIwLjQ4bDIzLjg5MzMzMyAzLjQxMzMzMyAyMy44OTMzMzQtMy40MTMzMzNhNTYuMzIgNTYuMzIgMCAwIDAgMjcuMzA2NjY2LTIwLjQ4IDc2LjggNzYuOCAwIDAgMCAxMS45NDY2NjctNDYuMDggNjguMjY2NjY3IDY4LjI2NjY2NyAwIDAgMC0xMS45NDY2NjctNDQuMzczMzM0IDU2LjMyIDU2LjMyIDAgMCAwLTI3LjMwNjY2Ni0yMC40OCA1NC42MTMzMzMgNTQuNjEzMzMzIDAgMCAwLTIzLjg5MzMzNC0zLjQxMzMzMyA1NC42MTMzMzMgNTQuNjEzMzMzIDAgMCAwLTIzLjg5MzMzMyAzLjQxMzMzMyA1Ni4zMiA1Ni4zMiAwIDAgMC0yNy4zMDY2NjcgMjAuNDggNzEuNjggNzEuNjggMCAwIDAtMTEuOTQ2NjY2IDQ0LjM3MzMzNHogbTI3LjMwNjY2NiAwYTQ2LjA4IDQ2LjA4IDAgMCAxIDExLjk0NjY2Ny0zNS44NCAzNC4xMzMzMzMgMzQuMTMzMzMzIDAgMCAxIDIzLjg5MzMzMy0xMC4yNCAzMC43MiAzMC43MiAwIDAgMSAyMy44OTMzMzQgMTAuMjQgNDYuMDggNDYuMDggMCAwIDEgMTEuOTQ2NjY2IDM1Ljg0IDQ5LjQ5MzMzMyA0OS40OTMzMzMgMCAwIDEtMTEuOTQ2NjY2IDM3LjU0NjY2NiAzMC43MiAzMC43MiAwIDAgMS0yMy44OTMzMzQgMTAuMjQgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMS0yMy44OTMzMzMtMTAuMjQgNDkuNDkzMzMzIDQ5LjQ5MzMzMyAwIDAgMS0xMS45NDY2NjctMzcuNTQ2NjY2ek01NTkuNzg2NjY3IDIzMy44MTMzMzN2MTMxLjQxMzMzNGg2OC4yNjY2NjZhMzUuODQgMzUuODQgMCAwIDAgMjcuMzA2NjY3LTguNTMzMzM0IDM1Ljg0IDM1Ljg0IDAgMCAwIDEzLjY1MzMzMy0yOS4wMTMzMzMgMzQuMTMzMzMzIDM0LjEzMzMzMyAwIDAgMC01LjEyLTE4Ljc3MzMzMyAyMi4xODY2NjcgMjIuMTg2NjY3IDAgMCAwLTE1LjM2LTExLjk0NjY2NyAyMy44OTMzMzMgMjMuODkzMzMzIDAgMCAwIDExLjk0NjY2Ny0xMC4yNCAzNy41NDY2NjcgMzcuNTQ2NjY3IDAgMCAwIDUuMTItMjMuODkzMzMzdi0yMC40OGw1LjEyLTUuMTJ2LTMuNDEzMzM0aC0zMC43MmMwIDMuNDEzMzMzLTEuNzA2NjY3IDYuODI2NjY3LTEuNzA2NjY3IDEwLjI0djE1LjM2YTQ5LjQ5MzMzMyA0OS40OTMzMzMgMCAwIDEtMy40MTMzMzMgMjAuNDggMjMuODkzMzMzIDIzLjg5MzMzMyAwIDAgMS0xOC43NzMzMzMgNS4xMmgtMjkuMDEzMzM0di01MS4yeiBtMjcuMzA2NjY2IDczLjM4NjY2N2gzMi40MjY2NjdhMjIuMTg2NjY3IDIyLjE4NjY2NyAwIDAgMSAxNy4wNjY2NjcgNS4xMmMzLjQxMzMzMyAxLjcwNjY2NyA1LjEyIDYuODI2NjY3IDUuMTIgMTMuNjUzMzMzYTE4Ljc3MzMzMyAxOC43NzMzMzMgMCAwIDEtMy40MTMzMzQgMTAuMjQgMTguNzczMzMzIDE4Ljc3MzMzMyAwIDAgMS0xNy4wNjY2NjYgNi44MjY2NjdoLTM0LjEzMzMzNHpNNjkyLjkwNjY2NyAyMzMuODEzMzMzdjEzMS40MTMzMzRoNTkuNzMzMzMzYTQ2LjA4IDQ2LjA4IDAgMCAwIDQyLjY2NjY2Ny0yMi4xODY2NjcgNzMuMzg2NjY3IDczLjM4NjY2NyAwIDAgMCAxMC4yNC00MC45NiA5MC40NTMzMzMgOTAuNDUzMzMzIDAgMCAwLTEwLjI0LTQ0LjM3MzMzMyA0Ny43ODY2NjcgNDcuNzg2NjY3IDAgMCAwLTQ0LjM3MzMzNC0yMy44OTMzMzR6IG0yNy4zMDY2NjYgMTA5LjIyNjY2N3YtODcuMDRoMjcuMzA2NjY3YTI3LjMwNjY2NyAyNy4zMDY2NjcgMCAwIDEgMjMuODkzMzMzIDEzLjY1MzMzMyA4MS45MiA4MS45MiAwIDAgMSA2LjgyNjY2NyAzMC43MiA0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxLTExLjk0NjY2NyAzNS44NCAyMC40OCAyMC40OCAwIDAgMS0xOC43NzMzMzMgNi44MjY2Njd6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGljdHVyZSIgdW5pY29kZT0iJiM1OTQ2MzsiIGQ9Ik00MDguMDk0MTE4IDQwNi41ODgyMzVjLTQ1LjE3NjQ3MSAwLTgxLjMxNzY0NyAzNi4xNDExNzYtODEuMzE3NjQ3IDgxLjMxNzY0NyAwIDQ1LjE3NjQ3MSAzNi4xNDExNzYgODEuMzE3NjQ3IDgxLjMxNzY0NyA4MS4zMTc2NDcgNDUuMTc2NDcxIDAgODEuMzE3NjQ3LTM2LjE0MTE3NiA4MS4zMTc2NDctODEuMzE3NjQ3LTEuNTA1ODgyLTQ1LjE3NjQ3MS0zNi4xNDExNzYtODEuMzE3NjQ3LTgxLjMxNzY0Ny04MS4zMTc2NDd6IG0wIDExNS45NTI5NDFjLTE5LjU3NjQ3MSAwLTM0LjYzNTI5NC0xNS4wNTg4MjQtMzQuNjM1Mjk0LTM0LjYzNTI5NCAwLTE5LjU3NjQ3MSAxNS4wNTg4MjQtMzQuNjM1Mjk0IDM0LjYzNTI5NC0zNC42MzUyOTQgMTkuNTc2NDcxIDAgMzQuNjM1Mjk0IDE1LjA1ODgyNCAzNC42MzUyOTQgMzQuNjM1Mjk0IDAgMTkuNTc2NDcxLTE1LjA1ODgyNCAzNC42MzUyOTQtMzQuNjM1Mjk0IDM0LjYzNTI5NHpNNzQzLjkwNTg4MiA4Mi44MjM1MjlIMjgwLjA5NDExOGMtMzcuNjQ3MDU5IDAtNjkuMjcwNTg4IDMxLjYyMzUyOS02OS4yNzA1ODkgNjkuMjcwNTg5VjYxNS45MDU4ODJjMCAzNy42NDcwNTkgMzEuNjIzNTI5IDY5LjI3MDU4OCA2OS4yNzA1ODkgNjkuMjcwNTg5aDQ2My44MTE3NjRjMzcuNjQ3MDU5IDAgNjkuMjcwNTg4LTMxLjYyMzUyOSA2OS4yNzA1ODktNjkuMjcwNTg5di00NjMuODExNzY0YzAtMzcuNjQ3MDU5LTMxLjYyMzUyOS02OS4yNzA1ODgtNjkuMjcwNTg5LTY5LjI3MDU4OXpNMjgwLjA5NDExOCA2MzguNDk0MTE4Yy0xMi4wNDcwNTkgMC0yMi41ODgyMzUtMTAuNTQxMTc2LTIyLjU4ODIzNi0yMi41ODgyMzZ2LTQ2My44MTE3NjRjMC0xMi4wNDcwNTkgMTAuNTQxMTc2LTIyLjU4ODIzNSAyMi41ODgyMzYtMjIuNTg4MjM2aDQ2My44MTE3NjRjMTIuMDQ3MDU5IDAgMjIuNTg4MjM1IDEwLjU0MTE3NiAyMi41ODgyMzYgMjIuNTg4MjM2VjYxNS45MDU4ODJjMCAxMi4wNDcwNTktMTAuNTQxMTc2IDIyLjU4ODIzNS0yMi41ODgyMzYgMjIuNTg4MjM2SDI4MC4wOTQxMTh6IG0xODguMjM1Mjk0LTQwMi4wNzA1ODljLTE4LjA3MDU4OCAwLTM3LjY0NzA1OSA3LjUyOTQxMi01MS4yIDIyLjU4ODIzNmwtMjcuMTA1ODgzIDI4LjYxMTc2NGMtOS4wMzUyOTQgOS4wMzUyOTQtMjQuMDk0MTE4IDkuMDM1Mjk0LTMzLjEyOTQxMSAwTDMxOS4yNDcwNTkgMjQ4LjQ3MDU4OGMtOS4wMzUyOTQtOS4wMzUyOTQtMjIuNTg4MjM1LTkuMDM1Mjk0LTMzLjEyOTQxMi0xLjUwNTg4Mi05LjAzNTI5NCA3LjUyOTQxMi05LjAzNTI5NCAyMi41ODgyMzUtMS41MDU4ODIgMzMuMTI5NDEybDM2LjE0MTE3NiAzNy42NDcwNThjMTMuNTUyOTQxIDEzLjU1Mjk0MSAzMS42MjM1MjkgMjIuNTg4MjM1IDQ5LjY5NDExOCAyMi41ODgyMzYgMTguMDcwNTg4IDAgMzcuNjQ3MDU5LTcuNTI5NDEyIDUxLjItMjIuNTg4MjM2bDI3LjEwNTg4Mi0yOC42MTE3NjRjOS4wMzUyOTQtOS4wMzUyOTQgMjQuMDk0MTE4LTkuMDM1Mjk0IDMzLjEyOTQxMiAwbDExNS45NTI5NDEgMTIxLjk3NjQ3YzEyLjA0NzA1OSAxMy41NTI5NDEgMzEuNjIzNTI5IDIyLjU4ODIzNSA1MS4yIDIyLjU4ODIzNiAxOS41NzY0NzEgMCAzNy42NDcwNTktNy41Mjk0MTIgNTEuMi0yMi41ODgyMzZsMTA1LjQxMTc2NS0xMTEuNDM1Mjk0YzkuMDM1Mjk0LTkuMDM1Mjk0IDcuNTI5NDEyLTI0LjA5NDExOC0xLjUwNTg4My0zMy4xMjk0MTItOS4wMzUyOTQtOS4wMzUyOTQtMjQuMDk0MTE4LTcuNTI5NDEyLTMzLjEyOTQxMSAxLjUwNTg4M2wtMTA1LjQxMTc2NSAxMTEuNDM1Mjk0Yy05LjAzNTI5NCA5LjAzNTI5NC0yNC4wOTQxMTggOS4wMzUyOTQtMzMuMTI5NDEyIDBsLTExNS45NTI5NDEtMTIzLjQ4MjM1M2MtMTIuMDQ3MDU5LTEyLjA0NzA1OS0zMC4xMTc2NDctMTkuNTc2NDcxLTQ4LjE4ODIzNS0xOS41NzY0NzF6IG0wIDAiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkb3VnaG51dCIgdW5pY29kZT0iJiM1OTQ2MDsiIGQ9Ik01MTIgMGEzODQgMzg0IDAgMSAwIDIyMi4yNCA2OTcuMTJsLTM2Ljk2LTUyLjE2YTMyMCAzMjAgMCAxIDEgMzUuODQtNDkyLjMybDQ0LjMyLTQ2LjI0QTM4Mi40IDM4Mi40IDAgMCAwIDUxMiAwek04MzQuMDggMTc0LjcyMDAwMDAwMDAwMDAzbC01My42IDM0Ljg4YTMyMS40NCAzMjEuNDQgMCAwIDEtNDIuMDggNDAwTDc4NCA2NTZhMzg1LjQ0IDM4NS40NCAwIDAgMCA1MC4wOC00ODEuMjh6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29sdW1uIiB1bmljb2RlPSImIzU5NDY2OyIgZD0iTTI4OS45MiAxMjhIMjA4YTY0IDY0IDAgMCAwLTY0IDY0VjQ4OGE2NCA2NCAwIDAgMCA2NCA2NGg4Mi4wOGE2NCA2NCAwIDAgMCA2NC02NFYxOTJhNjQgNjQgMCAwIDAtNjQuMTYtNjR6TTIwOCA0ODhWMTkyaDgyLjI0VjQ4OHpNODE2IDEyOGgtODIuMjRhNjQgNjQgMCAwIDAtNjQgNjRWNTYwYTY0IDY0IDAgMCAwIDY0IDY0SDgxNmE2NCA2NCAwIDAgMCA2NC02NHYtMzY4YTY0IDY0IDAgMCAwLTY0LTY0eiBtLTgyLjI0IDQzMnYtMzY4SDgxNlY1NjB6TTU1Mi45NiAxMjhoLTgyLjA4YTY0IDY0IDAgMCAwLTY0IDY0VjcwNGE2NCA2NCAwIDAgMCA2NCA2NGg4Mi4wOGE2NCA2NCAwIDAgMCA2NC02NHYtNTEyYTY0IDY0IDAgMCAwLTY0LTY0eiBtLTgyLjA4IDU3NnYtNTEyaDgyLjA4VjcwNHpNODQ4IDBIMTc2YTMyIDMyIDAgMSAwIDAgNjRoNjcyYTMyIDMyIDAgMSAwIDAtNjR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLWZ1bmN0aW9uIiB1bmljb2RlPSImIzU5NDY3OyIgZD0iTTUxMiAwYTU5LjA0IDU5LjA0IDAgMCAwLTI5LjYgNy44NEwxOTguNCAxNzAuMDhhNjAuMTYgNjAuMTYgMCAwIDAtMzAuMDggNTJWNTQ1LjkyYTYwIDYwIDAgMCAwIDMwLjA4IDUyTDQ4Mi40IDc2MC4xNmE2MC4zMiA2MC4zMiAwIDAgMCA1OS4zNiAwbDI4NC0xNjIuMjRhNjAgNjAgMCAwIDAgMzAuMDgtNTJ2LTMyMy44NGE2MC4xNiA2MC4xNiAwIDAgMC0zMC4wOC01Mkw1NDEuNzYgNy44NEE1OS4yIDU5LjIgMCAwIDAgNTEyIDB6TTIyOC4xNiA1NDUuOTJ2LTMyMy44NEw1MTIgNTkuNjhsMjg0IDE2Mi40VjU0NS45Mkw1MTIgNzA4LjMyek01MTIgMzQ3Ljg0bC0yMTguNCAxMjQuOTZhMjkuOTIgMjkuOTIgMCAxIDAgMjkuNiA1MS44NEw1MTIgNDE2bDE4OC45NiAxMDcuODRhMjkuOTIgMjkuOTIgMCAxIDAgMjkuNi01MS44NHpNNDgyLjI0IDQxMi4xNm0yOS45MiAwbDAgMHEyOS45MiAwIDI5LjkyLTI5LjkybDAtMjM0LjU2cTAtMjkuOTItMjkuOTItMjkuOTJsMCAwcS0yOS45MiAwLTI5LjkyIDI5LjkybDAgMjM0LjU2cTAgMjkuOTIgMjkuOTIgMjkuOTJaIiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYXJlYSIgdW5pY29kZT0iJiM1OTQ2ODsiIGQ9Ik04NjQgODBIMTI4VjY1NmEzMiAzMiAwIDAgMCA2NCAwdi01MTJoNjcyYTMyIDMyIDAgMSAwIDAtNjR6TTI2MS42IDI5NS42Nzk5OTk5OTk5OTk5NWwxMjIuMjQgMTM3LjI4IDE1My40NC02OC42NEw4MDkuNiA2NDMuMDRWMjA4LjY0SDI2MS42djg3LjA0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImRpYWdyYW0iIHVuaWNvZGU9IiYjNTk0Njk7IiBkPSJNODY0IDgwSDEyOFY2NTZhMzIgMzIgMCAwIDAgNjQgMHYtNTEyaDY3MmEzMiAzMiAwIDAgMCAwLTY0ek0yNjEuNzYgMjE0LjU1OTk5OTk5OTk5OTk1YTMyIDMyIDAgMCAwLTI0IDUzLjI4bDEzNy45MiAxNTQuODggMTU0LjQtNjkuMTIgMjU2IDI2Mi44OGEzMiAzMiAwIDAgMCA0NS45Mi00NC44TDU0NCAyNzYuOTYwMDAwMDAwMDAwMDRsLTE1Mi4zMiA2OC4xNi0xMDYuNzItMTE5Ljg0YTMyIDMyIDAgMCAwLTIzLjItMTAuNzJ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLVBhbmVsIiB1bmljb2RlPSImIzU5NDcwOyIgZD0iTTI5MC4wOCAwSDIwOGE2NCA2NCAwIDAgMC02NCA2NFY0NDBhNjQgNjQgMCAwIDAgNjQgNjRoODEuOTJhNjQgNjQgMCAwIDAgNjQtNjRWNjRhNjQgNjQgMCAwIDAtNjMuODQtNjR6TTIwOCA0NDBWNjRoODIuMDhWNDQwek04MTYgMGgtODIuMDhhNjQgNjQgMCAwIDAtNjQgNjRWNTI4YTY0IDY0IDAgMCAwIDY0IDY0SDgxNmE2NCA2NCAwIDAgMCA2NC02NHYtNDY0YTY0IDY0IDAgMCAwLTY0LTY0eiBtLTgyLjA4IDUyOHYtNDY0SDgxNlY1Mjh6TTU1My4xMiAwaC04Mi4wOGE2NCA2NCAwIDAgMC02NCA2NFY3MDRhNjQgNjQgMCAwIDAgNjQgNjRoODIuMDhhNjQgNjQgMCAwIDAgNjQtNjR2LTY0MGE2NCA2NCAwIDAgMC02NC02NHogbS04Mi4wOCA3MDR2LTY0MGg4Mi4wOFY3MDR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLXRvZG8iIHVuaWNvZGU9IiYjNTk0NzE7IiBkPSJNOTI4IDEwMS4xMkg5NnYxNTEuODRhOTQuNzIgOTQuNzIgMCAwIDAgOTQuNTYgOTQuNTZoMTgxLjQ0YTIyLjA4IDIyLjA4IDAgMCAxIDE5LjY4IDMybC01My42IDEwNy4yYTE5NC40IDE5NC40IDAgMSAwIDM0Ny44NCAwbC01My42LTEwNy4yYTIyLjA4IDIyLjA4IDAgMCAxIDE5LjY4LTMyaDE4Mi4wOEE5NC41NiA5NC41NiAwIDAgMCA5MjggMjUyLjk2eiBtLTc2OCA2NGg3MDR2ODcuODRhMjkuOTIgMjkuOTIgMCAwIDEtMjkuNzYgMjkuOTJINjUyYTg2LjcyIDg2LjcyIDAgMCAwLTc3LjYgMTI1LjQ0bDI4Ljk2LTE0LjQtMjguOTYgMTQuNCA1My42IDEwNy4zNmExMjkuNzYgMTI5Ljc2IDAgMSAxLTIzMiAwbDUzLjYtMTA3LjM2YTg2LjcyIDg2LjcyIDAgMCAwLTc3LjYtMTI1LjQ0SDE5MC4wOEEyOS45MiAyOS45MiAwIDAgMSAxNjAgMjUyLjk2ek05NS4zNiA2NC42NGg4MzMuMjhWMEg5NS4zNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJnZW5lcmF0b3ItZW1haWwiIHVuaWNvZGU9IiYjNTk0NzI7IiBkPSJNNTEyIDI0NC44YTk2IDk2IDAgMCAwLTU1LjUyIDE3LjZMMTUwLjA4IDQ3OS4yQTEyOCAxMjggMCAwIDAgOTYgNTgzLjY4djIzLjUyYTEyOCAxMjggMCAwIDAgMTI4IDEyOGg1NzZhMTI4IDEyOCAwIDAgMCAxMjgtMTI4di0yMy42OGExMjggMTI4IDAgMCAwLTU0LjA4LTEwNC40OEw1NjcuMzYgMjYyLjRBOTYgOTYgMCAwIDAgNTEyIDI0NC44eiBtLTE4LjU2IDY5LjkyYTMyIDMyIDAgMCAxIDM2Ljk2IDBMODM2LjggNTMxLjM2YTY0IDY0IDAgMCAxIDI3LjIgNTIuMzJWNjA4YTY0IDY0IDAgMCAxLTY0IDY0SDIyNGE2NCA2NCAwIDAgMS02NC02NHYtMjMuNTJhNjQgNjQgMCAwIDEgMjcuMDQtNTIuMzJ6TTgxMS4wNCAzMkgyMTIuOGExMjEuNzYgMTIxLjc2IDAgMCAwLTgxLjI4IDMwLjRBMTAyLjU2IDEwMi41NiAwIDAgMCA5NiAxNDAuNDhhMTA0IDEwNCAwIDAgMCAzNi42NCA3OC40bDE5OS4wNCAxNzIuOGEzMiAzMiAwIDAgMCA0MS45Mi00OEwxNzQuNzIgMTcwLjU2YTM4LjQgMzguNCAwIDAgMSAwLTU5Ljg0IDU3LjEyIDU3LjEyIDAgMCAxIDM4LjA4LTE0LjcyaDU5OC4yNEE0OC45NiA0OC45NiAwIDAgMSA4NjQgMTQwLjQ4YTM5Ljg0IDM5Ljg0IDAgMCAxLTE0LjcyIDMwLjA4bC0xOTUuNTIgMTY5LjZhMzIgMzIgMCAwIDAgNDEuOTIgNDhsMTk1LjM2LTE2OS42YTEwNC4xNiAxMDQuMTYgMCAwIDAgMzYuOC03OC40IDExMiAxMTIgMCAwIDAtMTE2LjgtMTA4LjE2ek0xNjAuMTYgNTkwLjU2SDk2di00NDYuMDhoNjQuMTZWNTkwLjU2ek05MjggNTkwLjU2aC02NHYtNDQ2LjA4aDY0VjU5MC41NnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJnZW5lcmF0b3Itbm90aWNlIiB1bmljb2RlPSImIzU5NDczOyIgZD0iTTUyOCAwYTY0IDY0IDAgMCAwLTQxLjI4IDE1LjA0TDI1Ny4yOCAyMDYuMDhIMTM5LjUyYTY0IDY0IDAgMCAwLTY0IDY0djIyNy4yYTY0IDY0IDAgMCAwIDY0IDY0aDExNy43Nkw0ODYuNCA3NTIuOTZhNjQgNjQgMCAwIDAgMTA1LjYtNDkuNzZWNjRhNjQgNjQgMCAwIDAtMzcuMTItNTguNTZBNjUuNzYgNjUuNzYgMCAwIDAgNTI4IDB6TTEzOS41MiA0OTcuMjh2LTIyNi41NmgxNDEuMTJMNTI4IDY0VjcwMy4yTDI4MC42NCA0OTcuMjh6IG0zNjggMjMwLjcyTDUyOCA3MDMuMnpNNjg1LjkyIDEwNC45NmEzMiAzMiAwIDAgMC02LjA4IDY0YzExOC40IDIyLjU2IDIwNC4zMiAxMTYuOCAyMDQuMzIgMjI0cy04NS45MiAyMDEuNDQtMjA0LjMyIDIyNGEzMiAzMiAwIDEgMCAxMi4xNiA2NGMxNDguOC0yOC4zMiAyNTYuOTYtMTQ5LjI4IDI1Ni45Ni0yODhzLTEwOC4xNi0yNTkuMzYtMjU2Ljk2LTI4OGE0MS4yOCA0MS4yOCAwIDAgMC02LjA4IDB6TTY5NS4zNiAyNDEuNmEzMiAzMiAwIDAgMC0xMC40IDYyLjQgOTcuNDQgOTcuNDQgMCAwIDEgNjkuOTIgODguOCA5Ny4yOCA5Ny4yOCAwIDAgMS02OS45MiA4OC42NCAzMiAzMiAwIDAgMCAyMC44IDYxLjI4IDE2MS45MiAxNjEuOTIgMCAwIDAgMTEzLjkyLTE0OS45MiAxNjEuNzYgMTYxLjc2IDAgMCAwLTExMy45Mi0xNDkuOTIgMjguOTYgMjguOTYgMCAwIDAtMTAuNC0xLjI4eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9InJhZGFyIiB1bmljb2RlPSImIzU5NDc0OyIgZD0iTTY5NC4wOCAzNy40NDAwMDAwMDAwMDAwNTVoLTM2OGE2NCA2NCAwIDAgMC02MC44IDQ0LjE2TDE1Mi4zMiA0MzAuODhBNjQgNjQgMCAwIDAgMTc2IDUwMi40bDI5Ni44IDIxNmE2NCA2NCAwIDAgMCA3NS4yIDBsMjk3LjEyLTIxNmE2NCA2NCAwIDAgMCAyMy4zNi03MS41MmwtMTEzLjYtMzQ5LjI4YTY0IDY0IDAgMCAwLTYwLjgtNDQuMTZ6TTUxMC40IDY2Ni41NkwyMTMuMjggNDUwLjcybDExMy40NC0zNDkuMjhoMzY4bDExMy40NCAzNDkuMjhMNTEwLjQgNjY2LjU2ek00OTQuNCAzMzIuMTU5OTk5OTk5OTk5OTd2MzY2LjRoMzJ2LTMyMi40bDMxMS41MiAxMDEuMjggOS45Mi0zMC41Ni0zNTMuNDQtMTE0Ljcyek0zMTcuOTIgNjBsLTI1LjkyIDE4LjcyIDIxOC4yNCAzMDIuNzIgMjE2LjQ4LTI5NS44NC0yNS43Ni0xOC44OC0xOTAuNCAyNjAuMTYtMTkyLjY0LTI2Ni44OHpNMTc2LjIyNCA0NDUuNzZsOS44ODggMzAuNDQ4IDMyOS4xNTItMTA2Ljk0NC05Ljg4OC0zMC40MzJ6TTM4MCAxNzIuNzk5OTk5OTk5OTk5OTVMMzQyLjQgNDEwLjg4bDE2Ni44OCAxMDguMzIgMjAwLTEwMC4xNi05OC4yNC0yMDEuNzZ6IG0tMi43MiAyMjIuNTZsMjkuMTItMTg0LjggMTgyLjg4IDM1LjA0IDc3LjI4IDE1OS4wNEw1MTIgNDgyLjR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2VuZXJhdG9yLXRvZG9saXN0IiB1bmljb2RlPSImIzU5NDc1OyIgZD0iTTM4NCAzNS42OEgyMDhBOTIuOTYgOTIuOTYgMCAwIDAgMTE0LjU2IDEyOFY3MDcuMkE5My4xMiA5My4xMiAwIDAgMCAyMDggODAwaDUxNy4yOGE5Mi45NiA5Mi45NiAwIDAgMCA5Mi44LTkyLjk2di0yMTguNTZoLTY0VjcwNy4yYTI4Ljk2IDI4Ljk2IDAgMCAxLTI4LjggMjguOEgyMDhhMjguOTYgMjguOTYgMCAwIDEtMjguOTYtMjguOTZWMTI4QTI4Ljk2IDI4Ljk2IDAgMCAxIDIwOCA5OS42OGgxNzZ6TTY3OS41Mi0zMmEyMjkuOTIgMjI5LjkyIDAgMSAwIDIyOS45MiAyMjkuNzZBMjMwLjI0IDIzMC4yNCAwIDAgMCA2NzkuNTItMzJ6IG0wIDM5NS44NGExNjUuOTIgMTY1LjkyIDAgMSAxIDE2NS45Mi0xNjYuMDggMTY2LjI0IDE2Ni4yNCAwIDAgMS0xNjUuOTIgMTY1Ljkyek02MjAuMTYgNTcwLjU2SDI4MC4zMmEzMiAzMiAwIDAgMCAwIDY0aDMzOS44NGEzMiAzMiAwIDAgMCAwLTY0ek00ODcuMDQgNDA5LjQ0SDI4MC4zMmEzMiAzMiAwIDAgMCAwIDY0aDIwNi43MmEzMiAzMiAwIDAgMCAwLTY0ek03ODAuMzIgMTIxLjc2YTMyIDMyIDAgMCAwLTEwLjI0IDEuNmwtOTQuODggMzJhMzIgMzIgMCAwIDAgMjAuMzIgNjAuOGw5NC44OC0zMmEzMiAzMiAwIDAgMC0xMC4wOC02Mi40ek02ODIuODggMTUzLjQ0YTMyIDMyIDAgMCAwLTMyIDMydjEwMGEzMiAzMiAwIDAgMCA2NCAwdi0xMDBhMzIgMzIgMCAwIDAtMzItMzJ6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGllIiB1bmljb2RlPSImIzU5NDc2OyIgZD0iTTUwNCAwYTM3NiAzNzYgMCAwIDAtMjcuNjggNzUxLjA0bDQuNjQtNjRBMzEyIDMxMiAwIDEgMSA4MTUuMDQgMzUybDY0LTQuOTZBMzc3LjYgMzc3LjYgMCAwIDAgNTA0IDB6TTg5NiAzNzYuNzk5OTk5OTk5OTk5OTVINTA0Ljk2Vjc2OGgzMkEzNTkuNTIgMzU5LjUyIDAgMCAwIDg5NiA0MDguOHogbS0zMjcuMDQgNjRIODMwLjRhMjk1LjY4IDI5NS42OCAwIDAgMS0yNjEuNDQgMjYxLjQ0eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9InNoYW5jaHUiIHVuaWNvZGU9IiYjNTkwODU7IiBkPSJNNTYxLjEgMTg3LjU0NlY0ODIuMjAyYzAgNDcuMTU1IDQ5LjEwMiA0Ny4xNTUgNDkuMTAyIDB2LTI5NC43MDhjMC4wNS0zNC4wOTktNDkuMTAxLTM4LjY1Ni00OS4xMDEgMC4wNTJ6IG0tMTQ3LjMwMiAwVjQ4Mi4yMDJjMCA0Ny4xNTUgNDkuMTAxIDQ3LjE1NSA0OS4xMDEgMHYtMjk0LjcwOGMwLTM4LjY1Ni00OS4xLTM0LjA5OS00OS4xIDAuMDUyeiBtNDQyLjAxIDQ0Mi4wMUg3MDguNDU0djQ5LjE1MWMwIDcxLjczMS0yMi45ODggOTguMjUzLTk4LjI1MiA5OC4yNTNINDEzLjc5OGMtNzQuMDM1IDAtOTguMjUyLTI0LjE2Ni05OC4yNTItOTguMjUzdi00OS4xNTJIMTY4LjE5MmMtNTMuMDk0IDAtNTMuMDk0LTQ5LjEgMC00OS4xaDY4Ny42MTZjNTMuMDk0IDAgNTMuMDk0IDQ5LjEgMCA0OS4xeiBtLTQ5MS4xNjIgNDkuMTUxYzAgNDcuNjY3IDIuOTcgNDkuMTAxIDQ5LjEwMSA0OS4xMDFoMTk2LjQ1NWM0Ni4wOCAwIDQ5LjEtMS4xMjYgNDkuMS00OS4xdi00OS4xNTNIMzY0LjY0NnY0OS4xNTJ6IG0zNDMuOTEtNjg3LjYxNmgtMzkzLjAxYy03MC45NjQgMC05OC4yNTMgMjcuMjM5LTk4LjI1MyA5OC4yNTNWNDgyLjIwMmMwIDQ5LjYxMiA0OS4xIDQ5LjYxMiA0OS4xIDB2LTM5Mi45MWMwLTQ3LjcxOC0wLjEwMi00OS4xNTEgNDkuMTAxLTQ5LjE1MWgzOTIuOTFjNDcuNzE4IDAgNDkuMS0wLjE1NCA0OS4xIDQ5LjE1MlY0ODIuMjAyYzAgNDguNDg2IDQ5LjEgNDguNDg2IDQ5LjEgMHYtMzkyLjkxYzAuMTAzLTY5LjQyNi0yMy45Ni05OC4yLTk4LjA0Ny05OC4yeiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImJpYW5qaSIgdW5pY29kZT0iJiM1ODkxMzsiIGQ9Ik05MDkuOC02My41SDExNS4yYy0yNy40IDAtNDkuNyAyMi4zLTQ5LjcgNDkuN1Y3ODAuOGMwIDI3LjQgMjIuMyA0OS43IDQ5LjcgNDkuN2g0NTEuNGMxMS44IDAgMjEuMy05LjUgMjEuMy0yMS4zcy05LjUtMjEuMy0yMS4zLTIxLjNIMTE1LjJjLTMuOCAwLTcuMS0zLjItNy4xLTcuMXYtNzk0LjZjMC0zLjggMy4yLTcuMSA3LjEtNy4xaDc5NC42YzIuMSAwIDMuNiAwLjkgNC4zIDEuNyAwLjUgMC42IDAuNiAxIDAuNSAxLjhsLTAuMyAzLjZWNDM4LjhjMCAxMS44IDkuNSAyMS4zIDIxLjMgMjEuM3MyMS4zLTkuNSAyMS4zLTIxLjN2LTQ1MS4xYzEuNS0xMi40LTIuMS0yNC44LTEwLjEtMzQuMy05LjItMTAuNy0yMi42LTE2LjktMzctMTYuOXpNMzc4LjYgMjI5LjVjLTUuNCAwLTEwLjkgMi4xLTE1IDYuMi04LjMgOC4zLTguMyAyMS44IDAgMzAuMUw5MjAuNyA4MjMuMWM4LjMgOC4zIDIxLjggOC4zIDMwLjEgMHM4LjMtMjEuOCAwLTMwLjFMMzkzLjYgMjM1LjhjLTQuMS00LjItOS42LTYuMy0xNS02LjN6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieml5dWFuNSIgdW5pY29kZT0iJiM1OTM5NzsiIGQ9Ik0xMTU1LjE5MTIxNiA4MC43Njk0OTdsLTEwNC4zODQ3NDkgMjA0LjEzMDE3NGE0LjYzOTMyMiA0LjYzOTMyMiAwIDAgMS00LjYzOTMyMiA0LjYzOTMyM2MwIDIuMzE5NjYxLTIuMzE5NjYxIDQuNjM5MzIyLTQuNjM5MzIyIDYuOTU4OTgzaC0xMS41OTgzMDVhMi4zMTk2NjEgMi4zMTk2NjEgMCAwIDEtMi4zMTk2NjEgMi4zMTk2NjFoLTIwLjg3Njk1TDgwMi42MDI3MzIgMjIyLjI2ODgyMmEzNy4xMTQ1NzcgMzcuMTE0NTc3IDAgMCAxLTIwLjg3Njk0OS00Ni4zOTMyMjEgMzQuNzk0OTE2IDM0Ljc5NDkxNiAwIDAgMSA0Ni4zOTMyMjEtMjAuODc2OTVsMTMyLjIyMDY4MSA0OC43MTI4ODNBNDIyLjE3ODMxNiA0MjIuMTc4MzE2IDAgMCAwIDU3Mi45NTYyODYtNTYuMDkwNTA3IDQyNi44MTc2MzggNDI2LjgxNzYzOCAwIDAgMCAxNjAuMDU2NjE0IDI3My4zMDEzNjYgMzQuNzk0OTE2IDM0Ljc5NDkxNiAwIDAgMSAxMTUuOTgzMDU0IDI5OC44MTc2MzhhMzcuMTE0NTc3IDM3LjExNDU3NyAwIDAgMS0yNS41MTYyNzItNDQuMDczNTYgNTAxLjA0Njc5MiA1MDEuMDQ2NzkyIDAgMCAxIDQ4Mi40ODk1MDQtMzgyLjc0NDA3OCA0OTQuMDg3ODA5IDQ5NC4wODc4MDkgMCAwIDEgNDUyLjMzMzkwOSAzMDEuNTU1OTRsNjQuOTUwNTExLTEyNy41ODEzNTlhMzkuNDM0MjM4IDM5LjQzNDIzOCAwIDAgMSAzMi40NzUyNTUtMTguNTU3Mjg5IDE4LjU1NzI4OSAxOC41NTcyODkgMCAwIDEgMTYuMjM3NjI3IDQuNjM5MzIyIDM0Ljc5NDkxNiAzNC43OTQ5MTYgMCAwIDEgMTYuMjM3NjI4IDQ4LjcxMjg4M3pNOTkuNzQ1NDI2IDUwNy41ODcxMzVsNi45NTg5ODMtNi45NTg5ODNoMi4zMTk2NjJsMTEuNTk4MzA1LTYuOTU4OTg0aDIwLjg3Njk1TDM0Ny45NDkxNjEgNTQ3LjAyMTM3M2EzNy4xMTQ1NzcgMzcuMTE0NTc3IDAgMCAxIDI1LjUxNjI3MiA0NC4wNzM1NiAzOS40MzQyMzggMzkuNDM0MjM4IDAgMCAxLTQ2LjM5MzIyMSAyNS41MTYyNzJsLTEzNi44NjAwMDQtMzcuMTE0NTc3YTQyMi4xNzgzMTYgNDIyLjE3ODMxNiAwIDAgMCA3ODguNjg0NzY2LTY0Ljk1MDUxIDM0Ljc5NDkxNiAzNC43OTQ5MTYgMCAwIDEgNDQuMDczNTYtMjUuNTE2MjcyIDM3LjExNDU3NyAzNy4xMTQ1NzcgMCAwIDEgMjMuMTk2NjExIDQ2LjM5MzIyMiA0OTEuNzY4MTQ4IDQ5MS43NjgxNDggMCAwIDEtOTE4LjU4NTc4NiA3OC44Njg0NzZMNjkuNTg5ODMyIDc0MS44NzI5MDNhMzcuMTE0NTc3IDM3LjExNDU3NyAwIDAgMS00OC43MTI4ODIgMTYuMjM3NjI4QTM0Ljc5NDkxNiAzNC43OTQ5MTYgMCAwIDEgNC42MzkzMjIgNzA5LjM5NzY0OGw5Mi43ODY0NDMtMjAxLjgxMDUxM3oiICBob3Jpei1hZHYteD0iMTE2MCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ6aXl1YW44IiB1bmljb2RlPSImIzU5NDAwOyIgZD0iTTg5Ny4wMjQgNjcyLjc2OGgtNjUuNTM2Vjg5NkgxOTIuNTEydi0yMjMuMjMySDEyNi45NzZBMTI5LjAyNCAxMjkuMDI0IDAgMCAxIDAgNTQzLjc0NHYtNDE1Ljc0NGgxOTIuNTEyVi0xMjhoNjM4Ljk3NlYxMjhIMTAyNFY1NDMuNzQ0YTEyOS4wMjQgMTI5LjAyNCAwIDAgMS0xMjYuOTc2IDEyOS4wMjR6TTI1NiA4MzIuNTEyaDUxMnYtMTU5Ljc0NGgtNTEyeiBtNTEyLTg5Ny4wMjRoLTUxMlYyMjQuMjU2aDUxMnogbTE5Mi41MTIgMjU2aC0xMjkuMDI0djk2LjI1NkgxOTIuNTEydi05Ni4yNTZINjMuNDg4VjU0My43NDRhNjMuNDg4IDYzLjQ4OCAwIDAgMCA2My40ODggNjMuNDg4aDc3MC4wNDhhNjMuNDg4IDYzLjQ4OCAwIDAgMCA2My40ODgtNjMuNDg4ek01MTIgNTEzLjAyNEgyMjUuMjhhMzIuNzY4IDMyLjc2OCAwIDAgMS0zMi43NjgtMzIuNzY4IDMyLjc2OCAzMi43NjggMCAwIDEgMzAuNzItMzIuNzY4aDI4Ni43MmEzMi43NjggMzIuNzY4IDAgMSAxIDIuMDQ4IDY1LjUzNnoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzZWFyY2giIHVuaWNvZGU9IiYjNTg4OTQ7IiBkPSJNOTEwLjkzMzMzMyAxNC45MzMzMzNsLTE4Ni4wMjY2NjYgMTg2LjAyNjY2N2EzMzkuNjI2NjY3IDMzOS42MjY2NjcgMCAwIDEgODUuMzMzMzMzIDIyNS4yOGMwIDE4OC41ODY2NjctMTUyLjc0NjY2NyAzNDEuMzMzMzMzLTM0MS4zMzMzMzMgMzQxLjMzMzMzM3MtMzQxLjMzMzMzMy0xNTIuNzQ2NjY3LTM0MS4zMzMzMzQtMzQxLjMzMzMzMyAxNTIuNzQ2NjY3LTM0MS4zMzMzMzMgMzQxLjMzMzMzNC0zNDEuMzMzMzMzYzg2LjYxMzMzMyAwIDE2NS41NDY2NjcgMzIuNDI2NjY3IDIyNS43MDY2NjYgODUuNzZsMTg2LjAyNjY2Ny0xODYuMDI2NjY3IDMwLjI5MzMzMyAzMC4yOTMzMzN6TTE3MC4yNCA0MjYuMjRjMCAxNjQuNjkzMzMzIDEzMy45NzMzMzMgMjk4LjY2NjY2NyAyOTguNjY2NjY3IDI5OC42NjY2NjdzMjk4LjY2NjY2Ny0xMzMuOTczMzMzIDI5OC42NjY2NjYtMjk4LjY2NjY2Ny0xMzMuOTczMzMzLTI5OC42NjY2NjctMjk4LjY2NjY2Ni0yOTguNjY2NjY3LTI5OC42NjY2NjcgMTM0LjQtMjk4LjY2NjY2NyAyOTguNjY2NjY3eiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9ImFkZCIgdW5pY29kZT0iJiM1ODg5OTsiIGQ9Ik04NTMuMzMzMzMzIDQxMi40NDQ0NDRINTQwLjQ0NDQ0NFY3MjUuMzMzMzMzYzAgMTUuOTI4ODg5LTEyLjUxNTU1NiAyOC40NDQ0NDQtMjguNDQ0NDQ0IDI4LjQ0NDQ0NXMtMjguNDQ0NDQ0LTEyLjUxNTU1Ni0yOC40NDQ0NDQtMjguNDQ0NDQ1di0zMTIuODg4ODg5SDE3MC42NjY2NjdjLTE1LjkyODg4OSAwLTI4LjQ0NDQ0NC0xMi41MTU1NTYtMjguNDQ0NDQ1LTI4LjQ0NDQ0NHMxMi41MTU1NTYtMjguNDQ0NDQ0IDI4LjQ0NDQ0NS0yOC40NDQ0NDRoMzEyLjg4ODg4OVY0Mi42NjY2NjdjMC0xNS45Mjg4ODkgMTIuNTE1NTU2LTI4LjQ0NDQ0NCAyOC40NDQ0NDQtMjguNDQ0NDQ1czI4LjQ0NDQ0NCAxMi41MTU1NTYgMjguNDQ0NDQ0IDI4LjQ0NDQ0NVYzNTUuNTU1NTU2SDg1My4zMzMzMzNjMTUuOTI4ODg5IDAgMjguNDQ0NDQ0IDEyLjUxNTU1NiAyOC40NDQ0NDUgMjguNDQ0NDQ0cy0xMi41MTU1NTYgMjguNDQ0NDQ0LTI4LjQ0NDQ0NSAyOC40NDQ0NDR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCgoKICA8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4K\"\n\n//# sourceURL=webpack:///./css/dataReport/iconfont.svg?"); /***/ }), @@ -1140,7 +1140,7 @@ eval("\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = export /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var escape = __webpack_require__(/*! ../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"@font-face {\\r\\n font-family: \\\"report-icon\\\";\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot?t=1604323972555 */ \"./css/dataReport/iconfont.eot?t=1604323972555\")) + \");\\r\\n /* IE9 */\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot?t=1604323972555 */ \"./css/dataReport/iconfont.eot?t=1604323972555\")) + \"#iefix) format('embedded-opentype'),\\r\\n \\r\\n url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACRMAAsAAAAAS9wAACP9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCKbgr5GOFAATYCJAOCHAuBEAAEIAWFEQeHPxurPkUk57NII6pGJdn/lwNuDA0dVO8LSGdnFEa8UOmgqKPwvLy7AcI0jEB88mUEadqbNkhi4cIUhcu/8v0T8ayMPuNDKQneX/t3LuwHQltgTYTG1BFYh0bg5iT1tW9hbkM83cxJmUYzCR1/6bt7ftIIwdb66rJ6lDOdkezCjGSFzhdCeJUXDpLWPge54I/0lb67K0OAbId+xR/jwcQ6H0oCRt8JocYtAn7U2Su1LLX8JNnO/xw43oo8YpISkL3aq8CODwo2f4RAgbdjKNgZaQhhqYSa4P1/Rds2PO+23v+f8YHPWAqiiKiY4gTdqChDzYZholIWhqBtHKtS0XK2tK3e0Ia7Ne2Kxs3s8mwsNb01aewrF53ZlUrSh4lhgStJ3/J9/L7LtgDdyxYv5DQo4FA5gInwA0AG5XJZuAbOzm0FLHl1LEyRClRD7vzrNFf9+FQAmBhX4GXHYdSXIfqSvykoh1CH+nbIOXIUll0CmNhfjq9WciAdAU0Fmm8Yuyxd+7p27Lj0xkItk2XJ8PYAmthaR+uDXNb3BdXerNrUkBKkpMbdcu/+f+8moc8S32z/wePn9aiM1xLS8yeP7uhhFqq6LfS0ujjf1pw+avTkV/mHD/T30z/bkidrCuNHpx8euG93OxTnS9yJXS+pF/J2gwYFG4BKnuIu0oiFs9xgoe90YekPwBjyt7kdasfb1fZHNNETh+J8p4O/NB5HHzKeJmPmv8T74YCD9tpjn/2SrKgaXbr16NWn34BBQ4aNQKAwOAKJQmOwODyBSCJTqDQ6g8lic7g8vkAoEksUUplcqVJrtDq9wWhyJHXB8QEol5XVQVrSCgdouRpPB1174R9hD4GGfQQR9hNcSAQfMiGEQoihElJoCDl0EUroJtTQQ2ihl9BDH2GEfsIMA4QVBgk7DBFOGCbcMALCC6Mg/DAGIgjjIMIwASIKkyDiMAUiCdMg0jADIguzIPIwB6II8yDKsACiQtmsAdgAsAVgB8AegAMADgE4AuAYgBMATgE4A+AcgAsALgG4AuAagBsAbgG4A+AeyLcHoJweAXgC4BlhF4gLyuYVgDcA3gH4AOATgC8AvgH4AeAXdVjgkP3Fe/IWMP6F6Z+MUd7hfkhVFdJoaG/ewRpwXLa67RXr2zKDamAe2d9t1VYfud7oU/XK4+hLjQHFhL1Bf9XqTVrbxW7NIOsS6TWCzmxm/qoyAzkyepUsOjWtSjD3Z8yjWK9+QWgXlMdIFJabSPbHXwBAXi9GEcqIAEYwA8X97J40wnCxUCha0CabaGBNkF/1W4XnZdIm1JhGUMEovnCdldGlq/rI559SxaqsS0Zf8Fhm14RnTWAOw1EU4UxOQwfV4gI6aT6ZoSYoY0KkkBA5dGYfhJtRTpFRrhN1SKTfdqQDplxMDAVhlBqXcB2u6fq7gOmgRlVbUSKHQmGNui+QOYA0rUDUaomdvs6AqpUFUcPmao2KsZaM6VR1Nk0VZ7wvcWOSVtPSGFRjSTr/YboKqoI99vlrFIQQAE1147RLwojJrllqu+q00I188KKWUglj3R0Fk0bbGY6XvqYJCWhQMDCmACQWylXrJYy8AEMAYOPDoBAVLzKQhwwhIatNqg8/23BtDG/8YivyK18bEPqDgZ9oXyIvViwyxtNvQByxGZY9o9ldL47vvrerNdP9P5wu9LjTyXNR2WPR3nJxFe+26VnsdfrzSB3jfAX7yTJPBtwN2xnHKzsnW7Zkdgk9uN3IBBZ3Utbx/f5oCd2dMwU83VBXPmQgIGDk5jTwb0692/EISxeSeVA/hATujWXVh6W0KJ9StqK8zmWz6k1CRiWZQeXR4MZL9eCboQ9Oj4Z0RIPXZNCSTsXGirmpfrfLBS7qQ6JqyRNBDb2vD0oQncwOqh61L7pIX5NR1t25Rsgi0UDWcZXRxSTJnsiqy3x6bSJ63GoUMSZ5h14Iju+vfs6iR1vaH5j/cHMuz57QsaVp21FPaM6guVMqImaf7eCj41cdHt3C8OGjPalS8WnkQwLVnagokuypZp9crcDFWlwG9aDKCls7UdwUqGo1wSejaAz9sTcJRjv14iaTPXiV77QvwVNdM/Mr2eFGwjWVBpoHz3Kv9pLGWDETROVYTugMIp/yyZnFcrb6dJfb/IGcaueH4kLbvmMghOAMu2qA9V494yQs37Mq1x9QqjEmMeVMIVBgCKUD7Gv5nkVc6MTySnKaozGxdXslrHuH0uzIpKVu0mOdaMnAyC65KCcpeCIQZUPt1IpHO+SVJASoJwbaJEE6lKQIqqMF3N4RIDw2cY7jpqyRz82SclZjRlaBiaBVhFpVm5ICUWtJ3hFKNnyegVAY6SoWZiRwUOpxhbgOeYybftt2FU+1yAf8+Y2OPAHjc9dO4bMpEzIriSngzk5bskyBidizG6zIRB4wm4ovZ/OYO0PzWrSXbzcJNOynTZf5CXRn2o7LeKvRa4TbetGxaZCLznTDtilrWsofupPPH5837jrtmUC5Em7MvUGA316h360WK/KY1MeEPOoWNooHdZWRgX3Hy6NyX83MO9aMxUZgv93YxIZtaNoWDu9gg3HruBWl0IFJA8NHN0Oog1Zvyxl/OgUfBqM3E4JGq2cDDEHfEB3AQO905q4N5p5e7XTdg6cHiU8N49LgeSXdkNYI9AzN/vOIIU7Fi93jJsdRaxBSckVSiaCBazC67k850TxIBWBfghiD4GLOHrKKQfyJ+JSYSTKjKhIYSZ5YA243BLH64JMBYvh0pphUClGqsTwseBC4l77ba+MTk/Gu021Dp7R5uf9t5apfttBp5XkZvWjg7qYGu5XzJm3XHfyT2bZLY5I47oXdfbkRj7eTsJGUaqNowjCMBpIpOBHN0Qh4vIuIhuHMxm6nTozQJmeqqgYRlIocvMVGMK2SuRWnMaqyi4V+mLRWUsjhpCqhR1iJD8mr9WfWOEiYbepCEHsv/wRaIB+mHZoZDPWBz7YmmscM4YVXupVXByVqFP3UYexhT5S6RU89Oypedr5ecG60r0se4+lTXT/MNJsh2e+2sn7ywpJH/agFDzb0HUOZaflD9Hby3fVGobvrOm0v8VUJPzHhNIU89lvjdpAMB4BJj1ohDlKNL5VVvXs+UzRfzkqVKK/fnQVa/zRs1rv40wxI/kdQ1k+fkSpncHLlOEMyZKdeNVErE2des7QXvyDx56mQnzrtfIdR1BWVqWvCKBV6A0qOXAIvq0aKtIJNzK/T2CT7+Ik8riARkhGKTfOYC5qMI5TLkpBJNIz94rLmvgWePCbxgjGjVq0PZmi4EypM776cWReE9LnSnkmZ/IYwr0gXFmGQGg6mFPxRR4RZjZFvVFe9HEJwLvBDSR63WBVGULFtcl5CDKa9kgORG16mHnJmpz8Zk3CFOItxmzuQ3W8GgWGIOUMYE0oxJu9QqrEb+odyJSEjkfdwlfJz0O9tLn6ehWkGQh5DlAQCPZuXGKyX99KdS8snkgGvLMwGXSK/ODVI2w0uurtKCYu0Al0JpFnfG3f0WWrra74uEi/yLwIh96Zt5IbwtL2Tlcg97ki+Kb2zdhNBeOAM0b+jM3EwdlpNSXTp9DgKv+zEkhNnhZH2cYBz3GfAF/YxEjqBUTv6V0xTiFEyXuZAm2WX9fZKBCU9/k6HPEBrV9N9B3nFKu6xgQbph+1x0nhBM9ZBk2s7EyLDbGDClp8hT9rPG4nIc9pjzywgy6zoz+9kzZ0vnwDCOmFS8aBRzyBTIMS3PqJlb5I4kpvA0chwCicajjfIU2Zdq0FuRGCDQJUpA8R4x/sVFgICGjgxXg1rLyUnxfa8o8rQTx9KRu7Uzler4azVwfDIajSf6OGs8UK7Fc9RG8PMIeLFk1qAeoEhhSdoIGb2BqBeKvMxnFQE6wEKiWGdCzQUQAha1RXc0Qc+fCPk773kzrdxPhXfXWKaPrRnaCronjOz7EKYPl8PGnln2ZK1BxcGpml83uWt2cYaJpg7ajgB82HIzKIuBUs2CEAfKqPhDghhB0NY87w/TNM9PEAef/SeWVhHoDvDvilW4TPjVa8F3bHjx5NOmI5sLxy+/eswP5Lzw8N0k5Npxlc6H3abRHtiX54HKVthgwmNQrNpqUKZcRXFiBBEI+UiRU9E7h9HjEqORe/5B/3mhNW+sVOj1+Qw6Q6f9ti/5ocXNxyheFKELQoFIp4vcPFcaXoK0UgfcXXKR/QSOUbUTMCqKsrt/IZQkW971Zo/4im3XDP5RF4ugqCYIXAJDoMl35SKU6RUkPCp3tfyjFfyx6Z6EAvdG86ZT4STfWGuzO+hYQcCnk90FuumPglX1iM4iLk6tj3/79n+1HohI8qfr7pdvBqTjJN/7tByY8lSfXjrXsqdNTJaHBFF+nWINhkm3fNnRqpjGKdbFGkkxEemKkW/3pWaiTFOoKDE/4GFybWr0lu7h7zDHW3SMmyG9i6zNOrUjdbsc1icB9ODqRInPiePb1jmUdpWJB1jTCaUdX76ZNnN4qJpXgeWRaFXnJBZFbh+9azrLtetXy3FlCP3Jo1MYRWFc/brGmBpq80HQfecMzRY6dTyoFVNl6yB8MzzlcFwuOKzV5txdWb4qeVDL8+qWqKvZZlIrVWN0jVh0VunRNUgwXjI/xGFumAV5eq4mIlWY2MwytCUCnMhBq1/vAiV3CXnhii3l/jaFMt/lzRSRWHSdxXG1qwFt7jyU6xaMApIYDLyyCjDgc8ecYQ/7hX/frDTC0/06fyceoPw8fh++mlVoM/cG6LT3vv38hv4dLpj5IaV5RSJXlQ3hSfNLtfYHX41Ka3wq0ndCdXkahwYeEWxyZnBQ7lZ6RBNMM3rfrdBH3pTuXBTfqMSTRKefciCJEfwy4u8sRfBZqsXl8Zf912enbtMP+QhviEsAS2aZsCjXuSz/2hrTQSlcyU/klz4iR5HJ2eoMuHwa+WJgvrQN+rrbWi9Mibbjpe/v+jPD8rv3Vv/Z2LuFZ0E//ImISs787GjhmSDv2/TfnNqcqoZjPV7leJD2kNL6frKO5R8CHyxdYPLppDjnvVLtH3/fJb+x59H/uQc6ft3OkVs1x344+eBXQOxG+KqP8eB5rh1dGQHGBtKjZLb1G3WJmvNTQFST05KToqcXdSj7Zm9xIkx9ST3ANnYMl1BDiUd+oeKL7KqdBtKNeg4t5jbmG6JY56DCPiw5+vgwr8melWP4tb+7uK9qDr+7EqnPe/OU8Y545Qxykgru3WcOwmObD7DIPvnRum3hmrNsnSI2DWpCppunc9CxG27T4h1nedeLPoWKC8t5e5zK1v5RRLJ6vyrKdRSS45EnDXOIIa0rGHk62W6q8TFdZXSb8xLV7UxiFz9Q8mhwbB7dY3UGytufQqzxtgWfbM2leaIhoHjXYVC4a5QKCroJK85FAqFIUahUJyMcXKyfamqZkgGN0O8geaiUCiEz/cVug8fu6bdOSbbBMwMYW3gvuRuBoCxnjbfst5nd9VuuXWZ/nFblU3+cPs49zWqwJ5Pv0OC24+fZVd2rCJOsSew5tS0QqHivbSDK9Om4QRBSPFkMHav9SjQbnY8wW6DwgDGfo+PHfTxXKuos1tz+/Dd2Y9n9mQuCmmNdeXh5nrKwZhOL4oxOBp4pBstw8fIjsEDjQm/bW5PbCw7Hw/7wS3wGbGKWBGPtw2YqVoFt7XBLaxyiDhXFWCD+/pgBNuEiFNUvbVaLY9XuJaqNidDRiM0hWSHiHf/DA1uV3Fx6VANB5cB89Qump+JuC+uOicgyGyEXw0ZONz9QVVr/YOrg2VVZVLZBjbj2dUanja4/muA897A14RsQuCGTsYgmjTtI7SDxRjiDCDkF4ZapKdrpvKB589fBhZ39dOpDFa6lR7ElYVMulVC71QOJgzEDwDrr6AjIaB32dCXF9NHyJNOk+RfSTfbpK3/Oo2DZdN8B5G1VWEmxZpr6ERHiEoezjuGs81sIPzpQD9OirVsYaEz64f5rC2KfJyVTv9YdixdSuJb71/Hlj2cQdMxvC+KAlPEKtT6WIVB4TxyjqvIY2THPPPEfsjOKDZmMi0+DVuhiNWcNyFWC/eqMzhw87YZQfg+0RZS8F++FwpU3/qiR7GvKF0oHc8Suc6X1EqJeCiJpBxR2WjOYi/P87V1oC/QIXyJIdJz1Byu86wJGnU3RseYFAd1N4VEYPSFD15iWmAmBH0MzDZzbNX5YzQqA3NQz2MzAVEf++6vwegPgTUUBFY9+tJ3aWY90YiUgcpAUIaUL0GFBGGHoBLWciVUtpdb4Uf49Hdip69T+T4obBpoUgUptNnN+pRVD2lSPssGSjJQk3m4HC8kh4clLwGXqq481EMV7CFWE0u/knSBdYG0kq1S4XLREKORrWdXwA/D2l4lDbMupuCG/GOseJvtAvuCLcCWB2truXnDJFTLavWkI9DvI99t9g4IuYqPYM/JHuh1zSUqL4uJrMtKYq6grz97LjsCf9XDLS/PVfYDLpKlMLSfdctN414Wo6zKxuuCc+3ZsewI3JhHQAjy/XHFop4yWXtBinNKQZOqrMcQ0J2amvflbOcYWfvyALA8XW92wP6VqVUZruoI8xyXjNYB9ga0gTHpjv4r/t/8O/NhRU+0Kc5gUmZWysTZksW6uA0JVXVcvof3InFMYaCMgxgRCRPHsN7wVigUHCtNlMJZwf7PqDByNkIU2wwg/0iHDhNRphZqPpI1HMwO7eyHRKPwcWcy0+GTb3g1K59HMfpajC/8LB6Mr4vkviWcgzgvDz+rHIFf334pewnevXzFHZnTVDeUL5XDuD3YRY7Pq7yXeWD3q+9efgfeu8Q3sjxZyMvbQ5M3vmgNyFrznVZEaHmjwyMve/f009H7eJ5cm+7yoMbjsgXR2QnxllckCqGCKLwlJjpRwguoONzc3CDxMSpCflmakCinaHIurSI0EknRPB1BkVZuGyfzUG4cxzcSSIGZpxYQKowHiOtjr6Y14Au5FzgiVdQKIm07LwFiS36+RRwkUuGcCKA1EUrAU8VTp5WDnBxZJlR8fl07skmcb/EMw6+NG/HNz18Qygmvkb5IN5+yAkdWEDduACj7c+eyhgBnrkyvGUzXz8cpW9eqUFNDgwlVdTffeHaqWnQo56tbyUq8PuzCwtvKhQMaPTdJ+eTUPLlvnOlOTCAs1k3kFUR+2PFh8YLXiSa0oQE1zfXcr4Ty1NTyoy4lpM5OUokELf6kswiVlKAdn5CKJKSSjs4SkrfgPp+IJhmNSUQVWBNz30il03Co55G3BZt2DafSudRnfgS9mOO8sHFT1rDH5vpGXzEfwTeUqbJT9qgCxKrtEZ90TjM8PtakW7Km8xsb2hcclYp/flX24+fTabe33wbuQ6IAKUxmwYV791aif/0VlCFOSPTMCIIQ/y9NyyRz5kiWOfHXwp5CeDXU0QyvAdjvInhufdlS5KlerFKJ9DTIbK1dCGEY2PtYOeJ302+Cixuf6OW+udvY4zjueF09nSk088vynItSmQcSp5hu9Rhz398RhRmNOOZt36sXDD6fHtDazMS8pHQfEAiK27mKyk+k0uBxhkTkMBy+7ZpKPieUI2M/7RQuYFC7iDzBHSe7apwzMTNi9slyJ8hmyk3uyNodMvIEZ4IMMvX0CNqO3rJowbJgLMN+y56BjVA5UBbonxsRn1lYGIvnaNTBSrUGwWk0wcafiovNrP85K9bRHN8Uv4/W7ljOLwO849nnX87Hk7ZD8wzFyYxizu6j0AbmY3fj8irHM/LgzFkGUc75qCz1uQ8vZo6zknyNFycAuRR7PrNKyWACjMGOf9p+OR9H2grNNRRKOJ65e+g/97770uXrHP+CSHBWUw9785rkG606352ZHuK5LVkZedCuMl7urDfy7XzXwiMtJXAe6Frhs1iavtpB3qRLsbvCeASG86gtkrH18juLeJL5u/RZ+Cy0fhUvg8/zbvV1NXXY8skFxCOmgBxJerI3T5cctwkGR40aMjO/ZHOeWMXQXNP0R6wNXnWTXc4rP7ZnHb4SnNviXqqtiISrenur4PXIoUO4DUhVT08VsgH3WkbI+oKFGdlZmQv/+1DPrf/xx0pe5bJcM/dvj8yshSCUZTGnUlm0PCtbqtnOxD5gcrv5EY1FNY19gfbITGVRP2DQ89nGZONSnjHSuCnWpMQYVBOViSlN7wve91XO4q2WTYVRsYJPQRuXpMdR1M+Z8wyrg5yvbJd8Pju6y9mQ7ETtoYJPza1Z/oFOq+dyInjB7I1K1jiTCZj1Du1tAUTs9MXpUbgMPYaYUQtKPvGEwqFvkR5TJkZxKBPHxDgzziccd8SBImWoGJvA2CBVb9RDGmA2wDo6ZUKBDdUWZCAkcfWN75B3mAlF2wkd7UB74XDaDbwGCjU205qMGj0MeY2I20Ezus+IZzD/FJz8m4MUqNX1rqfV4kGx6FCK+GrqFd3ePS579qbZm32nvul07TxLk27tuRpp66k/7UJGU3v4Tj1bnAudXcikX57V/pE+L93zapXAED3PZViYT8bIwvgf4IIOWHmuTl1kp/ziVCoaiZ7yQXMcaVxWaEEQmaAj4cwry4ornIpZOlZ7FF4SI/XHYjH86kjM3y9GHkGTekdhURIpTVF6OulV0uCEy1x3LV8rWSBYu/OKIULs4SGOCPWiB4kXqNzc1jt4x1IqP2PzTgEe8wHGdXPZY7QfpNDW69mDVsht/qN79DSM48LcunIlTTQuF+BT3fMyu04mNvqTLOnM4XLtTredQH51lXkODRo12ZnUOWY7i/q+xRXzOM3D3sRG1HEzjUl7T2M+S21/xJ9VhTpQfCDHiQxq/EFjnY/TqpBRNZ2cdYSxg4tJcDhCUyt7XtaqoK5ZWdsltVedeVlaJ+pXVDC8kKT3C3RaNY8dyQthg+Ci8g9/vaGa6ogdaHsHmAGLO+GUCOTEdlq7VZ3uxRDd9OhgNBH2GRF9yYM/ZNBCWgdV7XpWLRoQuR9K8rgy+8rBMA+rfbPvtMltoLeVlu7BK5E8Q/TBMwKU9PWBmGwe9+AWDt+B55NdfgWFf+jm68RXqlwXRc4XnHfLwzSv7mR3PovBc3FqRZ3yVHMpqA/pFA9dPZVmGyHKCwJbamgKYjHklzZxSzk6zr5ovLdicxxxTfhakCrk4VQ/STQW7e1HiwGTQ+f4ok2RvJJR4bszDP4FvuPeO2HpKFck5YOo3JPftkxdjGDLtwVOeVc3oPutqkJXUXS2g0YQtsA2+XfAG5YbLaDnsW5Qd7x68++hqKJylnrpqeTXyWqtd53b7oog5hL3/aLZ3CUCcZ1rS7g8iMAhrtpRrESvH8abivGHr6PotVM+yD+o7eBfcyab7S2THM6TFnvzk3UZG9XT5x8zyTvaloWvwLhqxJ1PJ0eVdrnJUzxspYkUgjyzS7x81UaFfdGK/QEHV64aFa7KdKVXrWZ4/VvQDfbu8bypHdGOe8I3xcVTYqGZQXlm1G7BRjGLnX7s376kEdKoZYndRh0cGDKzzZlmxl/szLD2TsHA945uYVuKK5uH6ELt8jV6eEJkKVhTxiorWreveRSAauj61lnl3hUpv+bNsaQ8g/KTVCuSn3mkL5tnZj5fnJ2b8RxamnlJ1xj+6ohOkev0cH76xFKTgAA8anRdcvIssryLDOmSsTJ/lm4WNV/XpRJYBSqOgZUsX3XEqrMSjjIYiCFA0sYBHZBc7qIxXZk02xAAxn1B9/33DDXj/b2/iCmWeqiNC3ib2YKHG14jU79fXHVx5e9TyG9vYoRAKPxTSKJAOEibUqYoAe0nyL9f2bRPzXA64RU8Hw3kP6wsS3NHu3oG386X8ZvdJXtVK8qbgfgb4opvCirQmc8/RD3L4FEOGL0YbVQ3SqCzNmCbm0s2nQ1EA7NyH1Fdexq7PjtsxaSgdvGKhhWLlzB5m8vZ17EzhWrijLZnUen2M87mUtedN2+GrYxi6ZOiDcmZEGXkTtdSs/MZbOKyNpyYkAhmXiy1hjzYcVrkTEhOSlOmtR2Cs+hMm+yBLVhTzymV3f/2EYOXPVBa49Eff7P2uT4wQMgLmCX8amhPEUysWBYeez/66KRXPmDDj6/2NfOeFfYMOi0S4wm3dQcpLytnLpG1AhjOwl8ulQo0Lj8JQl1Lf778lzooiF3DjkOvtzl+3Prq+5pXN3/8NfLTjNEg6bMfsllr10ELgju4MwX7xHpWofOWT6HlxhlnSxVuwqgRJw88WOouXPrgek/l+msMxXwvL0WaewI47WVVEk3WxelfUWbdx3yxDlK+8laaiCMl17ZSmGO15kSVrRWpIvI+ZdbteBjwQLLjC2Re2afJKz7dcMj7n56VX5tyv/3juOvZM+K5n3XMATWex3zUBJWPWYK3hhIeKx9jAMNblSrKTPC4TDZqQWFqWB2/Ps9U71IXnmpNgnJrbcYmLZSTAzRAm7NYA7nmi4EWaHJyakcXUpkCpn3hqF21o/uWXZOpt2iw6+SOVy5xv97TbLid437yRIRwlXCUSc0LRh7rEese4E0bHrtB6oA6rz3soM2vpnSfqMHX9A/0CrQd78KqX9B2j9odJY2Nor3Id98he7XueKxg27YCDAQPSzylnj6+3btd71ak+8/c3hWCO2y9bryID9lV7Fd8rBaMFcqkM64z6MwQSWZ1c9hEaLOX1KsZ+k/ULPoIXynySyByKl7AHeYirLxu++XZ+HoaXoBPEyAsCHyNPmS7xr70XxrLm3SDafH3z2AuRr/UzSA5eEH+DVgMIzIMgbk35tw93zl0d2OwrOz7Fhu0B5466dUW99m53wL9+/GjRxG2WsfnMS3KmmMJNvPdLYm55y3wGc73oXd+i5v36Y9N3tGVT2z1aD329QFvW+CRc4/mSvf8av+E1knB71FtiarZ0Df8SdWib0AkqzvxSfWTxAVJyfiuK6AaXOnCX1nPdIMuMDPNA9hFdbnVubU0yHIBLJCT7UJ3qlgAXXFnBwEQ6aCfP79NWhwHt9rtrUhwRxBudZnLlQlF/g+e1V+dg6v7+qq7Ee7tQ6oj1NurcD9w7or5JCqK+pH3kfrzlf/x/qMypaBmxjjqvzokED5OHYNlAfBRtv9RHgc7wB5xVB5KdUFPii5R/QDSfyv8QVlrEP9quKK8GXh88P8yXSLYnzyfIHgoS73YsjrenhwP33M8P7EenjjRDD98Zi48Rk40w9M4J+pEPfwfu5fbjjicLdOvZ/tNiLrydomZmbIFgUusCCBiFoV4pg0+Bmzl4W6UdMFTonmnEW1AZCX8GICZqbINESXhSXDmFQVkur1cRuJnPnRqcJuRFlLmKNtllBXBz/5nmjHYXqtwX0pXvEQpOGDUP/5KupHGJasBKIBVEcqA/19nQVxTBPMh9+wxUNLlnyGwYA11YNMACACQBMUCP0WBAQBkswKAGVSwwGR9Yq4wbyMK49qeBwMiEJ2HAArwAThWBvBsLCCwyeeRgRSkT5kC2KAaIADCkQAAfqBtcx4EnMDweTCggR8QwmOfIBzYlwz+aIgCCKzHeWSgx5zuLLKl6U/7FMEwlO6tJC+pyfZWKPaiVrEf/xPbzKB6/FfjX9SBeHm5q7ec0V8xocozGZ7bvVlTNiqx/JLyrCGzlL3KAb3VnVn/uNk0vHmovcRR4RCFgEFByXmzr0k8kTQlphCQe0IrTBVF+wm1MgZ6F/QucMBfWQ1nnnw+pZ3aVgx8lZKoZh7JwbPW/qSYRmmNr0RU+pJrGbE5QpR6froD5Jlal0DpPdoQvUZUqrPFscu/DvoYQx9KE2QgGFg4eIT/irAfChIUeRQQFMMJkqIZluMFUZIVVdMN07Id1/ODMIqTNMuLsqqbtuuHcTqOn8Yfxh/Hn8YLocl9HX8bre8wtaky6QtnJhkbO3fg/7UqOYXKC4se85tFCoHxemmPyVCPBO1Z76xwogG1AuY5KMJudhIOJ5ymTswkLhh8dOAz8jwDs/cEDZYk4TpIbruUbTf7/PBxsDOTqS5cdo5xFQhahbiTf7zPA1rml5Jj2l10ovSerBS4ehTXUiKqgd7xpC+lpTYrGEk6ptg9ovDVIxcxnGUmi4jaYhVgzsfimP5nrDqEcNyDbqlXfCZ8WSgE0F1xEQalkcVmPRl2y7sHM9RlHFQ8SdG3qhGNS8U8HiCKp10GB2l322SH6Xr2TEH8Ojfeuz6ccQut478bKlOSo3cfS0vGF7pdnA2Y/EUzgdarHm2/jdK5kxhzt7yQt6xt4m4276LK8y/bISdStGpy8rUtzt4OvGy7PmdRH/MdEvIp+3KTIIf7wQjE59FJjDzOa1/nMsGiMg027QmXQwfJd3nhCNKBlu/0liHd0EHuF3cE9d0UQhiNAA==') format('woff2'),\\r\\n url(\" + escape(__webpack_require__(/*! ./iconfont.woff?t=1604323972555 */ \"./css/dataReport/iconfont.woff?t=1604323972555\")) + \") format('woff'),\\r\\n url(\" + escape(__webpack_require__(/*! ./iconfont.ttf?t=1604323972555 */ \"./css/dataReport/iconfont.ttf?t=1604323972555\")) + \") format('truetype'),\\r\\n \\r\\n url(\" + escape(__webpack_require__(/*! ./iconfont.svg?t=1604323972555 */ \"./css/dataReport/iconfont.svg?t=1604323972555\")) + \"#report-icon) format('svg');\\r\\n /* iOS 4.1- */\\r\\n}\\r\\n\\r\\n.report-icon {\\r\\n font-family: \\\"report-icon\\\" !important;\\r\\n font-size: 24px;\\r\\n font-style: normal;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n.report-icon-align-top:before {\\r\\n content: \\\"\\\\E813\\\";\\r\\n}\\r\\n\\r\\n.report-icon-align-left:before {\\r\\n content: \\\"\\\\E814\\\";\\r\\n}\\r\\n\\r\\n.report-icon-background-color:before {\\r\\n content: \\\"\\\\E815\\\";\\r\\n}\\r\\n\\r\\n.report-icon-align-middle:before {\\r\\n content: \\\"\\\\E816\\\";\\r\\n}\\r\\n\\r\\n.report-icon-align-center:before {\\r\\n content: \\\"\\\\E817\\\";\\r\\n}\\r\\n\\r\\n.report-icon-align-right:before {\\r\\n content: \\\"\\\\E818\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-all:before {\\r\\n content: \\\"\\\\E819\\\";\\r\\n}\\r\\n\\r\\n.report-icon-area1:before {\\r\\n content: \\\"\\\\E81A\\\";\\r\\n}\\r\\n\\r\\n.report-icon-bold:before {\\r\\n content: \\\"\\\\E81B\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-bottom:before {\\r\\n content: \\\"\\\\E81C\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border:before {\\r\\n content: \\\"\\\\E81D\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-left:before {\\r\\n content: \\\"\\\\E81E\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-top:before {\\r\\n content: \\\"\\\\E81F\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-none:before {\\r\\n content: \\\"\\\\E820\\\";\\r\\n}\\r\\n\\r\\n.report-icon-doughnut1:before {\\r\\n content: \\\"\\\\E821\\\";\\r\\n}\\r\\n\\r\\n.report-icon-font:before {\\r\\n content: \\\"\\\\E822\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-right:before {\\r\\n content: \\\"\\\\E823\\\";\\r\\n}\\r\\n\\r\\n.report-icon-bubble:before {\\r\\n content: \\\"\\\\E824\\\";\\r\\n}\\r\\n\\r\\n.report-icon-diagram1:before {\\r\\n content: \\\"\\\\E825\\\";\\r\\n}\\r\\n\\r\\n.report-icon-border-custom:before {\\r\\n content: \\\"\\\\E826\\\";\\r\\n}\\r\\n\\r\\n.report-icon-column1:before {\\r\\n content: \\\"\\\\E827\\\";\\r\\n}\\r\\n\\r\\n.report-icon-horizontal-column:before {\\r\\n content: \\\"\\\\E828\\\";\\r\\n}\\r\\n\\r\\n.report-icon-font-size:before {\\r\\n content: \\\"\\\\E829\\\";\\r\\n}\\r\\n\\r\\n.report-icon-configuration:before {\\r\\n content: \\\"\\\\E82A\\\";\\r\\n}\\r\\n\\r\\n.report-icon-import-excel:before {\\r\\n content: \\\"\\\\E82B\\\";\\r\\n}\\r\\n\\r\\n.report-icon-font-color:before {\\r\\n content: \\\"\\\\E82C\\\";\\r\\n}\\r\\n\\r\\n.report-icon-merge-cell:before {\\r\\n content: \\\"\\\\E82D\\\";\\r\\n}\\r\\n\\r\\n.report-icon-oblique-head:before {\\r\\n content: \\\"\\\\E82E\\\";\\r\\n}\\r\\n\\r\\n.report-icon-page-preview:before {\\r\\n content: \\\"\\\\E82F\\\";\\r\\n}\\r\\n\\r\\n.report-icon-radar1:before {\\r\\n content: \\\"\\\\E830\\\";\\r\\n}\\r\\n\\r\\n.report-icon-polar-plot:before {\\r\\n content: \\\"\\\\E831\\\";\\r\\n}\\r\\n\\r\\n.report-icon-pie1:before {\\r\\n content: \\\"\\\\E832\\\";\\r\\n}\\r\\n\\r\\n.report-icon-scatter:before {\\r\\n content: \\\"\\\\E833\\\";\\r\\n}\\r\\n\\r\\n.report-icon-preview:before {\\r\\n content: \\\"\\\\E834\\\";\\r\\n}\\r\\n\\r\\n.report-icon-query-form:before {\\r\\n content: \\\"\\\\E835\\\";\\r\\n}\\r\\n\\r\\n.report-icon-restore:before {\\r\\n content: \\\"\\\\E836\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben4:before {\\r\\n content: \\\"\\\\E837\\\";\\r\\n}\\r\\n\\r\\n.report-icon-undo:before {\\r\\n content: \\\"\\\\E838\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben5:before {\\r\\n content: \\\"\\\\E839\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben9:before {\\r\\n content: \\\"\\\\E83A\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben16:before {\\r\\n content: \\\"\\\\E83B\\\";\\r\\n}\\r\\n\\r\\n.report-icon-underline:before {\\r\\n content: \\\"\\\\E83C\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben8:before {\\r\\n content: \\\"\\\\E83D\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben15:before {\\r\\n content: \\\"\\\\E83E\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben6:before {\\r\\n content: \\\"\\\\E83F\\\";\\r\\n}\\r\\n\\r\\n.report-icon-italic:before {\\r\\n content: \\\"\\\\E840\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben18:before {\\r\\n content: \\\"\\\\E841\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben19:before {\\r\\n content: \\\"\\\\E842\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben20:before {\\r\\n content: \\\"\\\\E843\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben17:before {\\r\\n content: \\\"\\\\E845\\\";\\r\\n}\\r\\n\\r\\n.report-icon-huaban16fuben7:before {\\r\\n content: \\\"\\\\E846\\\";\\r\\n}\\r\\n\\r\\n.report-icon-picture:before {\\r\\n content: \\\"\\\\E847\\\";\\r\\n}\\r\\n\\r\\n.report-icon-doughnut:before {\\r\\n content: \\\"\\\\E844\\\";\\r\\n}\\r\\n\\r\\n.report-icon-column:before {\\r\\n content: \\\"\\\\E84A\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-function:before {\\r\\n content: \\\"\\\\E84B\\\";\\r\\n}\\r\\n\\r\\n.report-icon-area:before {\\r\\n content: \\\"\\\\E84C\\\";\\r\\n}\\r\\n\\r\\n.report-icon-diagram:before {\\r\\n content: \\\"\\\\E84D\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-Panel:before {\\r\\n content: \\\"\\\\E84E\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-todo:before {\\r\\n content: \\\"\\\\E84F\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-email:before {\\r\\n content: \\\"\\\\E850\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-notice:before {\\r\\n content: \\\"\\\\E851\\\";\\r\\n}\\r\\n\\r\\n.report-icon-radar:before {\\r\\n content: \\\"\\\\E852\\\";\\r\\n}\\r\\n\\r\\n.report-icon-generator-todolist:before {\\r\\n content: \\\"\\\\E853\\\";\\r\\n}\\r\\n\\r\\n.report-icon-pie:before {\\r\\n content: \\\"\\\\E854\\\";\\r\\n}\\r\\n\\r\\n.report-icon-shanchu:before {\\r\\n content: \\\"\\\\E6CD\\\";\\r\\n}\\r\\n\\r\\n.report-icon-bianji:before {\\r\\n content: \\\"\\\\E621\\\";\\r\\n}\\r\\n\\r\\n.report-icon-ziyuan5:before {\\r\\n content: \\\"\\\\E805\\\";\\r\\n}\\r\\n\\r\\n.report-icon-ziyuan8:before {\\r\\n content: \\\"\\\\E808\\\";\\r\\n}\\r\\n\\r\\n.report-icon-search:before {\\r\\n content: \\\"\\\\E60E\\\";\\r\\n}\\r\\n\\r\\n.report-icon-add:before {\\r\\n content: \\\"\\\\E613\\\";\\r\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/dataReport/iconfont.css?./node_modules/css-loader"); +eval("var escape = __webpack_require__(/*! ../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"@font-face {\\n font-family: \\\"report-icon\\\";\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot?t=1604323972555 */ \"./css/dataReport/iconfont.eot?t=1604323972555\")) + \");\\n /* IE9 */\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot?t=1604323972555 */ \"./css/dataReport/iconfont.eot?t=1604323972555\")) + \"#iefix) format('embedded-opentype'),\\n \\n url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACRMAAsAAAAAS9wAACP9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCKbgr5GOFAATYCJAOCHAuBEAAEIAWFEQeHPxurPkUk57NII6pGJdn/lwNuDA0dVO8LSGdnFEa8UOmgqKPwvLy7AcI0jEB88mUEadqbNkhi4cIUhcu/8v0T8ayMPuNDKQneX/t3LuwHQltgTYTG1BFYh0bg5iT1tW9hbkM83cxJmUYzCR1/6bt7ftIIwdb66rJ6lDOdkezCjGSFzhdCeJUXDpLWPge54I/0lb67K0OAbId+xR/jwcQ6H0oCRt8JocYtAn7U2Su1LLX8JNnO/xw43oo8YpISkL3aq8CODwo2f4RAgbdjKNgZaQhhqYSa4P1/Rds2PO+23v+f8YHPWAqiiKiY4gTdqChDzYZholIWhqBtHKtS0XK2tK3e0Ia7Ne2Kxs3s8mwsNb01aewrF53ZlUrSh4lhgStJ3/J9/L7LtgDdyxYv5DQo4FA5gInwA0AG5XJZuAbOzm0FLHl1LEyRClRD7vzrNFf9+FQAmBhX4GXHYdSXIfqSvykoh1CH+nbIOXIUll0CmNhfjq9WciAdAU0Fmm8Yuyxd+7p27Lj0xkItk2XJ8PYAmthaR+uDXNb3BdXerNrUkBKkpMbdcu/+f+8moc8S32z/wePn9aiM1xLS8yeP7uhhFqq6LfS0ujjf1pw+avTkV/mHD/T30z/bkidrCuNHpx8euG93OxTnS9yJXS+pF/J2gwYFG4BKnuIu0oiFs9xgoe90YekPwBjyt7kdasfb1fZHNNETh+J8p4O/NB5HHzKeJmPmv8T74YCD9tpjn/2SrKgaXbr16NWn34BBQ4aNQKAwOAKJQmOwODyBSCJTqDQ6g8lic7g8vkAoEksUUplcqVJrtDq9wWhyJHXB8QEol5XVQVrSCgdouRpPB1174R9hD4GGfQQR9hNcSAQfMiGEQoihElJoCDl0EUroJtTQQ2ihl9BDH2GEfsIMA4QVBgk7DBFOGCbcMALCC6Mg/DAGIgjjIMIwASIKkyDiMAUiCdMg0jADIguzIPIwB6II8yDKsACiQtmsAdgAsAVgB8AegAMADgE4AuAYgBMATgE4A+AcgAsALgG4AuAagBsAbgG4A+AeyLcHoJweAXgC4BlhF4gLyuYVgDcA3gH4AOATgC8AvgH4AeAXdVjgkP3Fe/IWMP6F6Z+MUd7hfkhVFdJoaG/ewRpwXLa67RXr2zKDamAe2d9t1VYfud7oU/XK4+hLjQHFhL1Bf9XqTVrbxW7NIOsS6TWCzmxm/qoyAzkyepUsOjWtSjD3Z8yjWK9+QWgXlMdIFJabSPbHXwBAXi9GEcqIAEYwA8X97J40wnCxUCha0CabaGBNkF/1W4XnZdIm1JhGUMEovnCdldGlq/rI559SxaqsS0Zf8Fhm14RnTWAOw1EU4UxOQwfV4gI6aT6ZoSYoY0KkkBA5dGYfhJtRTpFRrhN1SKTfdqQDplxMDAVhlBqXcB2u6fq7gOmgRlVbUSKHQmGNui+QOYA0rUDUaomdvs6AqpUFUcPmao2KsZaM6VR1Nk0VZ7wvcWOSVtPSGFRjSTr/YboKqoI99vlrFIQQAE1147RLwojJrllqu+q00I188KKWUglj3R0Fk0bbGY6XvqYJCWhQMDCmACQWylXrJYy8AEMAYOPDoBAVLzKQhwwhIatNqg8/23BtDG/8YivyK18bEPqDgZ9oXyIvViwyxtNvQByxGZY9o9ldL47vvrerNdP9P5wu9LjTyXNR2WPR3nJxFe+26VnsdfrzSB3jfAX7yTJPBtwN2xnHKzsnW7Zkdgk9uN3IBBZ3Utbx/f5oCd2dMwU83VBXPmQgIGDk5jTwb0692/EISxeSeVA/hATujWXVh6W0KJ9StqK8zmWz6k1CRiWZQeXR4MZL9eCboQ9Oj4Z0RIPXZNCSTsXGirmpfrfLBS7qQ6JqyRNBDb2vD0oQncwOqh61L7pIX5NR1t25Rsgi0UDWcZXRxSTJnsiqy3x6bSJ63GoUMSZ5h14Iju+vfs6iR1vaH5j/cHMuz57QsaVp21FPaM6guVMqImaf7eCj41cdHt3C8OGjPalS8WnkQwLVnagokuypZp9crcDFWlwG9aDKCls7UdwUqGo1wSejaAz9sTcJRjv14iaTPXiV77QvwVNdM/Mr2eFGwjWVBpoHz3Kv9pLGWDETROVYTugMIp/yyZnFcrb6dJfb/IGcaueH4kLbvmMghOAMu2qA9V494yQs37Mq1x9QqjEmMeVMIVBgCKUD7Gv5nkVc6MTySnKaozGxdXslrHuH0uzIpKVu0mOdaMnAyC65KCcpeCIQZUPt1IpHO+SVJASoJwbaJEE6lKQIqqMF3N4RIDw2cY7jpqyRz82SclZjRlaBiaBVhFpVm5ICUWtJ3hFKNnyegVAY6SoWZiRwUOpxhbgOeYybftt2FU+1yAf8+Y2OPAHjc9dO4bMpEzIriSngzk5bskyBidizG6zIRB4wm4ovZ/OYO0PzWrSXbzcJNOynTZf5CXRn2o7LeKvRa4TbetGxaZCLznTDtilrWsofupPPH5837jrtmUC5Em7MvUGA316h360WK/KY1MeEPOoWNooHdZWRgX3Hy6NyX83MO9aMxUZgv93YxIZtaNoWDu9gg3HruBWl0IFJA8NHN0Oog1Zvyxl/OgUfBqM3E4JGq2cDDEHfEB3AQO905q4N5p5e7XTdg6cHiU8N49LgeSXdkNYI9AzN/vOIIU7Fi93jJsdRaxBSckVSiaCBazC67k850TxIBWBfghiD4GLOHrKKQfyJ+JSYSTKjKhIYSZ5YA243BLH64JMBYvh0pphUClGqsTwseBC4l77ba+MTk/Gu021Dp7R5uf9t5apfttBp5XkZvWjg7qYGu5XzJm3XHfyT2bZLY5I47oXdfbkRj7eTsJGUaqNowjCMBpIpOBHN0Qh4vIuIhuHMxm6nTozQJmeqqgYRlIocvMVGMK2SuRWnMaqyi4V+mLRWUsjhpCqhR1iJD8mr9WfWOEiYbepCEHsv/wRaIB+mHZoZDPWBz7YmmscM4YVXupVXByVqFP3UYexhT5S6RU89Oypedr5ecG60r0se4+lTXT/MNJsh2e+2sn7ywpJH/agFDzb0HUOZaflD9Hby3fVGobvrOm0v8VUJPzHhNIU89lvjdpAMB4BJj1ohDlKNL5VVvXs+UzRfzkqVKK/fnQVa/zRs1rv40wxI/kdQ1k+fkSpncHLlOEMyZKdeNVErE2des7QXvyDx56mQnzrtfIdR1BWVqWvCKBV6A0qOXAIvq0aKtIJNzK/T2CT7+Ik8riARkhGKTfOYC5qMI5TLkpBJNIz94rLmvgWePCbxgjGjVq0PZmi4EypM776cWReE9LnSnkmZ/IYwr0gXFmGQGg6mFPxRR4RZjZFvVFe9HEJwLvBDSR63WBVGULFtcl5CDKa9kgORG16mHnJmpz8Zk3CFOItxmzuQ3W8GgWGIOUMYE0oxJu9QqrEb+odyJSEjkfdwlfJz0O9tLn6ehWkGQh5DlAQCPZuXGKyX99KdS8snkgGvLMwGXSK/ODVI2w0uurtKCYu0Al0JpFnfG3f0WWrra74uEi/yLwIh96Zt5IbwtL2Tlcg97ki+Kb2zdhNBeOAM0b+jM3EwdlpNSXTp9DgKv+zEkhNnhZH2cYBz3GfAF/YxEjqBUTv6V0xTiFEyXuZAm2WX9fZKBCU9/k6HPEBrV9N9B3nFKu6xgQbph+1x0nhBM9ZBk2s7EyLDbGDClp8hT9rPG4nIc9pjzywgy6zoz+9kzZ0vnwDCOmFS8aBRzyBTIMS3PqJlb5I4kpvA0chwCicajjfIU2Zdq0FuRGCDQJUpA8R4x/sVFgICGjgxXg1rLyUnxfa8o8rQTx9KRu7Uzler4azVwfDIajSf6OGs8UK7Fc9RG8PMIeLFk1qAeoEhhSdoIGb2BqBeKvMxnFQE6wEKiWGdCzQUQAha1RXc0Qc+fCPk773kzrdxPhXfXWKaPrRnaCronjOz7EKYPl8PGnln2ZK1BxcGpml83uWt2cYaJpg7ajgB82HIzKIuBUs2CEAfKqPhDghhB0NY87w/TNM9PEAef/SeWVhHoDvDvilW4TPjVa8F3bHjx5NOmI5sLxy+/eswP5Lzw8N0k5Npxlc6H3abRHtiX54HKVthgwmNQrNpqUKZcRXFiBBEI+UiRU9E7h9HjEqORe/5B/3mhNW+sVOj1+Qw6Q6f9ti/5ocXNxyheFKELQoFIp4vcPFcaXoK0UgfcXXKR/QSOUbUTMCqKsrt/IZQkW971Zo/4im3XDP5RF4ugqCYIXAJDoMl35SKU6RUkPCp3tfyjFfyx6Z6EAvdG86ZT4STfWGuzO+hYQcCnk90FuumPglX1iM4iLk6tj3/79n+1HohI8qfr7pdvBqTjJN/7tByY8lSfXjrXsqdNTJaHBFF+nWINhkm3fNnRqpjGKdbFGkkxEemKkW/3pWaiTFOoKDE/4GFybWr0lu7h7zDHW3SMmyG9i6zNOrUjdbsc1icB9ODqRInPiePb1jmUdpWJB1jTCaUdX76ZNnN4qJpXgeWRaFXnJBZFbh+9azrLtetXy3FlCP3Jo1MYRWFc/brGmBpq80HQfecMzRY6dTyoFVNl6yB8MzzlcFwuOKzV5txdWb4qeVDL8+qWqKvZZlIrVWN0jVh0VunRNUgwXjI/xGFumAV5eq4mIlWY2MwytCUCnMhBq1/vAiV3CXnhii3l/jaFMt/lzRSRWHSdxXG1qwFt7jyU6xaMApIYDLyyCjDgc8ecYQ/7hX/frDTC0/06fyceoPw8fh++mlVoM/cG6LT3vv38hv4dLpj5IaV5RSJXlQ3hSfNLtfYHX41Ka3wq0ndCdXkahwYeEWxyZnBQ7lZ6RBNMM3rfrdBH3pTuXBTfqMSTRKefciCJEfwy4u8sRfBZqsXl8Zf912enbtMP+QhviEsAS2aZsCjXuSz/2hrTQSlcyU/klz4iR5HJ2eoMuHwa+WJgvrQN+rrbWi9Mibbjpe/v+jPD8rv3Vv/Z2LuFZ0E//ImISs787GjhmSDv2/TfnNqcqoZjPV7leJD2kNL6frKO5R8CHyxdYPLppDjnvVLtH3/fJb+x59H/uQc6ft3OkVs1x344+eBXQOxG+KqP8eB5rh1dGQHGBtKjZLb1G3WJmvNTQFST05KToqcXdSj7Zm9xIkx9ST3ANnYMl1BDiUd+oeKL7KqdBtKNeg4t5jbmG6JY56DCPiw5+vgwr8melWP4tb+7uK9qDr+7EqnPe/OU8Y545Qxykgru3WcOwmObD7DIPvnRum3hmrNsnSI2DWpCppunc9CxG27T4h1nedeLPoWKC8t5e5zK1v5RRLJ6vyrKdRSS45EnDXOIIa0rGHk62W6q8TFdZXSb8xLV7UxiFz9Q8mhwbB7dY3UGytufQqzxtgWfbM2leaIhoHjXYVC4a5QKCroJK85FAqFIUahUJyMcXKyfamqZkgGN0O8geaiUCiEz/cVug8fu6bdOSbbBMwMYW3gvuRuBoCxnjbfst5nd9VuuXWZ/nFblU3+cPs49zWqwJ5Pv0OC24+fZVd2rCJOsSew5tS0QqHivbSDK9Om4QRBSPFkMHav9SjQbnY8wW6DwgDGfo+PHfTxXKuos1tz+/Dd2Y9n9mQuCmmNdeXh5nrKwZhOL4oxOBp4pBstw8fIjsEDjQm/bW5PbCw7Hw/7wS3wGbGKWBGPtw2YqVoFt7XBLaxyiDhXFWCD+/pgBNuEiFNUvbVaLY9XuJaqNidDRiM0hWSHiHf/DA1uV3Fx6VANB5cB89Qump+JuC+uOicgyGyEXw0ZONz9QVVr/YOrg2VVZVLZBjbj2dUanja4/muA897A14RsQuCGTsYgmjTtI7SDxRjiDCDkF4ZapKdrpvKB589fBhZ39dOpDFa6lR7ElYVMulVC71QOJgzEDwDrr6AjIaB32dCXF9NHyJNOk+RfSTfbpK3/Oo2DZdN8B5G1VWEmxZpr6ERHiEoezjuGs81sIPzpQD9OirVsYaEz64f5rC2KfJyVTv9YdixdSuJb71/Hlj2cQdMxvC+KAlPEKtT6WIVB4TxyjqvIY2THPPPEfsjOKDZmMi0+DVuhiNWcNyFWC/eqMzhw87YZQfg+0RZS8F++FwpU3/qiR7GvKF0oHc8Suc6X1EqJeCiJpBxR2WjOYi/P87V1oC/QIXyJIdJz1Byu86wJGnU3RseYFAd1N4VEYPSFD15iWmAmBH0MzDZzbNX5YzQqA3NQz2MzAVEf++6vwegPgTUUBFY9+tJ3aWY90YiUgcpAUIaUL0GFBGGHoBLWciVUtpdb4Uf49Hdip69T+T4obBpoUgUptNnN+pRVD2lSPssGSjJQk3m4HC8kh4clLwGXqq481EMV7CFWE0u/knSBdYG0kq1S4XLREKORrWdXwA/D2l4lDbMupuCG/GOseJvtAvuCLcCWB2truXnDJFTLavWkI9DvI99t9g4IuYqPYM/JHuh1zSUqL4uJrMtKYq6grz97LjsCf9XDLS/PVfYDLpKlMLSfdctN414Wo6zKxuuCc+3ZsewI3JhHQAjy/XHFop4yWXtBinNKQZOqrMcQ0J2amvflbOcYWfvyALA8XW92wP6VqVUZruoI8xyXjNYB9ga0gTHpjv4r/t/8O/NhRU+0Kc5gUmZWysTZksW6uA0JVXVcvof3InFMYaCMgxgRCRPHsN7wVigUHCtNlMJZwf7PqDByNkIU2wwg/0iHDhNRphZqPpI1HMwO7eyHRKPwcWcy0+GTb3g1K59HMfpajC/8LB6Mr4vkviWcgzgvDz+rHIFf334pewnevXzFHZnTVDeUL5XDuD3YRY7Pq7yXeWD3q+9efgfeu8Q3sjxZyMvbQ5M3vmgNyFrznVZEaHmjwyMve/f009H7eJ5cm+7yoMbjsgXR2QnxllckCqGCKLwlJjpRwguoONzc3CDxMSpCflmakCinaHIurSI0EknRPB1BkVZuGyfzUG4cxzcSSIGZpxYQKowHiOtjr6Y14Au5FzgiVdQKIm07LwFiS36+RRwkUuGcCKA1EUrAU8VTp5WDnBxZJlR8fl07skmcb/EMw6+NG/HNz18Qygmvkb5IN5+yAkdWEDduACj7c+eyhgBnrkyvGUzXz8cpW9eqUFNDgwlVdTffeHaqWnQo56tbyUq8PuzCwtvKhQMaPTdJ+eTUPLlvnOlOTCAs1k3kFUR+2PFh8YLXiSa0oQE1zfXcr4Ty1NTyoy4lpM5OUokELf6kswiVlKAdn5CKJKSSjs4SkrfgPp+IJhmNSUQVWBNz30il03Co55G3BZt2DafSudRnfgS9mOO8sHFT1rDH5vpGXzEfwTeUqbJT9qgCxKrtEZ90TjM8PtakW7Km8xsb2hcclYp/flX24+fTabe33wbuQ6IAKUxmwYV791aif/0VlCFOSPTMCIIQ/y9NyyRz5kiWOfHXwp5CeDXU0QyvAdjvInhufdlS5KlerFKJ9DTIbK1dCGEY2PtYOeJ302+Cixuf6OW+udvY4zjueF09nSk088vynItSmQcSp5hu9Rhz398RhRmNOOZt36sXDD6fHtDazMS8pHQfEAiK27mKyk+k0uBxhkTkMBy+7ZpKPieUI2M/7RQuYFC7iDzBHSe7apwzMTNi9slyJ8hmyk3uyNodMvIEZ4IMMvX0CNqO3rJowbJgLMN+y56BjVA5UBbonxsRn1lYGIvnaNTBSrUGwWk0wcafiovNrP85K9bRHN8Uv4/W7ljOLwO849nnX87Hk7ZD8wzFyYxizu6j0AbmY3fj8irHM/LgzFkGUc75qCz1uQ8vZo6zknyNFycAuRR7PrNKyWACjMGOf9p+OR9H2grNNRRKOJ65e+g/97770uXrHP+CSHBWUw9785rkG606352ZHuK5LVkZedCuMl7urDfy7XzXwiMtJXAe6Frhs1iavtpB3qRLsbvCeASG86gtkrH18juLeJL5u/RZ+Cy0fhUvg8/zbvV1NXXY8skFxCOmgBxJerI3T5cctwkGR40aMjO/ZHOeWMXQXNP0R6wNXnWTXc4rP7ZnHb4SnNviXqqtiISrenur4PXIoUO4DUhVT08VsgH3WkbI+oKFGdlZmQv/+1DPrf/xx0pe5bJcM/dvj8yshSCUZTGnUlm0PCtbqtnOxD5gcrv5EY1FNY19gfbITGVRP2DQ89nGZONSnjHSuCnWpMQYVBOViSlN7wve91XO4q2WTYVRsYJPQRuXpMdR1M+Z8wyrg5yvbJd8Pju6y9mQ7ETtoYJPza1Z/oFOq+dyInjB7I1K1jiTCZj1Du1tAUTs9MXpUbgMPYaYUQtKPvGEwqFvkR5TJkZxKBPHxDgzziccd8SBImWoGJvA2CBVb9RDGmA2wDo6ZUKBDdUWZCAkcfWN75B3mAlF2wkd7UB74XDaDbwGCjU205qMGj0MeY2I20Ezus+IZzD/FJz8m4MUqNX1rqfV4kGx6FCK+GrqFd3ePS579qbZm32nvul07TxLk27tuRpp66k/7UJGU3v4Tj1bnAudXcikX57V/pE+L93zapXAED3PZViYT8bIwvgf4IIOWHmuTl1kp/ziVCoaiZ7yQXMcaVxWaEEQmaAj4cwry4ornIpZOlZ7FF4SI/XHYjH86kjM3y9GHkGTekdhURIpTVF6OulV0uCEy1x3LV8rWSBYu/OKIULs4SGOCPWiB4kXqNzc1jt4x1IqP2PzTgEe8wHGdXPZY7QfpNDW69mDVsht/qN79DSM48LcunIlTTQuF+BT3fMyu04mNvqTLOnM4XLtTredQH51lXkODRo12ZnUOWY7i/q+xRXzOM3D3sRG1HEzjUl7T2M+S21/xJ9VhTpQfCDHiQxq/EFjnY/TqpBRNZ2cdYSxg4tJcDhCUyt7XtaqoK5ZWdsltVedeVlaJ+pXVDC8kKT3C3RaNY8dyQthg+Ci8g9/vaGa6ogdaHsHmAGLO+GUCOTEdlq7VZ3uxRDd9OhgNBH2GRF9yYM/ZNBCWgdV7XpWLRoQuR9K8rgy+8rBMA+rfbPvtMltoLeVlu7BK5E8Q/TBMwKU9PWBmGwe9+AWDt+B55NdfgWFf+jm68RXqlwXRc4XnHfLwzSv7mR3PovBc3FqRZ3yVHMpqA/pFA9dPZVmGyHKCwJbamgKYjHklzZxSzk6zr5ovLdicxxxTfhakCrk4VQ/STQW7e1HiwGTQ+f4ok2RvJJR4bszDP4FvuPeO2HpKFck5YOo3JPftkxdjGDLtwVOeVc3oPutqkJXUXS2g0YQtsA2+XfAG5YbLaDnsW5Qd7x68++hqKJylnrpqeTXyWqtd53b7oog5hL3/aLZ3CUCcZ1rS7g8iMAhrtpRrESvH8abivGHr6PotVM+yD+o7eBfcyab7S2THM6TFnvzk3UZG9XT5x8zyTvaloWvwLhqxJ1PJ0eVdrnJUzxspYkUgjyzS7x81UaFfdGK/QEHV64aFa7KdKVXrWZ4/VvQDfbu8bypHdGOe8I3xcVTYqGZQXlm1G7BRjGLnX7s376kEdKoZYndRh0cGDKzzZlmxl/szLD2TsHA945uYVuKK5uH6ELt8jV6eEJkKVhTxiorWreveRSAauj61lnl3hUpv+bNsaQ8g/KTVCuSn3mkL5tnZj5fnJ2b8RxamnlJ1xj+6ohOkev0cH76xFKTgAA8anRdcvIssryLDOmSsTJ/lm4WNV/XpRJYBSqOgZUsX3XEqrMSjjIYiCFA0sYBHZBc7qIxXZk02xAAxn1B9/33DDXj/b2/iCmWeqiNC3ib2YKHG14jU79fXHVx5e9TyG9vYoRAKPxTSKJAOEibUqYoAe0nyL9f2bRPzXA64RU8Hw3kP6wsS3NHu3oG386X8ZvdJXtVK8qbgfgb4opvCirQmc8/RD3L4FEOGL0YbVQ3SqCzNmCbm0s2nQ1EA7NyH1Fdexq7PjtsxaSgdvGKhhWLlzB5m8vZ17EzhWrijLZnUen2M87mUtedN2+GrYxi6ZOiDcmZEGXkTtdSs/MZbOKyNpyYkAhmXiy1hjzYcVrkTEhOSlOmtR2Cs+hMm+yBLVhTzymV3f/2EYOXPVBa49Eff7P2uT4wQMgLmCX8amhPEUysWBYeez/66KRXPmDDj6/2NfOeFfYMOi0S4wm3dQcpLytnLpG1AhjOwl8ulQo0Lj8JQl1Lf778lzooiF3DjkOvtzl+3Prq+5pXN3/8NfLTjNEg6bMfsllr10ELgju4MwX7xHpWofOWT6HlxhlnSxVuwqgRJw88WOouXPrgek/l+msMxXwvL0WaewI47WVVEk3WxelfUWbdx3yxDlK+8laaiCMl17ZSmGO15kSVrRWpIvI+ZdbteBjwQLLjC2Re2afJKz7dcMj7n56VX5tyv/3juOvZM+K5n3XMATWex3zUBJWPWYK3hhIeKx9jAMNblSrKTPC4TDZqQWFqWB2/Ps9U71IXnmpNgnJrbcYmLZSTAzRAm7NYA7nmi4EWaHJyakcXUpkCpn3hqF21o/uWXZOpt2iw6+SOVy5xv97TbLid437yRIRwlXCUSc0LRh7rEese4E0bHrtB6oA6rz3soM2vpnSfqMHX9A/0CrQd78KqX9B2j9odJY2Nor3Id98he7XueKxg27YCDAQPSzylnj6+3btd71ak+8/c3hWCO2y9bryID9lV7Fd8rBaMFcqkM64z6MwQSWZ1c9hEaLOX1KsZ+k/ULPoIXynySyByKl7AHeYirLxu++XZ+HoaXoBPEyAsCHyNPmS7xr70XxrLm3SDafH3z2AuRr/UzSA5eEH+DVgMIzIMgbk35tw93zl0d2OwrOz7Fhu0B5466dUW99m53wL9+/GjRxG2WsfnMS3KmmMJNvPdLYm55y3wGc73oXd+i5v36Y9N3tGVT2z1aD329QFvW+CRc4/mSvf8av+E1knB71FtiarZ0Df8SdWib0AkqzvxSfWTxAVJyfiuK6AaXOnCX1nPdIMuMDPNA9hFdbnVubU0yHIBLJCT7UJ3qlgAXXFnBwEQ6aCfP79NWhwHt9rtrUhwRxBudZnLlQlF/g+e1V+dg6v7+qq7Ee7tQ6oj1NurcD9w7or5JCqK+pH3kfrzlf/x/qMypaBmxjjqvzokED5OHYNlAfBRtv9RHgc7wB5xVB5KdUFPii5R/QDSfyv8QVlrEP9quKK8GXh88P8yXSLYnzyfIHgoS73YsjrenhwP33M8P7EenjjRDD98Zi48Rk40w9M4J+pEPfwfu5fbjjicLdOvZ/tNiLrydomZmbIFgUusCCBiFoV4pg0+Bmzl4W6UdMFTonmnEW1AZCX8GICZqbINESXhSXDmFQVkur1cRuJnPnRqcJuRFlLmKNtllBXBz/5nmjHYXqtwX0pXvEQpOGDUP/5KupHGJasBKIBVEcqA/19nQVxTBPMh9+wxUNLlnyGwYA11YNMACACQBMUCP0WBAQBkswKAGVSwwGR9Yq4wbyMK49qeBwMiEJ2HAArwAThWBvBsLCCwyeeRgRSkT5kC2KAaIADCkQAAfqBtcx4EnMDweTCggR8QwmOfIBzYlwz+aIgCCKzHeWSgx5zuLLKl6U/7FMEwlO6tJC+pyfZWKPaiVrEf/xPbzKB6/FfjX9SBeHm5q7ec0V8xocozGZ7bvVlTNiqx/JLyrCGzlL3KAb3VnVn/uNk0vHmovcRR4RCFgEFByXmzr0k8kTQlphCQe0IrTBVF+wm1MgZ6F/QucMBfWQ1nnnw+pZ3aVgx8lZKoZh7JwbPW/qSYRmmNr0RU+pJrGbE5QpR6froD5Jlal0DpPdoQvUZUqrPFscu/DvoYQx9KE2QgGFg4eIT/irAfChIUeRQQFMMJkqIZluMFUZIVVdMN07Id1/ODMIqTNMuLsqqbtuuHcTqOn8Yfxh/Hn8YLocl9HX8bre8wtaky6QtnJhkbO3fg/7UqOYXKC4se85tFCoHxemmPyVCPBO1Z76xwogG1AuY5KMJudhIOJ5ymTswkLhh8dOAz8jwDs/cEDZYk4TpIbruUbTf7/PBxsDOTqS5cdo5xFQhahbiTf7zPA1rml5Jj2l10ovSerBS4ehTXUiKqgd7xpC+lpTYrGEk6ptg9ovDVIxcxnGUmi4jaYhVgzsfimP5nrDqEcNyDbqlXfCZ8WSgE0F1xEQalkcVmPRl2y7sHM9RlHFQ8SdG3qhGNS8U8HiCKp10GB2l322SH6Xr2TEH8Ojfeuz6ccQut478bKlOSo3cfS0vGF7pdnA2Y/EUzgdarHm2/jdK5kxhzt7yQt6xt4m4276LK8y/bISdStGpy8rUtzt4OvGy7PmdRH/MdEvIp+3KTIIf7wQjE59FJjDzOa1/nMsGiMg027QmXQwfJd3nhCNKBlu/0liHd0EHuF3cE9d0UQhiNAA==') format('woff2'),\\n url(\" + escape(__webpack_require__(/*! ./iconfont.woff?t=1604323972555 */ \"./css/dataReport/iconfont.woff?t=1604323972555\")) + \") format('woff'),\\n url(\" + escape(__webpack_require__(/*! ./iconfont.ttf?t=1604323972555 */ \"./css/dataReport/iconfont.ttf?t=1604323972555\")) + \") format('truetype'),\\n \\n url(\" + escape(__webpack_require__(/*! ./iconfont.svg?t=1604323972555 */ \"./css/dataReport/iconfont.svg?t=1604323972555\")) + \"#report-icon) format('svg');\\n /* iOS 4.1- */\\n}\\n\\n.report-icon {\\n font-family: \\\"report-icon\\\" !important;\\n font-size: 24px;\\n font-style: normal;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.report-icon-align-top:before {\\n content: \\\"\\\\E813\\\";\\n}\\n\\n.report-icon-align-left:before {\\n content: \\\"\\\\E814\\\";\\n}\\n\\n.report-icon-background-color:before {\\n content: \\\"\\\\E815\\\";\\n}\\n\\n.report-icon-align-middle:before {\\n content: \\\"\\\\E816\\\";\\n}\\n\\n.report-icon-align-center:before {\\n content: \\\"\\\\E817\\\";\\n}\\n\\n.report-icon-align-right:before {\\n content: \\\"\\\\E818\\\";\\n}\\n\\n.report-icon-border-all:before {\\n content: \\\"\\\\E819\\\";\\n}\\n\\n.report-icon-area1:before {\\n content: \\\"\\\\E81A\\\";\\n}\\n\\n.report-icon-bold:before {\\n content: \\\"\\\\E81B\\\";\\n}\\n\\n.report-icon-border-bottom:before {\\n content: \\\"\\\\E81C\\\";\\n}\\n\\n.report-icon-border:before {\\n content: \\\"\\\\E81D\\\";\\n}\\n\\n.report-icon-border-left:before {\\n content: \\\"\\\\E81E\\\";\\n}\\n\\n.report-icon-border-top:before {\\n content: \\\"\\\\E81F\\\";\\n}\\n\\n.report-icon-border-none:before {\\n content: \\\"\\\\E820\\\";\\n}\\n\\n.report-icon-doughnut1:before {\\n content: \\\"\\\\E821\\\";\\n}\\n\\n.report-icon-font:before {\\n content: \\\"\\\\E822\\\";\\n}\\n\\n.report-icon-border-right:before {\\n content: \\\"\\\\E823\\\";\\n}\\n\\n.report-icon-bubble:before {\\n content: \\\"\\\\E824\\\";\\n}\\n\\n.report-icon-diagram1:before {\\n content: \\\"\\\\E825\\\";\\n}\\n\\n.report-icon-border-custom:before {\\n content: \\\"\\\\E826\\\";\\n}\\n\\n.report-icon-column1:before {\\n content: \\\"\\\\E827\\\";\\n}\\n\\n.report-icon-horizontal-column:before {\\n content: \\\"\\\\E828\\\";\\n}\\n\\n.report-icon-font-size:before {\\n content: \\\"\\\\E829\\\";\\n}\\n\\n.report-icon-configuration:before {\\n content: \\\"\\\\E82A\\\";\\n}\\n\\n.report-icon-import-excel:before {\\n content: \\\"\\\\E82B\\\";\\n}\\n\\n.report-icon-font-color:before {\\n content: \\\"\\\\E82C\\\";\\n}\\n\\n.report-icon-merge-cell:before {\\n content: \\\"\\\\E82D\\\";\\n}\\n\\n.report-icon-oblique-head:before {\\n content: \\\"\\\\E82E\\\";\\n}\\n\\n.report-icon-page-preview:before {\\n content: \\\"\\\\E82F\\\";\\n}\\n\\n.report-icon-radar1:before {\\n content: \\\"\\\\E830\\\";\\n}\\n\\n.report-icon-polar-plot:before {\\n content: \\\"\\\\E831\\\";\\n}\\n\\n.report-icon-pie1:before {\\n content: \\\"\\\\E832\\\";\\n}\\n\\n.report-icon-scatter:before {\\n content: \\\"\\\\E833\\\";\\n}\\n\\n.report-icon-preview:before {\\n content: \\\"\\\\E834\\\";\\n}\\n\\n.report-icon-query-form:before {\\n content: \\\"\\\\E835\\\";\\n}\\n\\n.report-icon-restore:before {\\n content: \\\"\\\\E836\\\";\\n}\\n\\n.report-icon-huaban16fuben4:before {\\n content: \\\"\\\\E837\\\";\\n}\\n\\n.report-icon-undo:before {\\n content: \\\"\\\\E838\\\";\\n}\\n\\n.report-icon-huaban16fuben5:before {\\n content: \\\"\\\\E839\\\";\\n}\\n\\n.report-icon-huaban16fuben9:before {\\n content: \\\"\\\\E83A\\\";\\n}\\n\\n.report-icon-huaban16fuben16:before {\\n content: \\\"\\\\E83B\\\";\\n}\\n\\n.report-icon-underline:before {\\n content: \\\"\\\\E83C\\\";\\n}\\n\\n.report-icon-huaban16fuben8:before {\\n content: \\\"\\\\E83D\\\";\\n}\\n\\n.report-icon-huaban16fuben15:before {\\n content: \\\"\\\\E83E\\\";\\n}\\n\\n.report-icon-huaban16fuben6:before {\\n content: \\\"\\\\E83F\\\";\\n}\\n\\n.report-icon-italic:before {\\n content: \\\"\\\\E840\\\";\\n}\\n\\n.report-icon-huaban16fuben18:before {\\n content: \\\"\\\\E841\\\";\\n}\\n\\n.report-icon-huaban16fuben19:before {\\n content: \\\"\\\\E842\\\";\\n}\\n\\n.report-icon-huaban16fuben20:before {\\n content: \\\"\\\\E843\\\";\\n}\\n\\n.report-icon-huaban16fuben17:before {\\n content: \\\"\\\\E845\\\";\\n}\\n\\n.report-icon-huaban16fuben7:before {\\n content: \\\"\\\\E846\\\";\\n}\\n\\n.report-icon-picture:before {\\n content: \\\"\\\\E847\\\";\\n}\\n\\n.report-icon-doughnut:before {\\n content: \\\"\\\\E844\\\";\\n}\\n\\n.report-icon-column:before {\\n content: \\\"\\\\E84A\\\";\\n}\\n\\n.report-icon-generator-function:before {\\n content: \\\"\\\\E84B\\\";\\n}\\n\\n.report-icon-area:before {\\n content: \\\"\\\\E84C\\\";\\n}\\n\\n.report-icon-diagram:before {\\n content: \\\"\\\\E84D\\\";\\n}\\n\\n.report-icon-generator-Panel:before {\\n content: \\\"\\\\E84E\\\";\\n}\\n\\n.report-icon-generator-todo:before {\\n content: \\\"\\\\E84F\\\";\\n}\\n\\n.report-icon-generator-email:before {\\n content: \\\"\\\\E850\\\";\\n}\\n\\n.report-icon-generator-notice:before {\\n content: \\\"\\\\E851\\\";\\n}\\n\\n.report-icon-radar:before {\\n content: \\\"\\\\E852\\\";\\n}\\n\\n.report-icon-generator-todolist:before {\\n content: \\\"\\\\E853\\\";\\n}\\n\\n.report-icon-pie:before {\\n content: \\\"\\\\E854\\\";\\n}\\n\\n.report-icon-shanchu:before {\\n content: \\\"\\\\E6CD\\\";\\n}\\n\\n.report-icon-bianji:before {\\n content: \\\"\\\\E621\\\";\\n}\\n\\n.report-icon-ziyuan5:before {\\n content: \\\"\\\\E805\\\";\\n}\\n\\n.report-icon-ziyuan8:before {\\n content: \\\"\\\\E808\\\";\\n}\\n\\n.report-icon-search:before {\\n content: \\\"\\\\E60E\\\";\\n}\\n\\n.report-icon-add:before {\\n content: \\\"\\\\E613\\\";\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/dataReport/iconfont.css?./node_modules/css-loader"); /***/ }), @@ -1151,7 +1151,7 @@ eval("var escape = __webpack_require__(/*! ../../node_modules/css-loader/lib/url /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"body {\\r\\n min-height: 100vh;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow: hidden;\\r\\n background-color: #ebeef5;\\r\\n font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar-track {\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar-thumb {\\r\\n background-color: rgba(144, 147, 153, .3);\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar-track,\\r\\n::-webkit-scrollbar-thumb {\\r\\n border-radius: 999px;\\r\\n border: 5px solid transparent;\\r\\n}\\r\\n\\r\\n\\r\\n::-webkit-scrollbar-thumb {\\r\\n min-height: 20px;\\r\\n background-clip: content-box;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar-corner {\\r\\n background: transparent;\\r\\n}\\r\\n\\r\\nhtml::-webkit-scrollbar,\\r\\nbody::-webkit-scrollbar,\\r\\n#app::-webkit-scrollbar {\\r\\n width: 0;\\r\\n}\\r\\n\\r\\ninput,\\r\\nbutton,\\r\\na {\\r\\n outline: 0 none !important;\\r\\n}\\r\\n\\r\\n.form-control {\\r\\n box-shadow: none !important;\\r\\n border: 1px solid #DCDFE6;\\r\\n}\\r\\n\\r\\n.custom-formitm {\\r\\n line-height: 30px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.custom-formitm .lab {\\r\\n float: left;\\r\\n width: 76px;\\r\\n margin-right: -76px;\\r\\n text-align: right;\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n.custom-formitm .ipt {\\r\\n margin-left: 80px;\\r\\n}\\r\\n\\r\\n.custom-formitm-l {\\r\\n line-height: 30px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.custom-formitm-l .lab {\\r\\n float: left;\\r\\n width: 100px;\\r\\n margin-right: -100px;\\r\\n text-align: right;\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n.custom-formitm-l .ipt {\\r\\n margin-left: 110px;\\r\\n}\\r\\n\\r\\n#container {\\r\\n /* min-height: 100vh;\\r\\n display: flex;\\r\\n flex-direction: column; */\\r\\n}\\r\\n\\r\\n.flex-box {\\r\\n display: flex;\\r\\n height: 100vh;\\r\\n}\\r\\n\\r\\n.aside {\\r\\n flex: 0 0 430px;\\r\\n background-color: #fff;\\r\\n border-left: solid 1px #dfe6ec;\\r\\n height: calc(100vh - 60px);\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.top-toolbar {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n /*height: 60px;\\r\\n line-height: 60px;*/\\r\\n background-color: #fff;\\r\\n border-bottom: 1px solid #dfe6ec;\\r\\n padding: 0 20px;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.top-toolbar .logo {\\r\\n height: 60px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.top-toolbar .logo img {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n margin-right: 3px;\\r\\n}\\r\\n\\r\\n.top-toolbar .logo span {\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n font-size: 18px;\\r\\n color: #333;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools {\\r\\n flex-grow: 1;\\r\\n display: flex;\\r\\n /* justify-content: center; */\\r\\n align-items: center;\\r\\n /*height: 40px;*/\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .tool-item {\\r\\n display: inline-block;\\r\\n padding: 0 10px;\\r\\n cursor: pointer;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .tool-item.tool-item-line {\\r\\n padding: 0;\\r\\n margin-left: 10px;\\r\\n margin-right: 10px;\\r\\n display: inline-block;\\r\\n height: 59px;\\r\\n line-height: 24px;\\r\\n border-left: 1px solid #e6e6e6;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .tool-item .icon-ym {\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .btn.btn-default {\\r\\n display: flex;\\r\\n align-items: flex-start;\\r\\n padding: 0 10px;\\r\\n height: 40px;\\r\\n position: relative;\\r\\n color: #666;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .btn.btn-default.btn-arrow-down {\\r\\n padding: 0;\\r\\n margin-right: 10px;\\r\\n margin-left: 2px;\\r\\n position: relative;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .btn.btn-default.btn-custom-left {\\r\\n padding: 0;\\r\\n margin-left: 10px;\\r\\n position: relative;\\r\\n z-index: 10;\\r\\n line-height: 40px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .btn.btn-default .icon-ym {\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n.top-toolbar .top-tools .btn-group .btn.btn-default .icon-ym-report-icon-arrow-down {\\r\\n line-height: 35px;\\r\\n margin-left: 2px;\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.top-toolbar .options {\\r\\n width: 200px;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.top-right-btns {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.main-body {\\r\\n flex-grow: 1;\\r\\n overflow-y: auto;\\r\\n padding: 0;\\r\\n height: calc(100vh - 60px);\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.main-tools {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n /* flex: 60px 0 0;\\r\\n height: 60px;\\r\\n line-height: 60px;*/\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.main-container {\\r\\n flex: 1 0 0;\\r\\n overflow-y: auto;\\r\\n padding: 10px 0 0 10px;\\r\\n display: flex;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.main-wrap {\\r\\n flex: 1 0 0;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.handsontable table.htCore {\\r\\n border-collapse: collapse\\r\\n}\\r\\n\\r\\n.ud-toolbar {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.ud-property-panel .jnpf-property {\\r\\n height: calc(100vh - 100px);\\r\\n overflow: hidden auto;\\r\\n}\\r\\n\\r\\n.ud-select-color {\\r\\n background: #000000;\\r\\n position: absolute;\\r\\n width: 20px;\\r\\n height: 2px;\\r\\n display: block;\\r\\n left: 2px;\\r\\n bottom: 10px;\\r\\n border-radius: 1px;\\r\\n}\\r\\n\\r\\n.ud-select-bgcolor {\\r\\n position: absolute;\\r\\n background: #fff;\\r\\n width: 20px;\\r\\n height: 2px;\\r\\n display: block;\\r\\n left: 2px;\\r\\n bottom: 10px;\\r\\n border-radius: 1px;\\r\\n}\\r\\n\\r\\n.nav-tabs {\\r\\n display: flex;\\r\\n text-align: center;\\r\\n border-bottom: 1px solid #dfe6ec !important;\\r\\n}\\r\\n\\r\\n.nav-tabs>li.active>a,\\r\\n.nav-tabs>li.active>a:focus,\\r\\n.nav-tabs>li.active>a:hover {\\r\\n border: none;\\r\\n background: none;\\r\\n color: #1890ff;\\r\\n border-bottom: 2px solid #1890ff;\\r\\n}\\r\\n\\r\\n.nav-tabs>li {\\r\\n float: none;\\r\\n color: #303133;\\r\\n width: 50%;\\r\\n}\\r\\n\\r\\n.nav-tabs>li>a {\\r\\n border: none;\\r\\n border-radius: 0;\\r\\n color: #303133;\\r\\n padding: 19px 15px;\\r\\n}\\r\\n\\r\\n.nav-tabs>li>a:hover {\\r\\n border: none;\\r\\n background-color: #fff;\\r\\n color: #1890ff;\\r\\n}\\r\\n\\r\\n.tab-pane .ud-toolbar {\\r\\n margin-top: 6px;\\r\\n padding-left: 6px;\\r\\n}\\r\\n\\r\\n/*数据源面板*/\\r\\n.datasource-pannel .btns {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.datasource-pannel i.ureport {\\r\\n margin-right: 6px;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.datasource-pannel-tree {\\r\\n height: calc(100vh - 160px);\\r\\n overflow: hidden auto;\\r\\n}\\r\\n\\r\\n/*弹窗*/\\r\\n.data-report-modal {\\r\\n left: 50%;\\r\\n top: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n min-width: 50%;\\r\\n overflow: visible;\\r\\n bottom: inherit;\\r\\n right: inherit;\\r\\n}\\r\\n\\r\\n.modal-dialog {\\r\\n width: 600px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-content {\\r\\n border-radius: 4px;\\r\\n box-shadow: 0 1px 3px rgba(0, 0, 0, .3);\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-header {\\r\\n padding: 0 20px;\\r\\n height: 56px;\\r\\n line-height: 56px;\\r\\n border-bottom: 1px solid #e8eaec;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-header .close {\\r\\n margin-top: 16px;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-header .close i {\\r\\n font-weight: normal;\\r\\n font-size: 18px;\\r\\n color: #909399;\\r\\n line-height: normal;\\r\\n\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-header .close:hover i {\\r\\n color: #1890ff;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-header .modal-title {\\r\\n height: 56px;\\r\\n line-height: 56px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body {\\r\\n padding: 20px 50px;\\r\\n min-height: 200px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body .data-formitm {\\r\\n padding: 20px 0 0;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body .data-formitm .lab {\\r\\n float: left;\\r\\n width: 90px;\\r\\n margin-right: -90px;\\r\\n text-align: right;\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body .data-formitm .ipt {\\r\\n margin-left: 100px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body .data-formitm .ipt * {\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-body .row {\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.modal-dialog .modal-footer {\\r\\n border-top: 0;\\r\\n padding: 10px 20px 20px;\\r\\n}\\r\\n\\r\\n.dropdown-menu {\\r\\n padding: 10px 0;\\r\\n border: 1px solid #ebeef5;\\r\\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);\\r\\n}\\r\\n\\r\\n.dropdown-menu>li>a {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.dropdown-menu>li>a .icon-ym {\\r\\n margin-right: 10px;\\r\\n color: #666 !important;\\r\\n}\\r\\n\\r\\n.sql-dialog-sider {\\r\\n width: 260px;\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n height: 450px;\\r\\n overflow: hidden auto;\\r\\n}\\r\\n\\r\\n.sq-search-bar {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.sq-search-bar .el-input__inner {\\r\\n display: inline-block;\\r\\n width: 188px;\\r\\n}\\r\\n\\r\\n.sql-dialog-sider .table {\\r\\n font-size: 12px;\\r\\n height: 200px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.sql-dialog-main {\\r\\n display: inline-block;\\r\\n width: 580px;\\r\\n margin-left: 10px;\\r\\n height: 450px;\\r\\n overflow: hidden auto;\\r\\n}\\r\\n\\r\\n/*table*/\\r\\n.el-table th,\\r\\n.el-table td {\\r\\n padding: 8px;\\r\\n}\\r\\n\\r\\n.el-table th {\\r\\n font-weight: normal;\\r\\n font-size: 14px;\\r\\n background-color: #f5f7fa;\\r\\n}\\r\\n\\r\\n.el-table {\\r\\n table-layout: fixed;\\r\\n}\\r\\n\\r\\n.el-table {\\r\\n word-break: break-all;\\r\\n word-wrap: break-word;\\r\\n}\\r\\n\\r\\n.editTxt,\\r\\n.editTxt:hover {\\r\\n color: #409eff;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.delTxt,\\r\\n.delTxt:hover {\\r\\n color: #f56c6c;\\r\\n margin-left: 10px;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.el-input--small .report-icon {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.el-button--mini .report-icon {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.dialog-fieldset {\\r\\n padding: 10px;\\r\\n width: 280px;\\r\\n height: 398px;\\r\\n border-radius: 6px;\\r\\n display: inline-block;\\r\\n border: 1px solid #dfe6ec;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.dialog-fieldset-btn {\\r\\n display: inline-block;\\r\\n border: none;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.dialog-fieldset .form-group {\\r\\n padding: 0 10px;\\r\\n}\\r\\n\\r\\n.dialog-fieldset .form-group label {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.dialog-fieldset .form-group label input {\\r\\n margin-right: 5px;\\r\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/designer.css?./node_modules/css-loader"); +eval("exports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"body {\\n min-height: 100vh;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n background-color: #ebeef5;\\n font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;\\n}\\n\\n::-webkit-scrollbar-track {\\n border-radius: 10px;\\n}\\n\\n::-webkit-scrollbar-thumb {\\n background-color: rgba(144, 147, 153, .3);\\n border-radius: 10px;\\n}\\n\\n::-webkit-scrollbar {\\n width: 16px;\\n height: 16px;\\n}\\n\\n::-webkit-scrollbar-track,\\n::-webkit-scrollbar-thumb {\\n border-radius: 999px;\\n border: 5px solid transparent;\\n}\\n\\n\\n::-webkit-scrollbar-thumb {\\n min-height: 20px;\\n background-clip: content-box;\\n}\\n\\n::-webkit-scrollbar-corner {\\n background: transparent;\\n}\\n\\nhtml::-webkit-scrollbar,\\nbody::-webkit-scrollbar,\\n#app::-webkit-scrollbar {\\n width: 0;\\n}\\n\\ninput,\\nbutton,\\na {\\n outline: 0 none !important;\\n}\\n\\n.form-control {\\n box-shadow: none !important;\\n border: 1px solid #DCDFE6;\\n}\\n\\n.custom-formitm {\\n line-height: 30px;\\n margin-bottom: 10px;\\n}\\n\\n.custom-formitm .lab {\\n float: left;\\n width: 76px;\\n margin-right: -76px;\\n text-align: right;\\n font-weight: normal;\\n}\\n\\n.custom-formitm .ipt {\\n margin-left: 80px;\\n}\\n\\n.custom-formitm-l {\\n line-height: 30px;\\n margin-bottom: 10px;\\n}\\n\\n.custom-formitm-l .lab {\\n float: left;\\n width: 100px;\\n margin-right: -100px;\\n text-align: right;\\n font-weight: normal;\\n}\\n\\n.custom-formitm-l .ipt {\\n margin-left: 110px;\\n}\\n\\n#container {\\n /* min-height: 100vh;\\n display: flex;\\n flex-direction: column; */\\n}\\n\\n.flex-box {\\n display: flex;\\n height: 100vh;\\n}\\n\\n.aside {\\n flex: 0 0 430px;\\n background-color: #fff;\\n border-left: solid 1px #dfe6ec;\\n height: calc(100vh - 60px);\\n margin: 0;\\n}\\n\\n.top-toolbar {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n /*height: 60px;\\n line-height: 60px;*/\\n background-color: #fff;\\n border-bottom: 1px solid #dfe6ec;\\n padding: 0 20px;\\n justify-content: space-between;\\n}\\n\\n.top-toolbar .logo {\\n height: 60px;\\n display: flex;\\n align-items: center;\\n}\\n\\n.top-toolbar .logo img {\\n width: 60px;\\n height: 60px;\\n margin-right: 3px;\\n}\\n\\n.top-toolbar .logo span {\\n display: inline-block;\\n line-height: 60px;\\n font-size: 18px;\\n color: #333;\\n}\\n\\n.top-toolbar .top-tools {\\n flex-grow: 1;\\n display: flex;\\n /* justify-content: center; */\\n align-items: center;\\n /*height: 40px;*/\\n flex-wrap: wrap;\\n}\\n\\n.top-toolbar .top-tools .tool-item {\\n display: inline-block;\\n padding: 0 10px;\\n cursor: pointer;\\n height: 40px;\\n line-height: 40px;\\n}\\n\\n.top-toolbar .top-tools .tool-item.tool-item-line {\\n padding: 0;\\n margin-left: 10px;\\n margin-right: 10px;\\n display: inline-block;\\n height: 59px;\\n line-height: 24px;\\n border-left: 1px solid #e6e6e6;\\n}\\n\\n.top-toolbar .top-tools .tool-item .icon-ym {\\n line-height: 40px;\\n}\\n\\n.top-toolbar .top-tools .btn.btn-default {\\n display: flex;\\n align-items: flex-start;\\n padding: 0 10px;\\n height: 40px;\\n position: relative;\\n color: #666;\\n}\\n\\n.top-toolbar .top-tools .btn.btn-default.btn-arrow-down {\\n padding: 0;\\n margin-right: 10px;\\n margin-left: 2px;\\n position: relative;\\n z-index: 10;\\n}\\n\\n.top-toolbar .top-tools .btn.btn-default.btn-custom-left {\\n padding: 0;\\n margin-left: 10px;\\n position: relative;\\n z-index: 10;\\n line-height: 40px;\\n font-size: 16px;\\n}\\n\\n.top-toolbar .top-tools .btn.btn-default .icon-ym {\\n line-height: 40px;\\n}\\n\\n.top-toolbar .top-tools .btn-group .btn.btn-default .icon-ym-report-icon-arrow-down {\\n line-height: 35px;\\n margin-left: 2px;\\n margin-top: 4px;\\n}\\n\\n.top-toolbar .options {\\n width: 200px;\\n text-align: right;\\n}\\n\\n.top-right-btns {\\n display: none;\\n}\\n\\n.main-body {\\n flex-grow: 1;\\n overflow-y: auto;\\n padding: 0;\\n height: calc(100vh - 60px);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.main-tools {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n /* flex: 60px 0 0;\\n height: 60px;\\n line-height: 60px;*/\\n background-color: #fff;\\n}\\n\\n.main-container {\\n flex: 1 0 0;\\n overflow-y: auto;\\n padding: 10px 0 0 10px;\\n display: flex;\\n background-color: #fff;\\n}\\n\\n.main-wrap {\\n flex: 1 0 0;\\n overflow-y: auto;\\n}\\n\\n.handsontable table.htCore {\\n border-collapse: collapse\\n}\\n\\n.ud-toolbar {\\n width: 100%;\\n}\\n\\n.ud-property-panel .jnpf-property {\\n height: calc(100vh - 100px);\\n overflow: hidden auto;\\n}\\n\\n.ud-select-color {\\n background: #000000;\\n position: absolute;\\n width: 20px;\\n height: 2px;\\n display: block;\\n left: 2px;\\n bottom: 10px;\\n border-radius: 1px;\\n}\\n\\n.ud-select-bgcolor {\\n position: absolute;\\n background: #fff;\\n width: 20px;\\n height: 2px;\\n display: block;\\n left: 2px;\\n bottom: 10px;\\n border-radius: 1px;\\n}\\n\\n.nav-tabs {\\n display: flex;\\n text-align: center;\\n border-bottom: 1px solid #dfe6ec !important;\\n}\\n\\n.nav-tabs>li.active>a,\\n.nav-tabs>li.active>a:focus,\\n.nav-tabs>li.active>a:hover {\\n border: none;\\n background: none;\\n color: #1890ff;\\n border-bottom: 2px solid #1890ff;\\n}\\n\\n.nav-tabs>li {\\n float: none;\\n color: #303133;\\n width: 50%;\\n}\\n\\n.nav-tabs>li>a {\\n border: none;\\n border-radius: 0;\\n color: #303133;\\n padding: 19px 15px;\\n}\\n\\n.nav-tabs>li>a:hover {\\n border: none;\\n background-color: #fff;\\n color: #1890ff;\\n}\\n\\n.tab-pane .ud-toolbar {\\n margin-top: 6px;\\n padding-left: 6px;\\n}\\n\\n/*数据源面板*/\\n.datasource-pannel .btns {\\n padding: 10px;\\n}\\n\\n.datasource-pannel i.ureport {\\n margin-right: 6px;\\n font-size: 12px;\\n}\\n\\n.datasource-pannel-tree {\\n height: calc(100vh - 160px);\\n overflow: hidden auto;\\n}\\n\\n/*弹窗*/\\n.data-report-modal {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n min-width: 50%;\\n overflow: visible;\\n bottom: inherit;\\n right: inherit;\\n}\\n\\n.modal-dialog {\\n width: 600px;\\n}\\n\\n.modal-dialog .modal-content {\\n border-radius: 4px;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, .3);\\n}\\n\\n.modal-dialog .modal-header {\\n padding: 0 20px;\\n height: 56px;\\n line-height: 56px;\\n border-bottom: 1px solid #e8eaec;\\n}\\n\\n.modal-dialog .modal-header .close {\\n margin-top: 16px;\\n opacity: 1;\\n}\\n\\n.modal-dialog .modal-header .close i {\\n font-weight: normal;\\n font-size: 18px;\\n color: #909399;\\n line-height: normal;\\n\\n}\\n\\n.modal-dialog .modal-header .close:hover i {\\n color: #1890ff;\\n}\\n\\n.modal-dialog .modal-header .modal-title {\\n height: 56px;\\n line-height: 56px;\\n}\\n\\n.modal-dialog .modal-body {\\n padding: 20px 50px;\\n min-height: 200px;\\n}\\n\\n.modal-dialog .modal-body .data-formitm {\\n padding: 20px 0 0;\\n line-height: 30px;\\n}\\n\\n.modal-dialog .modal-body .data-formitm .lab {\\n float: left;\\n width: 90px;\\n margin-right: -90px;\\n text-align: right;\\n font-weight: normal;\\n}\\n\\n.modal-dialog .modal-body .data-formitm .ipt {\\n margin-left: 100px;\\n}\\n\\n.modal-dialog .modal-body .data-formitm .ipt * {\\n vertical-align: middle;\\n}\\n\\n.modal-dialog .modal-body .row {\\n padding-bottom: 10px;\\n}\\n\\n.modal-dialog .modal-footer {\\n border-top: 0;\\n padding: 10px 20px 20px;\\n}\\n\\n.dropdown-menu {\\n padding: 10px 0;\\n border: 1px solid #ebeef5;\\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);\\n}\\n\\n.dropdown-menu>li>a {\\n display: flex;\\n align-items: center;\\n}\\n\\n.dropdown-menu>li>a .icon-ym {\\n margin-right: 10px;\\n color: #666 !important;\\n}\\n\\n.sql-dialog-sider {\\n width: 260px;\\n display: inline-block;\\n vertical-align: top;\\n height: 450px;\\n overflow: hidden auto;\\n}\\n\\n.sq-search-bar {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n margin-bottom: 10px;\\n}\\n\\n.sq-search-bar .el-input__inner {\\n display: inline-block;\\n width: 188px;\\n}\\n\\n.sql-dialog-sider .table {\\n font-size: 12px;\\n height: 200px;\\n overflow: hidden;\\n}\\n\\n.sql-dialog-main {\\n display: inline-block;\\n width: 580px;\\n margin-left: 10px;\\n height: 450px;\\n overflow: hidden auto;\\n}\\n\\n/*table*/\\n.el-table th,\\n.el-table td {\\n padding: 8px;\\n}\\n\\n.el-table th {\\n font-weight: normal;\\n font-size: 14px;\\n background-color: #f5f7fa;\\n}\\n\\n.el-table {\\n table-layout: fixed;\\n}\\n\\n.el-table {\\n word-break: break-all;\\n word-wrap: break-word;\\n}\\n\\n.editTxt,\\n.editTxt:hover {\\n color: #409eff;\\n text-decoration: none;\\n}\\n\\n.delTxt,\\n.delTxt:hover {\\n color: #f56c6c;\\n margin-left: 10px;\\n text-decoration: none;\\n}\\n\\n.el-input--small .report-icon {\\n font-size: 14px;\\n}\\n\\n.el-button--mini .report-icon {\\n font-size: 14px;\\n}\\n\\n.dialog-fieldset {\\n padding: 10px;\\n width: 280px;\\n height: 398px;\\n border-radius: 6px;\\n display: inline-block;\\n border: 1px solid #dfe6ec;\\n overflow-y: auto;\\n overflow-x: hidden;\\n}\\n\\n.dialog-fieldset-btn {\\n display: inline-block;\\n border: none;\\n background-color: #fff;\\n}\\n\\n.dialog-fieldset .form-group {\\n padding: 0 10px;\\n}\\n\\n.dialog-fieldset .form-group label {\\n font-weight: 400;\\n}\\n\\n.dialog-fieldset .form-group label input {\\n margin-right: 5px;\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/designer.css?./node_modules/css-loader"); /***/ }), @@ -1162,7 +1162,7 @@ eval("exports = module.exports = __webpack_require__(/*! ../node_modules/css-loa /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var escape = __webpack_require__(/*! ../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\r\\n@font-face {font-family: \\\"ureport\\\";\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot */ \"./css/iconfont.eot\")) + \"); /* IE9*/\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.ttf */ \"./css/iconfont.ttf\")) + \") format('truetype');\\r\\n}\\r\\n\\r\\n.ureport {\\r\\n font-family:\\\"ureport\\\" !important;\\r\\n font-size:16px;\\r\\n font-style:normal;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n.ureport-setting:before { content: \\\"\\\\E603\\\"; }\\r\\n\\r\\n.ureport-plus:before { content: \\\"\\\\E608\\\"; }\\r\\n\\r\\n.ureport-shareconnection:before { content: \\\"\\\\E660\\\"; }\\r\\n\\r\\n.ureport-bar:before { content: \\\"\\\\E66B\\\"; }\\r\\n\\r\\n.ureport-bgcolor2:before { content: \\\"\\\\E76C\\\"; }\\r\\n\\r\\n.ureport-crosstab:before { content: \\\"\\\\E60B\\\"; }\\r\\n\\r\\n.ureport-subreport:before { content: \\\"\\\\E64F\\\"; }\\r\\n\\r\\n.ureport-barcode:before { content: \\\"\\\\E6F8\\\"; }\\r\\n\\r\\n.ureport-underline:before { content: \\\"\\\\E8AB\\\"; }\\r\\n\\r\\n.ureport-horizontal-bar:before { content: \\\"\\\\E62D\\\"; }\\r\\n\\r\\n.ureport-scatter:before { content: \\\"\\\\E632\\\"; }\\r\\n\\r\\n.ureport-sqlds:before { content: \\\"\\\\E6B6\\\"; }\\r\\n\\r\\n.ureport-qrcode:before { content: \\\"\\\\E72C\\\"; }\\r\\n\\r\\n.ureport-bgcolor:before { content: \\\"\\\\E62C\\\"; }\\r\\n\\r\\n.ureport-fontsize:before { content: \\\"\\\\E63F\\\"; }\\r\\n\\r\\n.ureport-fontfamily:before { content: \\\"\\\\E618\\\"; }\\r\\n\\r\\n.ureport-area:before { content: \\\"\\\\E9D7\\\"; }\\r\\n\\r\\n.ureport-italic:before { content: \\\"\\\\EB31\\\"; }\\r\\n\\r\\n.ureport-bold:before { content: \\\"\\\\E61F\\\"; }\\r\\n\\r\\n.ureport-minus:before { content: \\\"\\\\E60C\\\"; }\\r\\n\\r\\n.ureport-methodds:before { content: \\\"\\\\E69C\\\"; }\\r\\n\\r\\n.ureport-print1:before { content: \\\"\\\\E62A\\\"; }\\r\\n\\r\\n.ureport-database:before { content: \\\"\\\\E693\\\"; }\\r\\n\\r\\n.ureport-bubble:before { content: \\\"\\\\E6B0\\\"; }\\r\\n\\r\\n.ureport-x-xlsx:before { content: \\\"\\\\E690\\\"; }\\r\\n\\r\\n.ureport-copy:before { content: \\\"\\\\E62F\\\"; }\\r\\n\\r\\n.ureport-pie:before { content: \\\"\\\\E602\\\"; }\\r\\n\\r\\n.ureport-save:before { content: \\\"\\\\E86F\\\"; }\\r\\n\\r\\n.ureport-open:before { content: \\\"\\\\E624\\\"; }\\r\\n\\r\\n.ureport-deletecolumn:before { content: \\\"\\\\E6F3\\\"; }\\r\\n\\r\\n.ureport-deleterow:before { content: \\\"\\\\E6F4\\\"; }\\r\\n\\r\\n.ureport-insertrow:before { content: \\\"\\\\E754\\\"; }\\r\\n\\r\\n.ureport-property:before { content: \\\"\\\\E675\\\"; }\\r\\n\\r\\n.ureport-aligntop:before { content: \\\"\\\\E623\\\"; }\\r\\n\\r\\n.ureport-alignbottom:before { content: \\\"\\\\E625\\\"; }\\r\\n\\r\\n.ureport-alignmiddle:before { content: \\\"\\\\E627\\\"; }\\r\\n\\r\\n.ureport-clean:before { content: \\\"\\\\E628\\\"; }\\r\\n\\r\\n.ureport-forecolor:before { content: \\\"\\\\E670\\\"; }\\r\\n\\r\\n.ureport-footer-repeat:before { content: \\\"\\\\E62B\\\"; }\\r\\n\\r\\n.ureport-pdf:before { content: \\\"\\\\E68F\\\"; }\\r\\n\\r\\n.ureport-print:before { content: \\\"\\\\E633\\\"; }\\r\\n\\r\\n.ureport-first:before { content: \\\"\\\\E629\\\"; }\\r\\n\\r\\n.ureport-alignleft:before { content: \\\"\\\\E634\\\"; }\\r\\n\\r\\n.ureport-alignright:before { content: \\\"\\\\E639\\\"; }\\r\\n\\r\\n.ureport-merge:before { content: \\\"\\\\E63D\\\"; }\\r\\n\\r\\n.ureport-redo:before { content: \\\"\\\\E61C\\\"; }\\r\\n\\r\\n.ureport-mixchart:before { content: \\\"\\\\E669\\\"; }\\r\\n\\r\\n.ureport-import:before { content: \\\"\\\\E609\\\"; }\\r\\n\\r\\n.ureport-clean-content:before { content: \\\"\\\\E604\\\"; }\\r\\n\\r\\n.ureport-undo:before { content: \\\"\\\\E74A\\\"; }\\r\\n\\r\\n.ureport-title:before { content: \\\"\\\\E712\\\"; }\\r\\n\\r\\n.ureport-no-border:before { content: \\\"\\\\E600\\\"; }\\r\\n\\r\\n.ureport-aligncenter:before { content: \\\"\\\\E888\\\"; }\\r\\n\\r\\n.ureport-word:before { content: \\\"\\\\E605\\\"; }\\r\\n\\r\\n.ureport-summary:before { content: \\\"\\\\E749\\\"; }\\r\\n\\r\\n.ureport-doughnut:before { content: \\\"\\\\E88C\\\"; }\\r\\n\\r\\n.ureport-preview:before { content: \\\"\\\\E60F\\\"; }\\r\\n\\r\\n.ureport-clean-style:before { content: \\\"\\\\E64B\\\"; }\\r\\n\\r\\n.ureport-line:before { content: \\\"\\\\E695\\\"; }\\r\\n\\r\\n.ureport-leaf:before { content: \\\"\\\\E6BB\\\"; }\\r\\n\\r\\n.ureport-21print:before { content: \\\"\\\\E644\\\"; }\\r\\n\\r\\n.ureport-height:before { content: \\\"\\\\E610\\\"; }\\r\\n\\r\\n.ureport-radar:before { content: \\\"\\\\E671\\\"; }\\r\\n\\r\\n.ureport-image:before { content: \\\"\\\\E626\\\"; }\\r\\n\\r\\n.ureport-bottom-border:before { content: \\\"\\\\E61E\\\"; }\\r\\n\\r\\n.ureport-top-border:before { content: \\\"\\\\E61D\\\"; }\\r\\n\\r\\n.ureport-full-border:before { content: \\\"\\\\E620\\\"; }\\r\\n\\r\\n.ureport-left-border:before { content: \\\"\\\\E621\\\"; }\\r\\n\\r\\n.ureport-right-border:before { content: \\\"\\\\E622\\\"; }\\r\\n\\r\\n.ureport-next:before { content: \\\"\\\\E60D\\\"; }\\r\\n\\r\\n.ureport-prev:before { content: \\\"\\\\E606\\\"; }\\r\\n\\r\\n.ureport-pdf-printer:before { content: \\\"\\\\E607\\\"; }\\r\\n\\r\\n.ureport-forecolor1:before { content: \\\"\\\\E601\\\"; }\\r\\n\\r\\n.ureport-end:before { content: \\\"\\\\E60A\\\"; }\\r\\n\\r\\n.ureport-insert-column:before { content: \\\"\\\\E619\\\"; }\\r\\n\\r\\n.ureport-polar:before { content: \\\"\\\\E60E\\\"; }\\r\\n\\r\\n.ureport-width:before { content: \\\"\\\\E611\\\"; }\\r\\n\\r\\n.ureport-header-repeat:before { content: \\\"\\\\E696\\\"; }\\r\\n\\r\\n.ureport-paste:before { content: \\\"\\\\E612\\\"; }\\r\\n\\r\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/iconfont.css?./node_modules/css-loader"); +eval("var escape = __webpack_require__(/*! ../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n@font-face {font-family: \\\"ureport\\\";\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot */ \"./css/iconfont.eot\")) + \"); /* IE9*/\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.ttf */ \"./css/iconfont.ttf\")) + \") format('truetype');\\n}\\n\\n.ureport {\\n font-family:\\\"ureport\\\" !important;\\n font-size:16px;\\n font-style:normal;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.ureport-setting:before { content: \\\"\\\\E603\\\"; }\\n\\n.ureport-plus:before { content: \\\"\\\\E608\\\"; }\\n\\n.ureport-shareconnection:before { content: \\\"\\\\E660\\\"; }\\n\\n.ureport-bar:before { content: \\\"\\\\E66B\\\"; }\\n\\n.ureport-bgcolor2:before { content: \\\"\\\\E76C\\\"; }\\n\\n.ureport-crosstab:before { content: \\\"\\\\E60B\\\"; }\\n\\n.ureport-subreport:before { content: \\\"\\\\E64F\\\"; }\\n\\n.ureport-barcode:before { content: \\\"\\\\E6F8\\\"; }\\n\\n.ureport-underline:before { content: \\\"\\\\E8AB\\\"; }\\n\\n.ureport-horizontal-bar:before { content: \\\"\\\\E62D\\\"; }\\n\\n.ureport-scatter:before { content: \\\"\\\\E632\\\"; }\\n\\n.ureport-sqlds:before { content: \\\"\\\\E6B6\\\"; }\\n\\n.ureport-qrcode:before { content: \\\"\\\\E72C\\\"; }\\n\\n.ureport-bgcolor:before { content: \\\"\\\\E62C\\\"; }\\n\\n.ureport-fontsize:before { content: \\\"\\\\E63F\\\"; }\\n\\n.ureport-fontfamily:before { content: \\\"\\\\E618\\\"; }\\n\\n.ureport-area:before { content: \\\"\\\\E9D7\\\"; }\\n\\n.ureport-italic:before { content: \\\"\\\\EB31\\\"; }\\n\\n.ureport-bold:before { content: \\\"\\\\E61F\\\"; }\\n\\n.ureport-minus:before { content: \\\"\\\\E60C\\\"; }\\n\\n.ureport-methodds:before { content: \\\"\\\\E69C\\\"; }\\n\\n.ureport-print1:before { content: \\\"\\\\E62A\\\"; }\\n\\n.ureport-database:before { content: \\\"\\\\E693\\\"; }\\n\\n.ureport-bubble:before { content: \\\"\\\\E6B0\\\"; }\\n\\n.ureport-x-xlsx:before { content: \\\"\\\\E690\\\"; }\\n\\n.ureport-copy:before { content: \\\"\\\\E62F\\\"; }\\n\\n.ureport-pie:before { content: \\\"\\\\E602\\\"; }\\n\\n.ureport-save:before { content: \\\"\\\\E86F\\\"; }\\n\\n.ureport-open:before { content: \\\"\\\\E624\\\"; }\\n\\n.ureport-deletecolumn:before { content: \\\"\\\\E6F3\\\"; }\\n\\n.ureport-deleterow:before { content: \\\"\\\\E6F4\\\"; }\\n\\n.ureport-insertrow:before { content: \\\"\\\\E754\\\"; }\\n\\n.ureport-property:before { content: \\\"\\\\E675\\\"; }\\n\\n.ureport-aligntop:before { content: \\\"\\\\E623\\\"; }\\n\\n.ureport-alignbottom:before { content: \\\"\\\\E625\\\"; }\\n\\n.ureport-alignmiddle:before { content: \\\"\\\\E627\\\"; }\\n\\n.ureport-clean:before { content: \\\"\\\\E628\\\"; }\\n\\n.ureport-forecolor:before { content: \\\"\\\\E670\\\"; }\\n\\n.ureport-footer-repeat:before { content: \\\"\\\\E62B\\\"; }\\n\\n.ureport-pdf:before { content: \\\"\\\\E68F\\\"; }\\n\\n.ureport-print:before { content: \\\"\\\\E633\\\"; }\\n\\n.ureport-first:before { content: \\\"\\\\E629\\\"; }\\n\\n.ureport-alignleft:before { content: \\\"\\\\E634\\\"; }\\n\\n.ureport-alignright:before { content: \\\"\\\\E639\\\"; }\\n\\n.ureport-merge:before { content: \\\"\\\\E63D\\\"; }\\n\\n.ureport-redo:before { content: \\\"\\\\E61C\\\"; }\\n\\n.ureport-mixchart:before { content: \\\"\\\\E669\\\"; }\\n\\n.ureport-import:before { content: \\\"\\\\E609\\\"; }\\n\\n.ureport-clean-content:before { content: \\\"\\\\E604\\\"; }\\n\\n.ureport-undo:before { content: \\\"\\\\E74A\\\"; }\\n\\n.ureport-title:before { content: \\\"\\\\E712\\\"; }\\n\\n.ureport-no-border:before { content: \\\"\\\\E600\\\"; }\\n\\n.ureport-aligncenter:before { content: \\\"\\\\E888\\\"; }\\n\\n.ureport-word:before { content: \\\"\\\\E605\\\"; }\\n\\n.ureport-summary:before { content: \\\"\\\\E749\\\"; }\\n\\n.ureport-doughnut:before { content: \\\"\\\\E88C\\\"; }\\n\\n.ureport-preview:before { content: \\\"\\\\E60F\\\"; }\\n\\n.ureport-clean-style:before { content: \\\"\\\\E64B\\\"; }\\n\\n.ureport-line:before { content: \\\"\\\\E695\\\"; }\\n\\n.ureport-leaf:before { content: \\\"\\\\E6BB\\\"; }\\n\\n.ureport-21print:before { content: \\\"\\\\E644\\\"; }\\n\\n.ureport-height:before { content: \\\"\\\\E610\\\"; }\\n\\n.ureport-radar:before { content: \\\"\\\\E671\\\"; }\\n\\n.ureport-image:before { content: \\\"\\\\E626\\\"; }\\n\\n.ureport-bottom-border:before { content: \\\"\\\\E61E\\\"; }\\n\\n.ureport-top-border:before { content: \\\"\\\\E61D\\\"; }\\n\\n.ureport-full-border:before { content: \\\"\\\\E620\\\"; }\\n\\n.ureport-left-border:before { content: \\\"\\\\E621\\\"; }\\n\\n.ureport-right-border:before { content: \\\"\\\\E622\\\"; }\\n\\n.ureport-next:before { content: \\\"\\\\E60D\\\"; }\\n\\n.ureport-prev:before { content: \\\"\\\\E606\\\"; }\\n\\n.ureport-pdf-printer:before { content: \\\"\\\\E607\\\"; }\\n\\n.ureport-forecolor1:before { content: \\\"\\\\E601\\\"; }\\n\\n.ureport-end:before { content: \\\"\\\\E60A\\\"; }\\n\\n.ureport-insert-column:before { content: \\\"\\\\E619\\\"; }\\n\\n.ureport-polar:before { content: \\\"\\\\E60E\\\"; }\\n\\n.ureport-width:before { content: \\\"\\\\E611\\\"; }\\n\\n.ureport-header-repeat:before { content: \\\"\\\\E696\\\"; }\\n\\n.ureport-paste:before { content: \\\"\\\\E612\\\"; }\\n\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/iconfont.css?./node_modules/css-loader"); /***/ }), @@ -1173,7 +1173,7 @@ eval("var escape = __webpack_require__(/*! ../node_modules/css-loader/lib/url/es /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var escape = __webpack_require__(/*! ../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"@font-face {\\r\\n font-family: \\\"icon-ym\\\";\\r\\n /* Project id 2011706 */\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.woff2?t=1641980211923 */ \"./css/ymFont/iconfont.woff2?t=1641980211923\")) + \") format('woff2'),\\r\\n url(\" + escape(__webpack_require__(/*! ./iconfont.woff?t=1641980211923 */ \"./css/ymFont/iconfont.woff?t=1641980211923\")) + \") format('woff'),\\r\\n url(\" + escape(__webpack_require__(/*! ./iconfont.ttf?t=1641980211923 */ \"./css/ymFont/iconfont.ttf?t=1641980211923\")) + \") format('truetype');\\r\\n}\\r\\n\\r\\n.icon-ym {\\r\\n font-family: \\\"icon-ym\\\" !important;\\r\\n font-size: 24px;\\r\\n font-style: normal;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview:before {\\r\\n content: \\\"\\\\E655\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-page-preview:before {\\r\\n content: \\\"\\\\E668\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-doughnut:before {\\r\\n content: \\\"\\\\E66E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-pie:before {\\r\\n content: \\\"\\\\E64D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-polar-plot:before {\\r\\n content: \\\"\\\\E650\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-h5:before {\\r\\n content: \\\"\\\\E682\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-merge-cell:before {\\r\\n content: \\\"\\\\E67A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-android:before {\\r\\n content: \\\"\\\\E67D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mac:before {\\r\\n content: \\\"\\\\E67E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-windows:before {\\r\\n content: \\\"\\\\E67F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wechat1:before {\\r\\n content: \\\"\\\\E680\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-ios:before {\\r\\n content: \\\"\\\\E681\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-scatter:before {\\r\\n content: \\\"\\\\E66F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-printPreview:before {\\r\\n content: \\\"\\\\E670\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-excel-with-paging-sheet:before {\\r\\n content: \\\"\\\\E671\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-fontsize:before {\\r\\n content: \\\"\\\\E672\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-search-setting:before {\\r\\n content: \\\"\\\\E673\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-excel:before {\\r\\n content: \\\"\\\\E674\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-undo:before {\\r\\n content: \\\"\\\\E675\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-shrink:before {\\r\\n content: \\\"\\\\E676\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-configuration:before {\\r\\n content: \\\"\\\\E677\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-refresh:before {\\r\\n content: \\\"\\\\E678\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-underline:before {\\r\\n content: \\\"\\\\E679\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-italic:before {\\r\\n content: \\\"\\\\E67B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-printPdf:before {\\r\\n content: \\\"\\\\E67C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-area:before {\\r\\n content: \\\"\\\\E63E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-arrow-down:before {\\r\\n content: \\\"\\\\E63F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-left:before {\\r\\n content: \\\"\\\\E640\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-top:before {\\r\\n content: \\\"\\\\E641\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-all:before {\\r\\n content: \\\"\\\\E642\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-bottom:before {\\r\\n content: \\\"\\\\E643\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-right:before {\\r\\n content: \\\"\\\\E644\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-bold:before {\\r\\n content: \\\"\\\\E645\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-bottom:before {\\r\\n content: \\\"\\\\E646\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-center:before {\\r\\n content: \\\"\\\\E647\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-right:before {\\r\\n content: \\\"\\\\E648\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-bubble:before {\\r\\n content: \\\"\\\\E649\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-diagram:before {\\r\\n content: \\\"\\\\E64A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-enlarge:before {\\r\\n content: \\\"\\\\E64B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-align-middle:before {\\r\\n content: \\\"\\\\E64C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-pagePre:before {\\r\\n content: \\\"\\\\E64E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-left:before {\\r\\n content: \\\"\\\\E64F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-font:before {\\r\\n content: \\\"\\\\E652\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-top:before {\\r\\n content: \\\"\\\\E653\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-pageIndex:before {\\r\\n content: \\\"\\\\E654\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-background-color:before {\\r\\n content: \\\"\\\\E656\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-custom:before {\\r\\n content: \\\"\\\\E657\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-horizontal-column:before {\\r\\n content: \\\"\\\\E65C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-column:before {\\r\\n content: \\\"\\\\E65D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-font-type:before {\\r\\n content: \\\"\\\\E65E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-import-excel:before {\\r\\n content: \\\"\\\\E65F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-restore:before {\\r\\n content: \\\"\\\\E662\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-oblique-head:before {\\r\\n content: \\\"\\\\E663\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-pdf:before {\\r\\n content: \\\"\\\\E664\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-pageNext:before {\\r\\n content: \\\"\\\\E665\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-print:before {\\r\\n content: \\\"\\\\E666\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-pageLast:before {\\r\\n content: \\\"\\\\E667\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-excel-paging:before {\\r\\n content: \\\"\\\\E669\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-radar:before {\\r\\n content: \\\"\\\\E66A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-border-none:before {\\r\\n content: \\\"\\\\E66B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-preview-word:before {\\r\\n content: \\\"\\\\E66C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-report-icon-picture:before {\\r\\n content: \\\"\\\\E66D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-button:before {\\r\\n content: \\\"\\\\E661\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-scanCode1:before {\\r\\n content: \\\"\\\\E651\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-qrcode:before {\\r\\n content: \\\"\\\\E658\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-barcode:before {\\r\\n content: \\\"\\\\E659\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-popup:before {\\r\\n content: \\\"\\\\E65B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-popup-attr:before {\\r\\n content: \\\"\\\\E660\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-message:before {\\r\\n content: \\\"\\\\E636\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-information:before {\\r\\n content: \\\"\\\\E62E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-group:before {\\r\\n content: \\\"\\\\E65A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowDone-app:before {\\r\\n content: \\\"\\\\E627\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowLaunch-app:before {\\r\\n content: \\\"\\\\E628\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowTodo-app:before {\\r\\n content: \\\"\\\\E629\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowCopy-app:before {\\r\\n content: \\\"\\\\E62A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-daiban1:before {\\r\\n content: \\\"\\\\E61D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-gonggao:before {\\r\\n content: \\\"\\\\E61E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-lianxi:before {\\r\\n content: \\\"\\\\E620\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-xitong:before {\\r\\n content: \\\"\\\\E621\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-saoyisao:before {\\r\\n content: \\\"\\\\E623\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-erweima:before {\\r\\n content: \\\"\\\\E626\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-yingyong:before {\\r\\n content: \\\"\\\\E61F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-zhanghao:before {\\r\\n content: \\\"\\\\E622\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-zuzhi:before {\\r\\n content: \\\"\\\\E624\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-shezhi:before {\\r\\n content: \\\"\\\\E625\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-subFlow:before {\\r\\n content: \\\"\\\\E61B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-node:before {\\r\\n content: \\\"\\\\E61A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-visual-studio:before {\\r\\n content: \\\"\\\\E887\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dot-net:before {\\r\\n content: \\\"\\\\EB7E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-checktriangle:before {\\r\\n content: \\\"\\\\E6D0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-java:before {\\r\\n content: \\\"\\\\E6E0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-group:before {\\r\\n content: \\\"\\\\E619\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-flow:before {\\r\\n content: \\\"\\\\E615\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-count:before {\\r\\n content: \\\"\\\\E614\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-tree:before {\\r\\n content: \\\"\\\\E616\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-nature:before {\\r\\n content: \\\"\\\\E617\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-menu:before {\\r\\n content: \\\"\\\\E618\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-zujian:before {\\r\\n content: \\\"\\\\E886\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-daka:before {\\r\\n content: \\\"\\\\E87F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dingdang:before {\\r\\n content: \\\"\\\\E880\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-xingcheng:before {\\r\\n content: \\\"\\\\E881\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-huibao:before {\\r\\n content: \\\"\\\\E882\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-saolian:before {\\r\\n content: \\\"\\\\E883\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-gangwei2:before {\\r\\n content: \\\"\\\\E884\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-crm:before {\\r\\n content: \\\"\\\\E885\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-scanCode:before {\\r\\n content: \\\"\\\\E87E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-kanban:before {\\r\\n content: \\\"\\\\E613\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-notice:before {\\r\\n content: \\\"\\\\E607\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-bar:before {\\r\\n content: \\\"\\\\E608\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-annular:before {\\r\\n content: \\\"\\\\E609\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-function:before {\\r\\n content: \\\"\\\\E60A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-pie:before {\\r\\n content: \\\"\\\\E60B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-Panel:before {\\r\\n content: \\\"\\\\E60C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-email:before {\\r\\n content: \\\"\\\\E60D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-line:before {\\r\\n content: \\\"\\\\E60E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-area:before {\\r\\n content: \\\"\\\\E60F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-todolist:before {\\r\\n content: \\\"\\\\E610\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-todo:before {\\r\\n content: \\\"\\\\E611\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-radar:before {\\r\\n content: \\\"\\\\E612\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-layout:before {\\r\\n content: \\\"\\\\E87D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-modifier:before {\\r\\n content: \\\"\\\\E875\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-section:before {\\r\\n content: \\\"\\\\E873\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-steps:before {\\r\\n content: \\\"\\\\E874\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-fold:before {\\r\\n content: \\\"\\\\E876\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-founder:before {\\r\\n content: \\\"\\\\E877\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-documents:before {\\r\\n content: \\\"\\\\E878\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-label:before {\\r\\n content: \\\"\\\\E879\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-modifytime:before {\\r\\n content: \\\"\\\\E87A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-station:before {\\r\\n content: \\\"\\\\E87B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-createtime:before {\\r\\n content: \\\"\\\\E87C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-darg:before {\\r\\n content: \\\"\\\\E702\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-compress-screen1:before {\\r\\n content: \\\"\\\\E871\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-full-screen1:before {\\r\\n content: \\\"\\\\E872\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-compress-screen:before {\\r\\n content: \\\"\\\\E824\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-full-screen:before {\\r\\n content: \\\"\\\\E870\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-options:before {\\r\\n content: \\\"\\\\E822\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-Refresh:before {\\r\\n content: \\\"\\\\E823\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-options1:before {\\r\\n content: \\\"\\\\E86F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-Refresh1:before {\\r\\n content: \\\"\\\\E82C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-position2:before {\\r\\n content: \\\"\\\\E86D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-department2:before {\\r\\n content: \\\"\\\\E86B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-organization3:before {\\r\\n content: \\\"\\\\E86C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-user2:before {\\r\\n content: \\\"\\\\E86E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-normal1:before {\\r\\n content: \\\"\\\\E842\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-xml:before {\\r\\n content: \\\"\\\\E832\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-csv1:before {\\r\\n content: \\\"\\\\E839\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-html1:before {\\r\\n content: \\\"\\\\E86A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-eps:before {\\r\\n content: \\\"\\\\E834\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-code:before {\\r\\n content: \\\"\\\\E830\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-blank:before {\\r\\n content: \\\"\\\\E831\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-ai:before {\\r\\n content: \\\"\\\\E833\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-excel:before {\\r\\n content: \\\"\\\\E835\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-audio:before {\\r\\n content: \\\"\\\\E836\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-movie:before {\\r\\n content: \\\"\\\\E838\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-image1:before {\\r\\n content: \\\"\\\\E83A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-rar:before {\\r\\n content: \\\"\\\\E83B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-pdf:before {\\r\\n content: \\\"\\\\E83D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-text:before {\\r\\n content: \\\"\\\\E83E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-ppt:before {\\r\\n content: \\\"\\\\E83F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-psd:before {\\r\\n content: \\\"\\\\E840\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-video:before {\\r\\n content: \\\"\\\\E841\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-visio:before {\\r\\n content: \\\"\\\\E843\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-word:before {\\r\\n content: \\\"\\\\E844\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-zip:before {\\r\\n content: \\\"\\\\E869\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-image:before {\\r\\n content: \\\"\\\\E837\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-file-photo:before {\\r\\n content: \\\"\\\\E83C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-bus:before {\\r\\n content: \\\"\\\\E845\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-ambulance:before {\\r\\n content: \\\"\\\\E846\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-bar-chart:before {\\r\\n content: \\\"\\\\E847\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-bicycle:before {\\r\\n content: \\\"\\\\E848\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-car:before {\\r\\n content: \\\"\\\\E849\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-check-circle-o:before {\\r\\n content: \\\"\\\\E84A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-circle:before {\\r\\n content: \\\"\\\\E84B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-circle-o:before {\\r\\n content: \\\"\\\\E84C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-cog:before {\\r\\n content: \\\"\\\\E84D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-clock:before {\\r\\n content: \\\"\\\\E84E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-edit:before {\\r\\n content: \\\"\\\\E84F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-envelope-open-o:before {\\r\\n content: \\\"\\\\E850\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-eye:before {\\r\\n content: \\\"\\\\E851\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-folder-open:before {\\r\\n content: \\\"\\\\E852\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-exclamation-triangle:before {\\r\\n content: \\\"\\\\E853\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-envelope:before {\\r\\n content: \\\"\\\\E854\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-minus-circle:before {\\r\\n content: \\\"\\\\E855\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-meh:before {\\r\\n content: \\\"\\\\E856\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-folder:before {\\r\\n content: \\\"\\\\E857\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-history:before {\\r\\n content: \\\"\\\\E858\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-mail-forward:before {\\r\\n content: \\\"\\\\E859\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-paperclip:before {\\r\\n content: \\\"\\\\E85A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-rocket:before {\\r\\n content: \\\"\\\\E85B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-plane:before {\\r\\n content: \\\"\\\\E85C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-pencil:before {\\r\\n content: \\\"\\\\E85D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-save:before {\\r\\n content: \\\"\\\\E85E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-motorcycle:before {\\r\\n content: \\\"\\\\E85F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-paper-plane:before {\\r\\n content: \\\"\\\\E860\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-star:before {\\r\\n content: \\\"\\\\E861\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-trash:before {\\r\\n content: \\\"\\\\E862\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-train:before {\\r\\n content: \\\"\\\\E863\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-subway:before {\\r\\n content: \\\"\\\\E864\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-truck:before {\\r\\n content: \\\"\\\\E865\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-star-o:before {\\r\\n content: \\\"\\\\E866\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-share:before {\\r\\n content: \\\"\\\\E867\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend-thumbs-up:before {\\r\\n content: \\\"\\\\E868\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-manage1:before {\\r\\n content: \\\"\\\\E827\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-language1:before {\\r\\n content: \\\"\\\\E810\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-IM1:before {\\r\\n content: \\\"\\\\E829\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-message1:before {\\r\\n content: \\\"\\\\E82A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-pannel:before {\\r\\n content: \\\"\\\\E82B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-department1:before {\\r\\n content: \\\"\\\\E82D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-organization1:before {\\r\\n content: \\\"\\\\E82E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-position1:before {\\r\\n content: \\\"\\\\E82F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-nav-home:before {\\r\\n content: \\\"\\\\E828\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-expand:before {\\r\\n content: \\\"\\\\E826\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-collapse1:before {\\r\\n content: \\\"\\\\E809\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-export:before {\\r\\n content: \\\"\\\\E819\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-import1:before {\\r\\n content: \\\"\\\\E825\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-expand:before {\\r\\n content: \\\"\\\\E811\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-feedBack:before {\\r\\n content: \\\"\\\\E813\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-add:before {\\r\\n content: \\\"\\\\E806\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-collapse:before {\\r\\n content: \\\"\\\\E807\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-edit:before {\\r\\n content: \\\"\\\\E808\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-clearn:before {\\r\\n content: \\\"\\\\E80A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-copy:before {\\r\\n content: \\\"\\\\E80B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-fields:before {\\r\\n content: \\\"\\\\E80C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-refresh:before {\\r\\n content: \\\"\\\\E80D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-preview:before {\\r\\n content: \\\"\\\\E80E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-btn-remove:before {\\r\\n content: \\\"\\\\E80F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-about:before {\\r\\n content: \\\"\\\\E812\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-IM:before {\\r\\n content: \\\"\\\\E814\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-message:before {\\r\\n content: \\\"\\\\E815\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-lockScreen:before {\\r\\n content: \\\"\\\\E816\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-loginOut:before {\\r\\n content: \\\"\\\\E817\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-language:before {\\r\\n content: \\\"\\\\E818\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-nav-next:before {\\r\\n content: \\\"\\\\E81A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-nav-close:before {\\r\\n content: \\\"\\\\E81B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-skins:before {\\r\\n content: \\\"\\\\E81C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-header-userInfo:before {\\r\\n content: \\\"\\\\E81D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-nav-prev:before {\\r\\n content: \\\"\\\\E81E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-department:before {\\r\\n content: \\\"\\\\E81F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-normal:before {\\r\\n content: \\\"\\\\E820\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tree-manage:before {\\r\\n content: \\\"\\\\E821\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-role:before {\\r\\n content: \\\"\\\\E7A1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowCirculate:before {\\r\\n content: \\\"\\\\E805\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-archivalBorrow:before {\\r\\n content: \\\"\\\\E804\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-card:before {\\r\\n content: \\\"\\\\E7E8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-checkbox:before {\\r\\n content: \\\"\\\\E7E9\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-cascader:before {\\r\\n content: \\\"\\\\E7EA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-color:before {\\r\\n content: \\\"\\\\E7EB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-component:before {\\r\\n content: \\\"\\\\E7EC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-date:before {\\r\\n content: \\\"\\\\E7ED\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-input:before {\\r\\n content: \\\"\\\\E7EE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-divider:before {\\r\\n content: \\\"\\\\E7EF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-rate:before {\\r\\n content: \\\"\\\\E7F0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-password:before {\\r\\n content: \\\"\\\\E7F1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-Provinces:before {\\r\\n content: \\\"\\\\E7F2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-dictionary:before {\\r\\n content: \\\"\\\\E7F3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-rich-text:before {\\r\\n content: \\\"\\\\E7F4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-number:before {\\r\\n content: \\\"\\\\E7F5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-switch:before {\\r\\n content: \\\"\\\\E7F6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-slider:before {\\r\\n content: \\\"\\\\E7F7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-select:before {\\r\\n content: \\\"\\\\E7F8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-department:before {\\r\\n content: \\\"\\\\E7F9\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-company:before {\\r\\n content: \\\"\\\\E7FA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-time-range:before {\\r\\n content: \\\"\\\\E7FB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-textarea:before {\\r\\n content: \\\"\\\\E7FC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-date-range:before {\\r\\n content: \\\"\\\\E7FD\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-table:before {\\r\\n content: \\\"\\\\E7FE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-radio:before {\\r\\n content: \\\"\\\\E7FF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-time:before {\\r\\n content: \\\"\\\\E800\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-user:before {\\r\\n content: \\\"\\\\E801\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-jobs:before {\\r\\n content: \\\"\\\\E802\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-generator-upload:before {\\r\\n content: \\\"\\\\E803\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-receiptProcessing:before {\\r\\n content: \\\"\\\\E7DA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-salesSupport:before {\\r\\n content: \\\"\\\\E7DB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-supplementCard:before {\\r\\n content: \\\"\\\\E7DC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-salesOrder:before {\\r\\n content: \\\"\\\\E7DD\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-staffOvertime:before {\\r\\n content: \\\"\\\\E7DE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-quotationApproval:before {\\r\\n content: \\\"\\\\E7DF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-rewardPunishment:before {\\r\\n content: \\\"\\\\E7E0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-violationHandling:before {\\r\\n content: \\\"\\\\E7E1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-workFlow:before {\\r\\n content: \\\"\\\\E7E2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-travelReimbursement:before {\\r\\n content: \\\"\\\\E7E3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-vehicleApply:before {\\r\\n content: \\\"\\\\E7E4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-workContactSheet:before {\\r\\n content: \\\"\\\\E7E5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-warehouseReceipt:before {\\r\\n content: \\\"\\\\E7E6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-travelApply:before {\\r\\n content: \\\"\\\\E7E7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-barCodeExample:before {\\r\\n content: \\\"\\\\E75D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-appDesign:before {\\r\\n content: \\\"\\\\E75E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-appForm:before {\\r\\n content: \\\"\\\\E75F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-bigScreenDesign:before {\\r\\n content: \\\"\\\\E760\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-bigScreenExampl:before {\\r\\n content: \\\"\\\\E761\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-bigDataExample:before {\\r\\n content: \\\"\\\\E762\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataApplication:before {\\r\\n content: \\\"\\\\E763\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataDictionary:before {\\r\\n content: \\\"\\\\E764\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-authorize:before {\\r\\n content: \\\"\\\\E765\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataBackup:before {\\r\\n content: \\\"\\\\E766\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-codeGeneration:before {\\r\\n content: \\\"\\\\E767\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-chartExample:before {\\r\\n content: \\\"\\\\E768\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-bigScreenExample1:before {\\r\\n content: \\\"\\\\E769\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataInterface:before {\\r\\n content: \\\"\\\\E76A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-department:before {\\r\\n content: \\\"\\\\E76B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataModel:before {\\r\\n content: \\\"\\\\E76C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-documentExample:before {\\r\\n content: \\\"\\\\E76D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataSource:before {\\r\\n content: \\\"\\\\E76E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-duties:before {\\r\\n content: \\\"\\\\E76F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsBarAcross:before {\\r\\n content: \\\"\\\\E770\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsColumn:before {\\r\\n content: \\\"\\\\E771\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsGauge:before {\\r\\n content: \\\"\\\\E772\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsLineArea:before {\\r\\n content: \\\"\\\\E773\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsCandlestick:before {\\r\\n content: \\\"\\\\E774\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-dataSync:before {\\r\\n content: \\\"\\\\E775\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-documentPreviewExample:before {\\r\\n content: \\\"\\\\E776\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsFunnel:before {\\r\\n content: \\\"\\\\E777\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsLineBar:before {\\r\\n content: \\\"\\\\E778\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowDesign:before {\\r\\n content: \\\"\\\\E779\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-extend:before {\\r\\n content: \\\"\\\\E77A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-emailExample:before {\\r\\n content: \\\"\\\\E77B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsPie:before {\\r\\n content: \\\"\\\\E77C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsTree:before {\\r\\n content: \\\"\\\\E77D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-echartsScatter:before {\\r\\n content: \\\"\\\\E77E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowLaunch:before {\\r\\n content: \\\"\\\\E77F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowTodo:before {\\r\\n content: \\\"\\\\E780\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowDone:before {\\r\\n content: \\\"\\\\E781\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowEntrust:before {\\r\\n content: \\\"\\\\E782\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowForm:before {\\r\\n content: \\\"\\\\E783\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-formExample1:before {\\r\\n content: \\\"\\\\E784\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-flowMonitor:before {\\r\\n content: \\\"\\\\E785\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-formExample:before {\\r\\n content: \\\"\\\\E786\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsBellcurve:before {\\r\\n content: \\\"\\\\E787\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsArea:before {\\r\\n content: \\\"\\\\E788\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsGauge:before {\\r\\n content: \\\"\\\\E789\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsFunnel:before {\\r\\n content: \\\"\\\\E78A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsLine:before {\\r\\n content: \\\"\\\\E78B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsBullet:before {\\r\\n content: \\\"\\\\E78C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsColumn:before {\\r\\n content: \\\"\\\\E78D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsWordcloud:before {\\r\\n content: \\\"\\\\E78E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-importAndExportExample:before {\\r\\n content: \\\"\\\\E78F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mpMaterial:before {\\r\\n content: \\\"\\\\E790\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highchartsScatter:before {\\r\\n content: \\\"\\\\E791\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mpMenu:before {\\r\\n content: \\\"\\\\E792\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-onlineDevelopment:before {\\r\\n content: \\\"\\\\E793\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mpUser:before {\\r\\n content: \\\"\\\\E794\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-onlineUser:before {\\r\\n content: \\\"\\\\E795\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mpConfig:before {\\r\\n content: \\\"\\\\E796\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mpMessage:before {\\r\\n content: \\\"\\\\E797\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-organization:before {\\r\\n content: \\\"\\\\E798\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-projectExample:before {\\r\\n content: \\\"\\\\E799\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-printExample:before {\\r\\n content: \\\"\\\\E79A\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-portalDesign:before {\\r\\n content: \\\"\\\\E79B\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-position:before {\\r\\n content: \\\"\\\\E79C\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-permission:before {\\r\\n content: \\\"\\\\E79D\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-qyOrg:before {\\r\\n content: \\\"\\\\E79E\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-qyUser:before {\\r\\n content: \\\"\\\\E79F\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-qyMessage:before {\\r\\n content: \\\"\\\\E7A0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-reportExample1:before {\\r\\n content: \\\"\\\\E7A2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-qyConfig:before {\\r\\n content: \\\"\\\\E7A3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-reportExample:before {\\r\\n content: \\\"\\\\E7A4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysBillRule:before {\\r\\n content: \\\"\\\\E7A5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysCache:before {\\r\\n content: \\\"\\\\E7A6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-reportDesign:before {\\r\\n content: \\\"\\\\E7A7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-signetExample:before {\\r\\n content: \\\"\\\\E7A8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysIcon:before {\\r\\n content: \\\"\\\\E7A9\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-scheduleExample:before {\\r\\n content: \\\"\\\\E7AA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysLog:before {\\r\\n content: \\\"\\\\E7AB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysLanguage:before {\\r\\n content: \\\"\\\\E7AC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysMenu:before {\\r\\n content: \\\"\\\\E7AD\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysProvince:before {\\r\\n content: \\\"\\\\E7AE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysConfig:before {\\r\\n content: \\\"\\\\E7AF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysMonitor:before {\\r\\n content: \\\"\\\\E7B0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-user:before {\\r\\n content: \\\"\\\\E7B1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysNotice:before {\\r\\n content: \\\"\\\\E7B2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tableExample:before {\\r\\n content: \\\"\\\\E7B3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-tableExample1:before {\\r\\n content: \\\"\\\\E7B4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-sysQuartz:before {\\r\\n content: \\\"\\\\E7B5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-highcharts-Pie:before {\\r\\n content: \\\"\\\\E7B6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-webDesign:before {\\r\\n content: \\\"\\\\E7B7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-system:before {\\r\\n content: \\\"\\\\E7B8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-weChat:before {\\r\\n content: \\\"\\\\E7B9\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-webForm:before {\\r\\n content: \\\"\\\\E7BA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-mapExample:before {\\r\\n content: \\\"\\\\E7BB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-applyBanquet:before {\\r\\n content: \\\"\\\\E7BC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-batchPack:before {\\r\\n content: \\\"\\\\E7BD\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-contractApproval:before {\\r\\n content: \\\"\\\\E7BE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-batchTable:before {\\r\\n content: \\\"\\\\E7BF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-applyDeliverGoods:before {\\r\\n content: \\\"\\\\E7C0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-orderExample:before {\\r\\n content: \\\"\\\\E7C1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-conBilling:before {\\r\\n content: \\\"\\\\E7C2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-applyMeeting:before {\\r\\n content: \\\"\\\\E7C3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-contractApprovalSheet:before {\\r\\n content: \\\"\\\\E7C4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-crmOrder:before {\\r\\n content: \\\"\\\\E7C5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-documentApproval:before {\\r\\n content: \\\"\\\\E7C6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-articlesWarehous:before {\\r\\n content: \\\"\\\\E7C7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-debitBill:before {\\r\\n content: \\\"\\\\E7C8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-finishedProduct:before {\\r\\n content: \\\"\\\\E7C9\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-documentSigning:before {\\r\\n content: \\\"\\\\E7CA\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-expenseExpenditure:before {\\r\\n content: \\\"\\\\E7CB\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-incomeRecognition:before {\\r\\n content: \\\"\\\\E7CC\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-letterService:before {\\r\\n content: \\\"\\\\E7CD\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-leaveApply:before {\\r\\n content: \\\"\\\\E7CE\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-materialRequisition:before {\\r\\n content: \\\"\\\\E7CF\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-outboundOrder:before {\\r\\n content: \\\"\\\\E7D0\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-paymentApply:before {\\r\\n content: \\\"\\\\E7D1\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-outgoingApply:before {\\r\\n content: \\\"\\\\E7D2\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-postBatchTab:before {\\r\\n content: \\\"\\\\E7D3\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-payDistribution:before {\\r\\n content: \\\"\\\\E7D4\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-officeSupplies:before {\\r\\n content: \\\"\\\\E7D5\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-procurementMaterial:before {\\r\\n content: \\\"\\\\E7D6\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-monthlyReport:before {\\r\\n content: \\\"\\\\E7D7\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-purchaseList:before {\\r\\n content: \\\"\\\\E7D8\\\";\\r\\n}\\r\\n\\r\\n.icon-ym-wf-receiptSign:before {\\r\\n content: \\\"\\\\E7D9\\\";\\r\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/ymFont/iconfont.css?./node_modules/css-loader"); +eval("var escape = __webpack_require__(/*! ../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"@font-face {\\n font-family: \\\"icon-ym\\\";\\n /* Project id 2011706 */\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.woff2?t=1641980211923 */ \"./css/ymFont/iconfont.woff2?t=1641980211923\")) + \") format('woff2'),\\n url(\" + escape(__webpack_require__(/*! ./iconfont.woff?t=1641980211923 */ \"./css/ymFont/iconfont.woff?t=1641980211923\")) + \") format('woff'),\\n url(\" + escape(__webpack_require__(/*! ./iconfont.ttf?t=1641980211923 */ \"./css/ymFont/iconfont.ttf?t=1641980211923\")) + \") format('truetype');\\n}\\n\\n.icon-ym {\\n font-family: \\\"icon-ym\\\" !important;\\n font-size: 24px;\\n font-style: normal;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.icon-ym-report-icon-preview:before {\\n content: \\\"\\\\E655\\\";\\n}\\n\\n.icon-ym-report-icon-page-preview:before {\\n content: \\\"\\\\E668\\\";\\n}\\n\\n.icon-ym-report-icon-doughnut:before {\\n content: \\\"\\\\E66E\\\";\\n}\\n\\n.icon-ym-report-icon-pie:before {\\n content: \\\"\\\\E64D\\\";\\n}\\n\\n.icon-ym-report-icon-polar-plot:before {\\n content: \\\"\\\\E650\\\";\\n}\\n\\n.icon-ym-h5:before {\\n content: \\\"\\\\E682\\\";\\n}\\n\\n.icon-ym-report-icon-merge-cell:before {\\n content: \\\"\\\\E67A\\\";\\n}\\n\\n.icon-ym-android:before {\\n content: \\\"\\\\E67D\\\";\\n}\\n\\n.icon-ym-mac:before {\\n content: \\\"\\\\E67E\\\";\\n}\\n\\n.icon-ym-windows:before {\\n content: \\\"\\\\E67F\\\";\\n}\\n\\n.icon-ym-wechat1:before {\\n content: \\\"\\\\E680\\\";\\n}\\n\\n.icon-ym-ios:before {\\n content: \\\"\\\\E681\\\";\\n}\\n\\n.icon-ym-report-icon-scatter:before {\\n content: \\\"\\\\E66F\\\";\\n}\\n\\n.icon-ym-report-icon-preview-printPreview:before {\\n content: \\\"\\\\E670\\\";\\n}\\n\\n.icon-ym-report-icon-preview-excel-with-paging-sheet:before {\\n content: \\\"\\\\E671\\\";\\n}\\n\\n.icon-ym-report-icon-fontsize:before {\\n content: \\\"\\\\E672\\\";\\n}\\n\\n.icon-ym-report-icon-search-setting:before {\\n content: \\\"\\\\E673\\\";\\n}\\n\\n.icon-ym-report-icon-preview-excel:before {\\n content: \\\"\\\\E674\\\";\\n}\\n\\n.icon-ym-report-icon-undo:before {\\n content: \\\"\\\\E675\\\";\\n}\\n\\n.icon-ym-report-icon-shrink:before {\\n content: \\\"\\\\E676\\\";\\n}\\n\\n.icon-ym-report-icon-configuration:before {\\n content: \\\"\\\\E677\\\";\\n}\\n\\n.icon-ym-report-icon-preview-refresh:before {\\n content: \\\"\\\\E678\\\";\\n}\\n\\n.icon-ym-report-icon-underline:before {\\n content: \\\"\\\\E679\\\";\\n}\\n\\n.icon-ym-report-icon-italic:before {\\n content: \\\"\\\\E67B\\\";\\n}\\n\\n.icon-ym-report-icon-preview-printPdf:before {\\n content: \\\"\\\\E67C\\\";\\n}\\n\\n.icon-ym-report-icon-area:before {\\n content: \\\"\\\\E63E\\\";\\n}\\n\\n.icon-ym-report-icon-arrow-down:before {\\n content: \\\"\\\\E63F\\\";\\n}\\n\\n.icon-ym-report-icon-align-left:before {\\n content: \\\"\\\\E640\\\";\\n}\\n\\n.icon-ym-report-icon-align-top:before {\\n content: \\\"\\\\E641\\\";\\n}\\n\\n.icon-ym-report-icon-border-all:before {\\n content: \\\"\\\\E642\\\";\\n}\\n\\n.icon-ym-report-icon-align-bottom:before {\\n content: \\\"\\\\E643\\\";\\n}\\n\\n.icon-ym-report-icon-align-right:before {\\n content: \\\"\\\\E644\\\";\\n}\\n\\n.icon-ym-report-icon-bold:before {\\n content: \\\"\\\\E645\\\";\\n}\\n\\n.icon-ym-report-icon-border-bottom:before {\\n content: \\\"\\\\E646\\\";\\n}\\n\\n.icon-ym-report-icon-align-center:before {\\n content: \\\"\\\\E647\\\";\\n}\\n\\n.icon-ym-report-icon-border-right:before {\\n content: \\\"\\\\E648\\\";\\n}\\n\\n.icon-ym-report-icon-bubble:before {\\n content: \\\"\\\\E649\\\";\\n}\\n\\n.icon-ym-report-icon-diagram:before {\\n content: \\\"\\\\E64A\\\";\\n}\\n\\n.icon-ym-report-icon-enlarge:before {\\n content: \\\"\\\\E64B\\\";\\n}\\n\\n.icon-ym-report-icon-align-middle:before {\\n content: \\\"\\\\E64C\\\";\\n}\\n\\n.icon-ym-report-icon-preview-pagePre:before {\\n content: \\\"\\\\E64E\\\";\\n}\\n\\n.icon-ym-report-icon-border-left:before {\\n content: \\\"\\\\E64F\\\";\\n}\\n\\n.icon-ym-report-icon-font:before {\\n content: \\\"\\\\E652\\\";\\n}\\n\\n.icon-ym-report-icon-border-top:before {\\n content: \\\"\\\\E653\\\";\\n}\\n\\n.icon-ym-report-icon-preview-pageIndex:before {\\n content: \\\"\\\\E654\\\";\\n}\\n\\n.icon-ym-report-icon-background-color:before {\\n content: \\\"\\\\E656\\\";\\n}\\n\\n.icon-ym-report-icon-border-custom:before {\\n content: \\\"\\\\E657\\\";\\n}\\n\\n.icon-ym-report-icon-horizontal-column:before {\\n content: \\\"\\\\E65C\\\";\\n}\\n\\n.icon-ym-report-icon-column:before {\\n content: \\\"\\\\E65D\\\";\\n}\\n\\n.icon-ym-report-icon-font-type:before {\\n content: \\\"\\\\E65E\\\";\\n}\\n\\n.icon-ym-report-icon-import-excel:before {\\n content: \\\"\\\\E65F\\\";\\n}\\n\\n.icon-ym-report-icon-restore:before {\\n content: \\\"\\\\E662\\\";\\n}\\n\\n.icon-ym-report-icon-oblique-head:before {\\n content: \\\"\\\\E663\\\";\\n}\\n\\n.icon-ym-report-icon-preview-pdf:before {\\n content: \\\"\\\\E664\\\";\\n}\\n\\n.icon-ym-report-icon-preview-pageNext:before {\\n content: \\\"\\\\E665\\\";\\n}\\n\\n.icon-ym-report-icon-preview-print:before {\\n content: \\\"\\\\E666\\\";\\n}\\n\\n.icon-ym-report-icon-preview-pageLast:before {\\n content: \\\"\\\\E667\\\";\\n}\\n\\n.icon-ym-report-icon-preview-excel-paging:before {\\n content: \\\"\\\\E669\\\";\\n}\\n\\n.icon-ym-report-icon-radar:before {\\n content: \\\"\\\\E66A\\\";\\n}\\n\\n.icon-ym-report-icon-border-none:before {\\n content: \\\"\\\\E66B\\\";\\n}\\n\\n.icon-ym-report-icon-preview-word:before {\\n content: \\\"\\\\E66C\\\";\\n}\\n\\n.icon-ym-report-icon-picture:before {\\n content: \\\"\\\\E66D\\\";\\n}\\n\\n.icon-ym-generator-button:before {\\n content: \\\"\\\\E661\\\";\\n}\\n\\n.icon-ym-scanCode1:before {\\n content: \\\"\\\\E651\\\";\\n}\\n\\n.icon-ym-generator-qrcode:before {\\n content: \\\"\\\\E658\\\";\\n}\\n\\n.icon-ym-generator-barcode:before {\\n content: \\\"\\\\E659\\\";\\n}\\n\\n.icon-ym-generator-popup:before {\\n content: \\\"\\\\E65B\\\";\\n}\\n\\n.icon-ym-generator-popup-attr:before {\\n content: \\\"\\\\E660\\\";\\n}\\n\\n.icon-ym-message:before {\\n content: \\\"\\\\E636\\\";\\n}\\n\\n.icon-ym-information:before {\\n content: \\\"\\\\E62E\\\";\\n}\\n\\n.icon-ym-group:before {\\n content: \\\"\\\\E65A\\\";\\n}\\n\\n.icon-ym-flowDone-app:before {\\n content: \\\"\\\\E627\\\";\\n}\\n\\n.icon-ym-flowLaunch-app:before {\\n content: \\\"\\\\E628\\\";\\n}\\n\\n.icon-ym-flowTodo-app:before {\\n content: \\\"\\\\E629\\\";\\n}\\n\\n.icon-ym-flowCopy-app:before {\\n content: \\\"\\\\E62A\\\";\\n}\\n\\n.icon-ym-daiban1:before {\\n content: \\\"\\\\E61D\\\";\\n}\\n\\n.icon-ym-gonggao:before {\\n content: \\\"\\\\E61E\\\";\\n}\\n\\n.icon-ym-lianxi:before {\\n content: \\\"\\\\E620\\\";\\n}\\n\\n.icon-ym-xitong:before {\\n content: \\\"\\\\E621\\\";\\n}\\n\\n.icon-ym-saoyisao:before {\\n content: \\\"\\\\E623\\\";\\n}\\n\\n.icon-ym-erweima:before {\\n content: \\\"\\\\E626\\\";\\n}\\n\\n.icon-ym-yingyong:before {\\n content: \\\"\\\\E61F\\\";\\n}\\n\\n.icon-ym-zhanghao:before {\\n content: \\\"\\\\E622\\\";\\n}\\n\\n.icon-ym-zuzhi:before {\\n content: \\\"\\\\E624\\\";\\n}\\n\\n.icon-ym-shezhi:before {\\n content: \\\"\\\\E625\\\";\\n}\\n\\n.icon-ym-generator-subFlow:before {\\n content: \\\"\\\\E61B\\\";\\n}\\n\\n.icon-ym-node:before {\\n content: \\\"\\\\E61A\\\";\\n}\\n\\n.icon-ym-visual-studio:before {\\n content: \\\"\\\\E887\\\";\\n}\\n\\n.icon-ym-dot-net:before {\\n content: \\\"\\\\EB7E\\\";\\n}\\n\\n.icon-ym-checktriangle:before {\\n content: \\\"\\\\E6D0\\\";\\n}\\n\\n.icon-ym-java:before {\\n content: \\\"\\\\E6E0\\\";\\n}\\n\\n.icon-ym-generator-group:before {\\n content: \\\"\\\\E619\\\";\\n}\\n\\n.icon-ym-generator-flow:before {\\n content: \\\"\\\\E615\\\";\\n}\\n\\n.icon-ym-generator-count:before {\\n content: \\\"\\\\E614\\\";\\n}\\n\\n.icon-ym-generator-tree:before {\\n content: \\\"\\\\E616\\\";\\n}\\n\\n.icon-ym-generator-nature:before {\\n content: \\\"\\\\E617\\\";\\n}\\n\\n.icon-ym-generator-menu:before {\\n content: \\\"\\\\E618\\\";\\n}\\n\\n.icon-ym-zujian:before {\\n content: \\\"\\\\E886\\\";\\n}\\n\\n.icon-ym-daka:before {\\n content: \\\"\\\\E87F\\\";\\n}\\n\\n.icon-ym-dingdang:before {\\n content: \\\"\\\\E880\\\";\\n}\\n\\n.icon-ym-xingcheng:before {\\n content: \\\"\\\\E881\\\";\\n}\\n\\n.icon-ym-huibao:before {\\n content: \\\"\\\\E882\\\";\\n}\\n\\n.icon-ym-saolian:before {\\n content: \\\"\\\\E883\\\";\\n}\\n\\n.icon-ym-gangwei2:before {\\n content: \\\"\\\\E884\\\";\\n}\\n\\n.icon-ym-crm:before {\\n content: \\\"\\\\E885\\\";\\n}\\n\\n.icon-ym-scanCode:before {\\n content: \\\"\\\\E87E\\\";\\n}\\n\\n.icon-ym-generator-kanban:before {\\n content: \\\"\\\\E613\\\";\\n}\\n\\n.icon-ym-generator-notice:before {\\n content: \\\"\\\\E607\\\";\\n}\\n\\n.icon-ym-generator-bar:before {\\n content: \\\"\\\\E608\\\";\\n}\\n\\n.icon-ym-generator-annular:before {\\n content: \\\"\\\\E609\\\";\\n}\\n\\n.icon-ym-generator-function:before {\\n content: \\\"\\\\E60A\\\";\\n}\\n\\n.icon-ym-generator-pie:before {\\n content: \\\"\\\\E60B\\\";\\n}\\n\\n.icon-ym-generator-Panel:before {\\n content: \\\"\\\\E60C\\\";\\n}\\n\\n.icon-ym-generator-email:before {\\n content: \\\"\\\\E60D\\\";\\n}\\n\\n.icon-ym-generator-line:before {\\n content: \\\"\\\\E60E\\\";\\n}\\n\\n.icon-ym-generator-area:before {\\n content: \\\"\\\\E60F\\\";\\n}\\n\\n.icon-ym-generator-todolist:before {\\n content: \\\"\\\\E610\\\";\\n}\\n\\n.icon-ym-generator-todo:before {\\n content: \\\"\\\\E611\\\";\\n}\\n\\n.icon-ym-generator-radar:before {\\n content: \\\"\\\\E612\\\";\\n}\\n\\n.icon-ym-generator-layout:before {\\n content: \\\"\\\\E87D\\\";\\n}\\n\\n.icon-ym-generator-modifier:before {\\n content: \\\"\\\\E875\\\";\\n}\\n\\n.icon-ym-generator-section:before {\\n content: \\\"\\\\E873\\\";\\n}\\n\\n.icon-ym-generator-steps:before {\\n content: \\\"\\\\E874\\\";\\n}\\n\\n.icon-ym-generator-fold:before {\\n content: \\\"\\\\E876\\\";\\n}\\n\\n.icon-ym-generator-founder:before {\\n content: \\\"\\\\E877\\\";\\n}\\n\\n.icon-ym-generator-documents:before {\\n content: \\\"\\\\E878\\\";\\n}\\n\\n.icon-ym-generator-label:before {\\n content: \\\"\\\\E879\\\";\\n}\\n\\n.icon-ym-generator-modifytime:before {\\n content: \\\"\\\\E87A\\\";\\n}\\n\\n.icon-ym-generator-station:before {\\n content: \\\"\\\\E87B\\\";\\n}\\n\\n.icon-ym-generator-createtime:before {\\n content: \\\"\\\\E87C\\\";\\n}\\n\\n.icon-ym-darg:before {\\n content: \\\"\\\\E702\\\";\\n}\\n\\n.icon-ym-compress-screen1:before {\\n content: \\\"\\\\E871\\\";\\n}\\n\\n.icon-ym-full-screen1:before {\\n content: \\\"\\\\E872\\\";\\n}\\n\\n.icon-ym-compress-screen:before {\\n content: \\\"\\\\E824\\\";\\n}\\n\\n.icon-ym-full-screen:before {\\n content: \\\"\\\\E870\\\";\\n}\\n\\n.icon-ym-options:before {\\n content: \\\"\\\\E822\\\";\\n}\\n\\n.icon-ym-Refresh:before {\\n content: \\\"\\\\E823\\\";\\n}\\n\\n.icon-ym-options1:before {\\n content: \\\"\\\\E86F\\\";\\n}\\n\\n.icon-ym-Refresh1:before {\\n content: \\\"\\\\E82C\\\";\\n}\\n\\n.icon-ym-tree-position2:before {\\n content: \\\"\\\\E86D\\\";\\n}\\n\\n.icon-ym-tree-department2:before {\\n content: \\\"\\\\E86B\\\";\\n}\\n\\n.icon-ym-tree-organization3:before {\\n content: \\\"\\\\E86C\\\";\\n}\\n\\n.icon-ym-tree-user2:before {\\n content: \\\"\\\\E86E\\\";\\n}\\n\\n.icon-ym-tree-normal1:before {\\n content: \\\"\\\\E842\\\";\\n}\\n\\n.icon-ym-file-xml:before {\\n content: \\\"\\\\E832\\\";\\n}\\n\\n.icon-ym-file-csv1:before {\\n content: \\\"\\\\E839\\\";\\n}\\n\\n.icon-ym-file-html1:before {\\n content: \\\"\\\\E86A\\\";\\n}\\n\\n.icon-ym-file-eps:before {\\n content: \\\"\\\\E834\\\";\\n}\\n\\n.icon-ym-file-code:before {\\n content: \\\"\\\\E830\\\";\\n}\\n\\n.icon-ym-file-blank:before {\\n content: \\\"\\\\E831\\\";\\n}\\n\\n.icon-ym-file-ai:before {\\n content: \\\"\\\\E833\\\";\\n}\\n\\n.icon-ym-file-excel:before {\\n content: \\\"\\\\E835\\\";\\n}\\n\\n.icon-ym-file-audio:before {\\n content: \\\"\\\\E836\\\";\\n}\\n\\n.icon-ym-file-movie:before {\\n content: \\\"\\\\E838\\\";\\n}\\n\\n.icon-ym-file-image1:before {\\n content: \\\"\\\\E83A\\\";\\n}\\n\\n.icon-ym-file-rar:before {\\n content: \\\"\\\\E83B\\\";\\n}\\n\\n.icon-ym-file-pdf:before {\\n content: \\\"\\\\E83D\\\";\\n}\\n\\n.icon-ym-file-text:before {\\n content: \\\"\\\\E83E\\\";\\n}\\n\\n.icon-ym-file-ppt:before {\\n content: \\\"\\\\E83F\\\";\\n}\\n\\n.icon-ym-file-psd:before {\\n content: \\\"\\\\E840\\\";\\n}\\n\\n.icon-ym-file-video:before {\\n content: \\\"\\\\E841\\\";\\n}\\n\\n.icon-ym-file-visio:before {\\n content: \\\"\\\\E843\\\";\\n}\\n\\n.icon-ym-file-word:before {\\n content: \\\"\\\\E844\\\";\\n}\\n\\n.icon-ym-file-zip:before {\\n content: \\\"\\\\E869\\\";\\n}\\n\\n.icon-ym-file-image:before {\\n content: \\\"\\\\E837\\\";\\n}\\n\\n.icon-ym-file-photo:before {\\n content: \\\"\\\\E83C\\\";\\n}\\n\\n.icon-ym-extend-bus:before {\\n content: \\\"\\\\E845\\\";\\n}\\n\\n.icon-ym-extend-ambulance:before {\\n content: \\\"\\\\E846\\\";\\n}\\n\\n.icon-ym-extend-bar-chart:before {\\n content: \\\"\\\\E847\\\";\\n}\\n\\n.icon-ym-extend-bicycle:before {\\n content: \\\"\\\\E848\\\";\\n}\\n\\n.icon-ym-extend-car:before {\\n content: \\\"\\\\E849\\\";\\n}\\n\\n.icon-ym-extend-check-circle-o:before {\\n content: \\\"\\\\E84A\\\";\\n}\\n\\n.icon-ym-extend-circle:before {\\n content: \\\"\\\\E84B\\\";\\n}\\n\\n.icon-ym-extend-circle-o:before {\\n content: \\\"\\\\E84C\\\";\\n}\\n\\n.icon-ym-extend-cog:before {\\n content: \\\"\\\\E84D\\\";\\n}\\n\\n.icon-ym-extend-clock:before {\\n content: \\\"\\\\E84E\\\";\\n}\\n\\n.icon-ym-extend-edit:before {\\n content: \\\"\\\\E84F\\\";\\n}\\n\\n.icon-ym-extend-envelope-open-o:before {\\n content: \\\"\\\\E850\\\";\\n}\\n\\n.icon-ym-extend-eye:before {\\n content: \\\"\\\\E851\\\";\\n}\\n\\n.icon-ym-extend-folder-open:before {\\n content: \\\"\\\\E852\\\";\\n}\\n\\n.icon-ym-extend-exclamation-triangle:before {\\n content: \\\"\\\\E853\\\";\\n}\\n\\n.icon-ym-extend-envelope:before {\\n content: \\\"\\\\E854\\\";\\n}\\n\\n.icon-ym-extend-minus-circle:before {\\n content: \\\"\\\\E855\\\";\\n}\\n\\n.icon-ym-extend-meh:before {\\n content: \\\"\\\\E856\\\";\\n}\\n\\n.icon-ym-extend-folder:before {\\n content: \\\"\\\\E857\\\";\\n}\\n\\n.icon-ym-extend-history:before {\\n content: \\\"\\\\E858\\\";\\n}\\n\\n.icon-ym-extend-mail-forward:before {\\n content: \\\"\\\\E859\\\";\\n}\\n\\n.icon-ym-extend-paperclip:before {\\n content: \\\"\\\\E85A\\\";\\n}\\n\\n.icon-ym-extend-rocket:before {\\n content: \\\"\\\\E85B\\\";\\n}\\n\\n.icon-ym-extend-plane:before {\\n content: \\\"\\\\E85C\\\";\\n}\\n\\n.icon-ym-extend-pencil:before {\\n content: \\\"\\\\E85D\\\";\\n}\\n\\n.icon-ym-extend-save:before {\\n content: \\\"\\\\E85E\\\";\\n}\\n\\n.icon-ym-extend-motorcycle:before {\\n content: \\\"\\\\E85F\\\";\\n}\\n\\n.icon-ym-extend-paper-plane:before {\\n content: \\\"\\\\E860\\\";\\n}\\n\\n.icon-ym-extend-star:before {\\n content: \\\"\\\\E861\\\";\\n}\\n\\n.icon-ym-extend-trash:before {\\n content: \\\"\\\\E862\\\";\\n}\\n\\n.icon-ym-extend-train:before {\\n content: \\\"\\\\E863\\\";\\n}\\n\\n.icon-ym-extend-subway:before {\\n content: \\\"\\\\E864\\\";\\n}\\n\\n.icon-ym-extend-truck:before {\\n content: \\\"\\\\E865\\\";\\n}\\n\\n.icon-ym-extend-star-o:before {\\n content: \\\"\\\\E866\\\";\\n}\\n\\n.icon-ym-extend-share:before {\\n content: \\\"\\\\E867\\\";\\n}\\n\\n.icon-ym-extend-thumbs-up:before {\\n content: \\\"\\\\E868\\\";\\n}\\n\\n.icon-ym-tree-manage1:before {\\n content: \\\"\\\\E827\\\";\\n}\\n\\n.icon-ym-header-language1:before {\\n content: \\\"\\\\E810\\\";\\n}\\n\\n.icon-ym-header-IM1:before {\\n content: \\\"\\\\E829\\\";\\n}\\n\\n.icon-ym-header-message1:before {\\n content: \\\"\\\\E82A\\\";\\n}\\n\\n.icon-ym-header-pannel:before {\\n content: \\\"\\\\E82B\\\";\\n}\\n\\n.icon-ym-tree-department1:before {\\n content: \\\"\\\\E82D\\\";\\n}\\n\\n.icon-ym-tree-organization1:before {\\n content: \\\"\\\\E82E\\\";\\n}\\n\\n.icon-ym-tree-position1:before {\\n content: \\\"\\\\E82F\\\";\\n}\\n\\n.icon-ym-nav-home:before {\\n content: \\\"\\\\E828\\\";\\n}\\n\\n.icon-ym-header-expand:before {\\n content: \\\"\\\\E826\\\";\\n}\\n\\n.icon-ym-header-collapse1:before {\\n content: \\\"\\\\E809\\\";\\n}\\n\\n.icon-ym-btn-export:before {\\n content: \\\"\\\\E819\\\";\\n}\\n\\n.icon-ym-btn-import1:before {\\n content: \\\"\\\\E825\\\";\\n}\\n\\n.icon-ym-btn-expand:before {\\n content: \\\"\\\\E811\\\";\\n}\\n\\n.icon-ym-header-feedBack:before {\\n content: \\\"\\\\E813\\\";\\n}\\n\\n.icon-ym-btn-add:before {\\n content: \\\"\\\\E806\\\";\\n}\\n\\n.icon-ym-btn-collapse:before {\\n content: \\\"\\\\E807\\\";\\n}\\n\\n.icon-ym-btn-edit:before {\\n content: \\\"\\\\E808\\\";\\n}\\n\\n.icon-ym-btn-clearn:before {\\n content: \\\"\\\\E80A\\\";\\n}\\n\\n.icon-ym-btn-copy:before {\\n content: \\\"\\\\E80B\\\";\\n}\\n\\n.icon-ym-btn-fields:before {\\n content: \\\"\\\\E80C\\\";\\n}\\n\\n.icon-ym-btn-refresh:before {\\n content: \\\"\\\\E80D\\\";\\n}\\n\\n.icon-ym-btn-preview:before {\\n content: \\\"\\\\E80E\\\";\\n}\\n\\n.icon-ym-btn-remove:before {\\n content: \\\"\\\\E80F\\\";\\n}\\n\\n.icon-ym-header-about:before {\\n content: \\\"\\\\E812\\\";\\n}\\n\\n.icon-ym-header-IM:before {\\n content: \\\"\\\\E814\\\";\\n}\\n\\n.icon-ym-header-message:before {\\n content: \\\"\\\\E815\\\";\\n}\\n\\n.icon-ym-header-lockScreen:before {\\n content: \\\"\\\\E816\\\";\\n}\\n\\n.icon-ym-header-loginOut:before {\\n content: \\\"\\\\E817\\\";\\n}\\n\\n.icon-ym-header-language:before {\\n content: \\\"\\\\E818\\\";\\n}\\n\\n.icon-ym-nav-next:before {\\n content: \\\"\\\\E81A\\\";\\n}\\n\\n.icon-ym-nav-close:before {\\n content: \\\"\\\\E81B\\\";\\n}\\n\\n.icon-ym-header-skins:before {\\n content: \\\"\\\\E81C\\\";\\n}\\n\\n.icon-ym-header-userInfo:before {\\n content: \\\"\\\\E81D\\\";\\n}\\n\\n.icon-ym-nav-prev:before {\\n content: \\\"\\\\E81E\\\";\\n}\\n\\n.icon-ym-tree-department:before {\\n content: \\\"\\\\E81F\\\";\\n}\\n\\n.icon-ym-tree-normal:before {\\n content: \\\"\\\\E820\\\";\\n}\\n\\n.icon-ym-tree-manage:before {\\n content: \\\"\\\\E821\\\";\\n}\\n\\n.icon-ym-role:before {\\n content: \\\"\\\\E7A1\\\";\\n}\\n\\n.icon-ym-flowCirculate:before {\\n content: \\\"\\\\E805\\\";\\n}\\n\\n.icon-ym-wf-archivalBorrow:before {\\n content: \\\"\\\\E804\\\";\\n}\\n\\n.icon-ym-generator-card:before {\\n content: \\\"\\\\E7E8\\\";\\n}\\n\\n.icon-ym-generator-checkbox:before {\\n content: \\\"\\\\E7E9\\\";\\n}\\n\\n.icon-ym-generator-cascader:before {\\n content: \\\"\\\\E7EA\\\";\\n}\\n\\n.icon-ym-generator-color:before {\\n content: \\\"\\\\E7EB\\\";\\n}\\n\\n.icon-ym-generator-component:before {\\n content: \\\"\\\\E7EC\\\";\\n}\\n\\n.icon-ym-generator-date:before {\\n content: \\\"\\\\E7ED\\\";\\n}\\n\\n.icon-ym-generator-input:before {\\n content: \\\"\\\\E7EE\\\";\\n}\\n\\n.icon-ym-generator-divider:before {\\n content: \\\"\\\\E7EF\\\";\\n}\\n\\n.icon-ym-generator-rate:before {\\n content: \\\"\\\\E7F0\\\";\\n}\\n\\n.icon-ym-generator-password:before {\\n content: \\\"\\\\E7F1\\\";\\n}\\n\\n.icon-ym-generator-Provinces:before {\\n content: \\\"\\\\E7F2\\\";\\n}\\n\\n.icon-ym-generator-dictionary:before {\\n content: \\\"\\\\E7F3\\\";\\n}\\n\\n.icon-ym-generator-rich-text:before {\\n content: \\\"\\\\E7F4\\\";\\n}\\n\\n.icon-ym-generator-number:before {\\n content: \\\"\\\\E7F5\\\";\\n}\\n\\n.icon-ym-generator-switch:before {\\n content: \\\"\\\\E7F6\\\";\\n}\\n\\n.icon-ym-generator-slider:before {\\n content: \\\"\\\\E7F7\\\";\\n}\\n\\n.icon-ym-generator-select:before {\\n content: \\\"\\\\E7F8\\\";\\n}\\n\\n.icon-ym-generator-department:before {\\n content: \\\"\\\\E7F9\\\";\\n}\\n\\n.icon-ym-generator-company:before {\\n content: \\\"\\\\E7FA\\\";\\n}\\n\\n.icon-ym-generator-time-range:before {\\n content: \\\"\\\\E7FB\\\";\\n}\\n\\n.icon-ym-generator-textarea:before {\\n content: \\\"\\\\E7FC\\\";\\n}\\n\\n.icon-ym-generator-date-range:before {\\n content: \\\"\\\\E7FD\\\";\\n}\\n\\n.icon-ym-generator-table:before {\\n content: \\\"\\\\E7FE\\\";\\n}\\n\\n.icon-ym-generator-radio:before {\\n content: \\\"\\\\E7FF\\\";\\n}\\n\\n.icon-ym-generator-time:before {\\n content: \\\"\\\\E800\\\";\\n}\\n\\n.icon-ym-generator-user:before {\\n content: \\\"\\\\E801\\\";\\n}\\n\\n.icon-ym-generator-jobs:before {\\n content: \\\"\\\\E802\\\";\\n}\\n\\n.icon-ym-generator-upload:before {\\n content: \\\"\\\\E803\\\";\\n}\\n\\n.icon-ym-wf-receiptProcessing:before {\\n content: \\\"\\\\E7DA\\\";\\n}\\n\\n.icon-ym-wf-salesSupport:before {\\n content: \\\"\\\\E7DB\\\";\\n}\\n\\n.icon-ym-wf-supplementCard:before {\\n content: \\\"\\\\E7DC\\\";\\n}\\n\\n.icon-ym-wf-salesOrder:before {\\n content: \\\"\\\\E7DD\\\";\\n}\\n\\n.icon-ym-wf-staffOvertime:before {\\n content: \\\"\\\\E7DE\\\";\\n}\\n\\n.icon-ym-wf-quotationApproval:before {\\n content: \\\"\\\\E7DF\\\";\\n}\\n\\n.icon-ym-wf-rewardPunishment:before {\\n content: \\\"\\\\E7E0\\\";\\n}\\n\\n.icon-ym-wf-violationHandling:before {\\n content: \\\"\\\\E7E1\\\";\\n}\\n\\n.icon-ym-workFlow:before {\\n content: \\\"\\\\E7E2\\\";\\n}\\n\\n.icon-ym-wf-travelReimbursement:before {\\n content: \\\"\\\\E7E3\\\";\\n}\\n\\n.icon-ym-wf-vehicleApply:before {\\n content: \\\"\\\\E7E4\\\";\\n}\\n\\n.icon-ym-wf-workContactSheet:before {\\n content: \\\"\\\\E7E5\\\";\\n}\\n\\n.icon-ym-wf-warehouseReceipt:before {\\n content: \\\"\\\\E7E6\\\";\\n}\\n\\n.icon-ym-wf-travelApply:before {\\n content: \\\"\\\\E7E7\\\";\\n}\\n\\n.icon-ym-barCodeExample:before {\\n content: \\\"\\\\E75D\\\";\\n}\\n\\n.icon-ym-appDesign:before {\\n content: \\\"\\\\E75E\\\";\\n}\\n\\n.icon-ym-appForm:before {\\n content: \\\"\\\\E75F\\\";\\n}\\n\\n.icon-ym-bigScreenDesign:before {\\n content: \\\"\\\\E760\\\";\\n}\\n\\n.icon-ym-bigScreenExampl:before {\\n content: \\\"\\\\E761\\\";\\n}\\n\\n.icon-ym-bigDataExample:before {\\n content: \\\"\\\\E762\\\";\\n}\\n\\n.icon-ym-dataApplication:before {\\n content: \\\"\\\\E763\\\";\\n}\\n\\n.icon-ym-dataDictionary:before {\\n content: \\\"\\\\E764\\\";\\n}\\n\\n.icon-ym-authorize:before {\\n content: \\\"\\\\E765\\\";\\n}\\n\\n.icon-ym-dataBackup:before {\\n content: \\\"\\\\E766\\\";\\n}\\n\\n.icon-ym-codeGeneration:before {\\n content: \\\"\\\\E767\\\";\\n}\\n\\n.icon-ym-chartExample:before {\\n content: \\\"\\\\E768\\\";\\n}\\n\\n.icon-ym-bigScreenExample1:before {\\n content: \\\"\\\\E769\\\";\\n}\\n\\n.icon-ym-dataInterface:before {\\n content: \\\"\\\\E76A\\\";\\n}\\n\\n.icon-ym-department:before {\\n content: \\\"\\\\E76B\\\";\\n}\\n\\n.icon-ym-dataModel:before {\\n content: \\\"\\\\E76C\\\";\\n}\\n\\n.icon-ym-documentExample:before {\\n content: \\\"\\\\E76D\\\";\\n}\\n\\n.icon-ym-dataSource:before {\\n content: \\\"\\\\E76E\\\";\\n}\\n\\n.icon-ym-duties:before {\\n content: \\\"\\\\E76F\\\";\\n}\\n\\n.icon-ym-echartsBarAcross:before {\\n content: \\\"\\\\E770\\\";\\n}\\n\\n.icon-ym-echartsColumn:before {\\n content: \\\"\\\\E771\\\";\\n}\\n\\n.icon-ym-echartsGauge:before {\\n content: \\\"\\\\E772\\\";\\n}\\n\\n.icon-ym-echartsLineArea:before {\\n content: \\\"\\\\E773\\\";\\n}\\n\\n.icon-ym-echartsCandlestick:before {\\n content: \\\"\\\\E774\\\";\\n}\\n\\n.icon-ym-dataSync:before {\\n content: \\\"\\\\E775\\\";\\n}\\n\\n.icon-ym-documentPreviewExample:before {\\n content: \\\"\\\\E776\\\";\\n}\\n\\n.icon-ym-echartsFunnel:before {\\n content: \\\"\\\\E777\\\";\\n}\\n\\n.icon-ym-echartsLineBar:before {\\n content: \\\"\\\\E778\\\";\\n}\\n\\n.icon-ym-flowDesign:before {\\n content: \\\"\\\\E779\\\";\\n}\\n\\n.icon-ym-extend:before {\\n content: \\\"\\\\E77A\\\";\\n}\\n\\n.icon-ym-emailExample:before {\\n content: \\\"\\\\E77B\\\";\\n}\\n\\n.icon-ym-echartsPie:before {\\n content: \\\"\\\\E77C\\\";\\n}\\n\\n.icon-ym-echartsTree:before {\\n content: \\\"\\\\E77D\\\";\\n}\\n\\n.icon-ym-echartsScatter:before {\\n content: \\\"\\\\E77E\\\";\\n}\\n\\n.icon-ym-flowLaunch:before {\\n content: \\\"\\\\E77F\\\";\\n}\\n\\n.icon-ym-flowTodo:before {\\n content: \\\"\\\\E780\\\";\\n}\\n\\n.icon-ym-flowDone:before {\\n content: \\\"\\\\E781\\\";\\n}\\n\\n.icon-ym-flowEntrust:before {\\n content: \\\"\\\\E782\\\";\\n}\\n\\n.icon-ym-flowForm:before {\\n content: \\\"\\\\E783\\\";\\n}\\n\\n.icon-ym-formExample1:before {\\n content: \\\"\\\\E784\\\";\\n}\\n\\n.icon-ym-flowMonitor:before {\\n content: \\\"\\\\E785\\\";\\n}\\n\\n.icon-ym-formExample:before {\\n content: \\\"\\\\E786\\\";\\n}\\n\\n.icon-ym-highchartsBellcurve:before {\\n content: \\\"\\\\E787\\\";\\n}\\n\\n.icon-ym-highchartsArea:before {\\n content: \\\"\\\\E788\\\";\\n}\\n\\n.icon-ym-highchartsGauge:before {\\n content: \\\"\\\\E789\\\";\\n}\\n\\n.icon-ym-highchartsFunnel:before {\\n content: \\\"\\\\E78A\\\";\\n}\\n\\n.icon-ym-highchartsLine:before {\\n content: \\\"\\\\E78B\\\";\\n}\\n\\n.icon-ym-highchartsBullet:before {\\n content: \\\"\\\\E78C\\\";\\n}\\n\\n.icon-ym-highchartsColumn:before {\\n content: \\\"\\\\E78D\\\";\\n}\\n\\n.icon-ym-highchartsWordcloud:before {\\n content: \\\"\\\\E78E\\\";\\n}\\n\\n.icon-ym-importAndExportExample:before {\\n content: \\\"\\\\E78F\\\";\\n}\\n\\n.icon-ym-mpMaterial:before {\\n content: \\\"\\\\E790\\\";\\n}\\n\\n.icon-ym-highchartsScatter:before {\\n content: \\\"\\\\E791\\\";\\n}\\n\\n.icon-ym-mpMenu:before {\\n content: \\\"\\\\E792\\\";\\n}\\n\\n.icon-ym-onlineDevelopment:before {\\n content: \\\"\\\\E793\\\";\\n}\\n\\n.icon-ym-mpUser:before {\\n content: \\\"\\\\E794\\\";\\n}\\n\\n.icon-ym-onlineUser:before {\\n content: \\\"\\\\E795\\\";\\n}\\n\\n.icon-ym-mpConfig:before {\\n content: \\\"\\\\E796\\\";\\n}\\n\\n.icon-ym-mpMessage:before {\\n content: \\\"\\\\E797\\\";\\n}\\n\\n.icon-ym-organization:before {\\n content: \\\"\\\\E798\\\";\\n}\\n\\n.icon-ym-projectExample:before {\\n content: \\\"\\\\E799\\\";\\n}\\n\\n.icon-ym-printExample:before {\\n content: \\\"\\\\E79A\\\";\\n}\\n\\n.icon-ym-portalDesign:before {\\n content: \\\"\\\\E79B\\\";\\n}\\n\\n.icon-ym-position:before {\\n content: \\\"\\\\E79C\\\";\\n}\\n\\n.icon-ym-permission:before {\\n content: \\\"\\\\E79D\\\";\\n}\\n\\n.icon-ym-qyOrg:before {\\n content: \\\"\\\\E79E\\\";\\n}\\n\\n.icon-ym-qyUser:before {\\n content: \\\"\\\\E79F\\\";\\n}\\n\\n.icon-ym-qyMessage:before {\\n content: \\\"\\\\E7A0\\\";\\n}\\n\\n.icon-ym-reportExample1:before {\\n content: \\\"\\\\E7A2\\\";\\n}\\n\\n.icon-ym-qyConfig:before {\\n content: \\\"\\\\E7A3\\\";\\n}\\n\\n.icon-ym-reportExample:before {\\n content: \\\"\\\\E7A4\\\";\\n}\\n\\n.icon-ym-sysBillRule:before {\\n content: \\\"\\\\E7A5\\\";\\n}\\n\\n.icon-ym-sysCache:before {\\n content: \\\"\\\\E7A6\\\";\\n}\\n\\n.icon-ym-reportDesign:before {\\n content: \\\"\\\\E7A7\\\";\\n}\\n\\n.icon-ym-signetExample:before {\\n content: \\\"\\\\E7A8\\\";\\n}\\n\\n.icon-ym-sysIcon:before {\\n content: \\\"\\\\E7A9\\\";\\n}\\n\\n.icon-ym-scheduleExample:before {\\n content: \\\"\\\\E7AA\\\";\\n}\\n\\n.icon-ym-sysLog:before {\\n content: \\\"\\\\E7AB\\\";\\n}\\n\\n.icon-ym-sysLanguage:before {\\n content: \\\"\\\\E7AC\\\";\\n}\\n\\n.icon-ym-sysMenu:before {\\n content: \\\"\\\\E7AD\\\";\\n}\\n\\n.icon-ym-sysProvince:before {\\n content: \\\"\\\\E7AE\\\";\\n}\\n\\n.icon-ym-sysConfig:before {\\n content: \\\"\\\\E7AF\\\";\\n}\\n\\n.icon-ym-sysMonitor:before {\\n content: \\\"\\\\E7B0\\\";\\n}\\n\\n.icon-ym-user:before {\\n content: \\\"\\\\E7B1\\\";\\n}\\n\\n.icon-ym-sysNotice:before {\\n content: \\\"\\\\E7B2\\\";\\n}\\n\\n.icon-ym-tableExample:before {\\n content: \\\"\\\\E7B3\\\";\\n}\\n\\n.icon-ym-tableExample1:before {\\n content: \\\"\\\\E7B4\\\";\\n}\\n\\n.icon-ym-sysQuartz:before {\\n content: \\\"\\\\E7B5\\\";\\n}\\n\\n.icon-ym-highcharts-Pie:before {\\n content: \\\"\\\\E7B6\\\";\\n}\\n\\n.icon-ym-webDesign:before {\\n content: \\\"\\\\E7B7\\\";\\n}\\n\\n.icon-ym-system:before {\\n content: \\\"\\\\E7B8\\\";\\n}\\n\\n.icon-ym-weChat:before {\\n content: \\\"\\\\E7B9\\\";\\n}\\n\\n.icon-ym-webForm:before {\\n content: \\\"\\\\E7BA\\\";\\n}\\n\\n.icon-ym-mapExample:before {\\n content: \\\"\\\\E7BB\\\";\\n}\\n\\n.icon-ym-wf-applyBanquet:before {\\n content: \\\"\\\\E7BC\\\";\\n}\\n\\n.icon-ym-wf-batchPack:before {\\n content: \\\"\\\\E7BD\\\";\\n}\\n\\n.icon-ym-wf-contractApproval:before {\\n content: \\\"\\\\E7BE\\\";\\n}\\n\\n.icon-ym-wf-batchTable:before {\\n content: \\\"\\\\E7BF\\\";\\n}\\n\\n.icon-ym-wf-applyDeliverGoods:before {\\n content: \\\"\\\\E7C0\\\";\\n}\\n\\n.icon-ym-orderExample:before {\\n content: \\\"\\\\E7C1\\\";\\n}\\n\\n.icon-ym-wf-conBilling:before {\\n content: \\\"\\\\E7C2\\\";\\n}\\n\\n.icon-ym-wf-applyMeeting:before {\\n content: \\\"\\\\E7C3\\\";\\n}\\n\\n.icon-ym-wf-contractApprovalSheet:before {\\n content: \\\"\\\\E7C4\\\";\\n}\\n\\n.icon-ym-wf-crmOrder:before {\\n content: \\\"\\\\E7C5\\\";\\n}\\n\\n.icon-ym-wf-documentApproval:before {\\n content: \\\"\\\\E7C6\\\";\\n}\\n\\n.icon-ym-wf-articlesWarehous:before {\\n content: \\\"\\\\E7C7\\\";\\n}\\n\\n.icon-ym-wf-debitBill:before {\\n content: \\\"\\\\E7C8\\\";\\n}\\n\\n.icon-ym-wf-finishedProduct:before {\\n content: \\\"\\\\E7C9\\\";\\n}\\n\\n.icon-ym-wf-documentSigning:before {\\n content: \\\"\\\\E7CA\\\";\\n}\\n\\n.icon-ym-wf-expenseExpenditure:before {\\n content: \\\"\\\\E7CB\\\";\\n}\\n\\n.icon-ym-wf-incomeRecognition:before {\\n content: \\\"\\\\E7CC\\\";\\n}\\n\\n.icon-ym-wf-letterService:before {\\n content: \\\"\\\\E7CD\\\";\\n}\\n\\n.icon-ym-wf-leaveApply:before {\\n content: \\\"\\\\E7CE\\\";\\n}\\n\\n.icon-ym-wf-materialRequisition:before {\\n content: \\\"\\\\E7CF\\\";\\n}\\n\\n.icon-ym-wf-outboundOrder:before {\\n content: \\\"\\\\E7D0\\\";\\n}\\n\\n.icon-ym-wf-paymentApply:before {\\n content: \\\"\\\\E7D1\\\";\\n}\\n\\n.icon-ym-wf-outgoingApply:before {\\n content: \\\"\\\\E7D2\\\";\\n}\\n\\n.icon-ym-wf-postBatchTab:before {\\n content: \\\"\\\\E7D3\\\";\\n}\\n\\n.icon-ym-wf-payDistribution:before {\\n content: \\\"\\\\E7D4\\\";\\n}\\n\\n.icon-ym-wf-officeSupplies:before {\\n content: \\\"\\\\E7D5\\\";\\n}\\n\\n.icon-ym-wf-procurementMaterial:before {\\n content: \\\"\\\\E7D6\\\";\\n}\\n\\n.icon-ym-wf-monthlyReport:before {\\n content: \\\"\\\\E7D7\\\";\\n}\\n\\n.icon-ym-wf-purchaseList:before {\\n content: \\\"\\\\E7D8\\\";\\n}\\n\\n.icon-ym-wf-receiptSign:before {\\n content: \\\"\\\\E7D9\\\";\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./css/ymFont/iconfont.css?./node_modules/css-loader"); /***/ }), @@ -1217,7 +1217,7 @@ eval("var escape = __webpack_require__(/*! ../../css-loader/lib/url/escape.js */ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".tree {\\r\\n}\\r\\n.tree li {\\r\\n list-style-type:none;\\r\\n margin:0;\\r\\n padding:2px 5px 0 0px;\\r\\n position:relative;\\r\\n line-height: 1;\\r\\n}\\r\\n.tree li::before, .tree li::after {\\r\\n content:'';\\r\\n left:-35px;\\r\\n position:absolute;\\r\\n right:auto\\r\\n}\\r\\n.tree li::before {\\r\\n border-left:1px solid #999;\\r\\n bottom:50px;\\r\\n height:100%;\\r\\n top:-1px;\\r\\n width:1px;\\r\\n}\\r\\n.tree li div li::before {\\r\\n border:none;\\r\\n}\\r\\n.tree li::after {\\r\\n border-top:1px solid #999;\\r\\n height:20px;\\r\\n top:23px;\\r\\n width:15px\\r\\n}\\r\\n.tree li div li::after {\\r\\n border:none\\r\\n}\\r\\n.tree li {\\r\\n margin-top:-5px;\\r\\n}\\r\\n.tree li span {\\r\\n border:1px solid transparent;\\r\\n display:block;\\r\\n margin:10px 0px 5px -20px;\\r\\n cursor:pointer;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.tree li.parent_li>span {\\r\\n}\\r\\n.tree>ul>li::before, .tree>ul>li::after {\\r\\n border:0\\r\\n}\\r\\n.tree li:last-child::before {\\r\\n height:30px;\\r\\n}\\r\\n.tree-active{\\r\\n border:solid 1px #2196F3 !important\\r\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/tree/css/tree.css?./node_modules/css-loader"); +eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".tree {\\n}\\n.tree li {\\n list-style-type:none;\\n margin:0;\\n padding:2px 5px 0 0px;\\n position:relative;\\n line-height: 1;\\n}\\n.tree li::before, .tree li::after {\\n content:'';\\n left:-35px;\\n position:absolute;\\n right:auto\\n}\\n.tree li::before {\\n border-left:1px solid #999;\\n bottom:50px;\\n height:100%;\\n top:-1px;\\n width:1px;\\n}\\n.tree li div li::before {\\n border:none;\\n}\\n.tree li::after {\\n border-top:1px solid #999;\\n height:20px;\\n top:23px;\\n width:15px\\n}\\n.tree li div li::after {\\n border:none\\n}\\n.tree li {\\n margin-top:-5px;\\n}\\n.tree li span {\\n border:1px solid transparent;\\n display:block;\\n margin:10px 0px 5px -20px;\\n cursor:pointer;\\n white-space: nowrap;\\n}\\n.tree li.parent_li>span {\\n}\\n.tree>ul>li::before, .tree>ul>li::after {\\n border:0\\n}\\n.tree li:last-child::before {\\n height:30px;\\n}\\n.tree-active{\\n border:solid 1px #2196F3 !important\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/tree/css/tree.css?./node_modules/css-loader"); /***/ }), @@ -4934,7 +4934,7 @@ eval("var __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * ZeroClipboard\n * The ZeroClipbo /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Context; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\nclass Context {\n constructor(reportTable) {\n this.reportTable = reportTable;\n this.reportDef = reportTable.reportDef;\n this.baseInfo = reportTable;\n this.hot = reportTable.hot;\n this.hot.context = this;\n this._initLetters();\n this.cellsMap = reportTable.cellsMap;\n this.rowHeaders = [];\n }\n\n _initLetters() {\n const letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\n this.LETTERS = letters.concat([]);\n for (let i = 0; i < letters.length; i++) {\n let name = letters[i];\n for (let j = 0; j < letters.length; j++) {\n this.LETTERS.push(name + letters[j]);\n }\n }\n }\n\n adjustInsertRowHeaders(row) {\n for (let header of this.rowHeaders) {\n if (header.rowNumber >= row) {\n header.rowNumber += 1;\n }\n }\n }\n\n adjustDelRowHeaders(row) {\n let targetHeader = null;\n for (let header of this.rowHeaders) {\n if (header.rowNumber === row) {\n targetHeader = header;\n break;\n }\n }\n if (targetHeader) {\n const index = this.rowHeaders.indexOf(targetHeader);\n this.rowHeaders.splice(index, 1);\n }\n }\n\n addRowHeader(row, band) {\n let targetHeader = null;\n for (let header of this.rowHeaders) {\n if (header.rowNumber === row) {\n targetHeader = header;\n break;\n }\n }\n if (targetHeader) {\n targetHeader.band = band;\n } else {\n const newHeader = {\n band,\n rowNumber: row\n };\n this.rowHeaders.push(newHeader);\n }\n }\n\n getCellName(rowIndex, colIndex) {\n if (rowIndex != null) {\n return this.LETTERS[colIndex] + (rowIndex + 1);\n } else {\n return this.LETTERS[colIndex];\n }\n }\n\n getCell(rowIndex, colIndex) {\n let key = rowIndex + 1 + ',' + (colIndex + 1);\n return this.cellsMap.get(key);\n }\n\n addCell(cell) {\n let key = cell.rowNumber + ',' + cell.columnNumber;\n this.cellsMap.set(key, cell);\n }\n\n removeCell(cell) {\n let key = cell.rowNumber + ',' + cell.columnNumber;\n this.cellsMap.delete(key);\n }\n\n deleteCell(rowNumber, columnNumber) {\n let key = rowNumber + ',' + columnNumber;\n this.cellsMap.delete(key);\n }\n\n getSelectedCells() {\n const selected = this.hot.getSelected();\n if (!selected) {\n return null;\n }\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n const cells = [];\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n const cell = this.hot.getCell(i, j, true);\n const exist = cells.indexOf(cell);\n if (exist === -1) {\n cells.push(cell);\n }\n }\n }\n return cells;\n }\n}\n\n//# sourceURL=webpack:///./src/Context.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Context; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\nclass Context {\n constructor(reportTable) {\n this.reportTable = reportTable;\n this.reportDef = reportTable.reportDef;\n this.baseInfo = reportTable;\n this.hot = reportTable.hot;\n this.hot.context = this;\n this._initLetters();\n this.cellsMap = reportTable.cellsMap;\n this.rowHeaders = [];\n }\n\n _initLetters() {\n const letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\n this.LETTERS = letters.concat([]);\n for (let i = 0; i < letters.length; i++) {\n let name = letters[i];\n for (let j = 0; j < letters.length; j++) {\n this.LETTERS.push(name + letters[j]);\n }\n }\n }\n\n adjustInsertRowHeaders(row) {\n for (let header of this.rowHeaders) {\n if (header.rowNumber >= row) {\n header.rowNumber += 1;\n }\n }\n }\n\n adjustDelRowHeaders(row) {\n let targetHeader = null;\n for (let header of this.rowHeaders) {\n if (header.rowNumber === row) {\n targetHeader = header;\n break;\n }\n }\n if (targetHeader) {\n const index = this.rowHeaders.indexOf(targetHeader);\n this.rowHeaders.splice(index, 1);\n }\n }\n\n addRowHeader(row, band) {\n let targetHeader = null;\n for (let header of this.rowHeaders) {\n if (header.rowNumber === row) {\n targetHeader = header;\n break;\n }\n }\n if (targetHeader) {\n targetHeader.band = band;\n } else {\n const newHeader = {\n band,\n rowNumber: row\n };\n this.rowHeaders.push(newHeader);\n }\n }\n\n getCellName(rowIndex, colIndex) {\n if (rowIndex != null) {\n return this.LETTERS[colIndex] + (rowIndex + 1);\n } else {\n return this.LETTERS[colIndex];\n }\n }\n\n getCell(rowIndex, colIndex) {\n let key = rowIndex + 1 + ',' + (colIndex + 1);\n return this.cellsMap.get(key);\n }\n\n addCell(cell) {\n let key = cell.rowNumber + ',' + cell.columnNumber;\n this.cellsMap.set(key, cell);\n }\n\n removeCell(cell) {\n let key = cell.rowNumber + ',' + cell.columnNumber;\n this.cellsMap.delete(key);\n }\n\n deleteCell(rowNumber, columnNumber) {\n let key = rowNumber + ',' + columnNumber;\n this.cellsMap.delete(key);\n }\n\n getSelectedCells() {\n const selected = this.hot.getSelected();\n if (!selected) {\n return null;\n }\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n const cells = [];\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n const cell = this.hot.getCell(i, j, true);\n const exist = cells.indexOf(cell);\n if (exist === -1) {\n cells.push(cell);\n }\n }\n }\n return cells;\n }\n}\n\n//# sourceURL=webpack:///./src/Context.js?"); /***/ }), @@ -4946,7 +4946,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alert\", function() { return alert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"successAlert\", function() { return successAlert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"confirm\", function() { return confirm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dialog\", function() { return dialog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showDialog\", function() { return showDialog; });\n/**\r\n * Created by jacky on 2016/7/9.\r\n */\nfunction alert(msg) {\n toastr.options = {\n closeButton: false,\n debug: false,\n progressBar: false,\n positionClass: \"toast-top-center\",\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"5000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\"\n };\n toastr.error(msg);\n // const dialog = buildDialog('消息提示',msg);\n // dialog.modal('show');\n};\n\nfunction successAlert(msg) {\n toastr.options = {\n closeButton: false,\n debug: false,\n progressBar: false,\n positionClass: \"toast-top-center\",\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"5000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\"\n };\n toastr.success(msg);\n};\n\nfunction confirm(msg, callback) {\n const dialog = buildDialog('确认提示', msg, [{\n name: '确认',\n click: function () {\n callback.call(this);\n }\n }]);\n dialog.modal('show');\n};\n\nfunction dialog(title, content, callback) {\n const dialog = buildDialog(title, content, [{\n name: '确认',\n click: function () {\n callback.call(this);\n }\n }]);\n dialog.modal('show');\n};\n\nfunction showDialog(title, dialogContent, buttons, events, large) {\n const dialog = buildDialog(title, dialogContent, buttons, large);\n dialog.modal('show');\n if (events) {\n for (let event of events) {\n dialog.on(event.name, event.callback);\n }\n }\n};\n\nfunction buildDialog(title, dialogContent, buttons, large) {\n const className = 'modal-dialog' + (large ? ' modal-lg' : '');\n let modal = $(`
`);\n let dialog = $(`
`);\n modal.append(dialog);\n let content = $(`
\n
\n \n

\n ${title}\n

\n
\n
\n ${typeof dialogContent === 'string' ? dialogContent : ''}\n
`);\n if (typeof dialogContent === 'object') {\n content.find('.modal-body').append(dialogContent);\n }\n dialog.append(content);\n let footer = $(`
`);\n content.append(footer);\n if (buttons) {\n buttons.forEach((btn, index) => {\n let button = $(``);\n button.click(function (e) {\n btn.click.call(this);\n if (!btn.holdDialog) {\n modal.modal('hide');\n }\n }.bind(this));\n footer.append(button);\n });\n } else {\n let okBtn = $(``);\n footer.append(okBtn);\n }\n\n modal.on(\"show.bs.modal\", function () {\n var index = 1050;\n $(document).find('.modal').each(function (i, d) {\n var zIndex = $(d).css('z-index');\n if (zIndex && zIndex !== '' && !isNaN(zIndex)) {\n zIndex = parseInt(zIndex);\n if (zIndex > index) {\n index = zIndex;\n }\n }\n });\n index++;\n modal.css({\n 'z-index': index\n });\n });\n return modal;\n};\n\n//# sourceURL=webpack:///./src/MsgBox.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alert\", function() { return alert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"successAlert\", function() { return successAlert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"confirm\", function() { return confirm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dialog\", function() { return dialog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showDialog\", function() { return showDialog; });\n/**\n * Created by jacky on 2016/7/9.\n */\nfunction alert(msg) {\n toastr.options = {\n closeButton: false,\n debug: false,\n progressBar: false,\n positionClass: \"toast-top-center\",\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"5000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\"\n };\n toastr.error(msg);\n // const dialog = buildDialog('消息提示',msg);\n // dialog.modal('show');\n};\n\nfunction successAlert(msg) {\n toastr.options = {\n closeButton: false,\n debug: false,\n progressBar: false,\n positionClass: \"toast-top-center\",\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"5000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\"\n };\n toastr.success(msg);\n};\n\nfunction confirm(msg, callback) {\n const dialog = buildDialog('确认提示', msg, [{\n name: '确认',\n click: function () {\n callback.call(this);\n }\n }]);\n dialog.modal('show');\n};\n\nfunction dialog(title, content, callback) {\n const dialog = buildDialog(title, content, [{\n name: '确认',\n click: function () {\n callback.call(this);\n }\n }]);\n dialog.modal('show');\n};\n\nfunction showDialog(title, dialogContent, buttons, events, large) {\n const dialog = buildDialog(title, dialogContent, buttons, large);\n dialog.modal('show');\n if (events) {\n for (let event of events) {\n dialog.on(event.name, event.callback);\n }\n }\n};\n\nfunction buildDialog(title, dialogContent, buttons, large) {\n const className = 'modal-dialog' + (large ? ' modal-lg' : '');\n let modal = $(`
`);\n let dialog = $(`
`);\n modal.append(dialog);\n let content = $(`
\n
\n \n

\n ${title}\n

\n
\n
\n ${typeof dialogContent === 'string' ? dialogContent : ''}\n
`);\n if (typeof dialogContent === 'object') {\n content.find('.modal-body').append(dialogContent);\n }\n dialog.append(content);\n let footer = $(`
`);\n content.append(footer);\n if (buttons) {\n buttons.forEach((btn, index) => {\n let button = $(``);\n button.click(function (e) {\n btn.click.call(this);\n if (!btn.holdDialog) {\n modal.modal('hide');\n }\n }.bind(this));\n footer.append(button);\n });\n } else {\n let okBtn = $(``);\n footer.append(okBtn);\n }\n\n modal.on(\"show.bs.modal\", function () {\n var index = 1050;\n $(document).find('.modal').each(function (i, d) {\n var zIndex = $(d).css('z-index');\n if (zIndex && zIndex !== '' && !isNaN(zIndex)) {\n zIndex = parseInt(zIndex);\n if (zIndex > index) {\n index = zIndex;\n }\n }\n });\n index++;\n modal.css({\n 'z-index': index\n });\n });\n return modal;\n};\n\n//# sourceURL=webpack:///./src/MsgBox.js?"); /***/ }), @@ -4958,7 +4958,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PrintLine; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-18.\r\n */\n\n\nclass PrintLine {\n constructor(context) {\n context.printLine = this;\n this.context = context;\n const height = $(window).height() - 90;\n // const rightHr=$(`
`);\n // $(document.body).append(rightHr);\n this.refresh();\n }\n refresh() {\n const paper = this.context.reportDef.paper;\n const orientation = paper.orientation;\n let width = paper.width;\n if (orientation === 'landscape') {\n width = paper.height;\n }\n width = width - paper.leftMargin - paper.rightMargin + 38;\n $('.ureport-right-hr-for-print').css('left', width + \"pt\");\n }\n};\n\n//# sourceURL=webpack:///./src/PrintLine.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PrintLine; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-18.\n */\n\n\nclass PrintLine {\n constructor(context) {\n context.printLine = this;\n this.context = context;\n const height = $(window).height() - 90;\n // const rightHr=$(`
`);\n // $(document.body).append(rightHr);\n this.refresh();\n }\n refresh() {\n const paper = this.context.reportDef.paper;\n const orientation = paper.orientation;\n let width = paper.width;\n if (orientation === 'landscape') {\n width = paper.height;\n }\n width = width - paper.leftMargin - paper.rightMargin + 38;\n $('.ureport-right-hr-for-print').css('left', width + \"pt\");\n }\n};\n\n//# sourceURL=webpack:///./src/PrintLine.js?"); /***/ }), @@ -4970,7 +4970,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showLoading\", function() { return showLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideLoading\", function() { return hideLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetTableData\", function() { return resetTableData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildNewCellDef\", function() { return buildNewCellDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tableToXml\", function() { return tableToXml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encode\", function() { return encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getParameter\", function() { return getParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mmToPoint\", function() { return mmToPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pointToMM\", function() { return pointToMM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pointToPixel\", function() { return pointToPixel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pixelToPoint\", function() { return pixelToPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDirty\", function() { return setDirty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetDirty\", function() { return resetDirty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDate\", function() { return formatDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildPageSizeList\", function() { return buildPageSizeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"undoManager\", function() { return undoManager; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getToken\", function() { return getToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUrlParam\", function() { return getUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initTable\", function() { return initTable; });\n/* harmony import */ var undo_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! undo-manager */ \"./node_modules/undo-manager/lib/undomanager.js\");\n/* harmony import */ var undo_manager__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(undo_manager__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.gao on 2016/7/27.\r\n */\n\n\n\nconst showLoading = () => {\n const url = './icons/loading.gif';\n const h = $(window).height() / 2,\n w = $(window).width() / 2;\n const cover = $(`
`);\n $(document.body).append(cover);\n const loading = $(`
\n
数据加载中...
`);\n $(document.body).append(loading);\n};\n\nfunction hideLoading() {\n $('.ureport-loading-cover').remove();\n $('.ureport-loading').remove();\n};\n\nfunction resetTableData(hot) {\n const countCols = hot.countCols(),\n countRows = hot.countRows(),\n context = hot.context,\n data = [];\n for (let i = 0; i < countRows; i++) {\n let rowData = [];\n for (let j = 0; j < countCols; j++) {\n let td = hot.getCell(i, j);\n if (!td) {\n rowData.push(\"\");\n continue;\n }\n let cellDef = context.getCell(i, j);\n if (cellDef) {\n let valueType = cellDef.value.type,\n value = cellDef.value;\n if (valueType === 'dataset') {\n let text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n if (prop.length > 13) {\n text += prop.substring(0, 10) + '..)';\n } else {\n text += prop + \")\";\n }\n rowData.push(text);\n } else if (valueType === 'expression') {\n let v = value.value || '';\n if (v.length > 16) {\n v = v.substring(0, 13) + '...';\n }\n rowData.push(v);\n } else {\n rowData.push(value.value || \"\");\n }\n } else {\n rowData.push(\"\");\n }\n }\n data.push(rowData);\n }\n hot.loadData(data);\n};\n\nfunction buildNewCellDef(rowNumber, columnNumber) {\n let cellDef = {\n rowNumber,\n columnNumber,\n expand: 'None',\n cellStyle: {\n fontSize: 9,\n forecolor: '0,0,0',\n fontFamily: '宋体',\n align: 'center',\n valign: 'middle'\n },\n value: {\n type: 'simple',\n value: ''\n }\n };\n return cellDef;\n};\n\nfunction tableToXml(context) {\n const hot = context.hot;\n const countRows = hot.countRows(),\n countCols = hot.countCols();\n let xml = ``;\n let rowsXml = '',\n columnXml = '';\n const rowHeaders = context.rowHeaders;\n for (let i = 0; i < countRows; i++) {\n let height = hot.getRowHeight(i) || 16;\n height = pixelToPoint(height);\n let band = null;\n for (let header of rowHeaders) {\n if (header.rowNumber === i) {\n band = header.band;\n break;\n }\n }\n if (band) {\n rowsXml += ``;\n } else {\n rowsXml += ``;\n }\n }\n for (let i = 0; i < countCols; i++) {\n let width = hot.getColWidth(i) || 30;\n width = pixelToPoint(width);\n columnXml += ``;\n }\n let cellXml = '',\n spanData = [];\n for (let i = 0; i < countRows; i++) {\n for (let j = 0; j < countCols; j++) {\n if (spanData.indexOf(i + \",\" + j) > -1) {\n continue;\n }\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellName = context.getCellName(i, j);\n cellXml += ` 1) {\n cellXml += ` row-span=\"${rowSpan}\"`;\n }\n if (colSpan > 1) {\n cellXml += ` col-span=\"${colSpan}\"`;\n }\n\n if (cellDef.linkUrl && cellDef.linkUrl !== '') {\n cellXml += ` link-url=\"${cellDef.linkUrl}\"`;\n }\n if (cellDef.linkTargetWindow && cellDef.linkTargetWindow !== '') {\n cellXml += ` link-target-window=\"${cellDef.linkTargetWindow}\"`;\n }\n\n cellXml += '>';\n let cellStyle = cellDef.cellStyle;\n cellXml += buildCellStyle(cellStyle);\n if (cellDef.linkParameters && cellDef.linkParameters.length > 0) {\n for (let param of cellDef.linkParameters) {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n }\n }\n const value = cellDef.value;\n if (value.type === 'dataset') {\n let msg = null;\n if (!value.datasetName) {\n msg = `${cellName}单元格数据集属性不能为空!`;\n }\n if (!msg && !value.property) {\n msg = `${cellName}单元格属性不能为空!`;\n }\n if (!msg && !value.aggregate) {\n msg = `${cellName}单元格聚合方式属性不能为空!`;\n }\n if (msg) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(msg);\n throw msg;\n }\n const mappingType = value.mappingType || 'simple';\n cellXml += ``;\n for (let condition of groupItem.conditions) {\n cellXml += ``;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n cellXml += ``;\n }\n cellXml += '';\n }\n }\n if (mappingType === 'simple') {\n const mappingItems = value.mappingItems;\n if (mappingItems && mappingItems.length > 0) {\n for (let mappingItem of mappingItems) {\n cellXml += ``;\n }\n }\n }\n cellXml += ``;\n } else if (value.type === 'expression') {\n if (!value.value || value.value === '') {\n const msg = `${cellName}单元格表达式不能为空`;\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(msg);\n throw msg;\n }\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'simple') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'image') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'zxing') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'slash') {\n cellXml += ``;\n const slashes = value.slashes;\n for (let slash of slashes) {\n cellXml += ``;\n }\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'chart') {\n cellXml += ``;\n const chart = value.chart;\n const dataset = chart.dataset;\n cellXml += ``;\n const xaxes = chart.xaxes;\n if (xaxes) {\n cellXml += ``;\n const scaleLabel = xaxes.scaleLabel;\n if (scaleLabel) {\n cellXml += ``;\n }\n cellXml += ``;\n }\n const yaxes = chart.yaxes;\n if (yaxes) {\n cellXml += ``;\n const scaleLabel = yaxes.scaleLabel;\n if (scaleLabel) {\n cellXml += ``;\n }\n cellXml += ``;\n }\n const options = chart.options;\n if (options) {\n for (let option of options) {\n cellXml += ``;\n }\n const propertyConditions = cellDef.conditionPropertyItems || [];\n for (let pc of propertyConditions) {\n cellXml += ``;\n const paging = pc.paging;\n if (paging) {\n cellXml += ``;\n }\n if (pc.linkParameters && pc.linkParameters.length > 0) {\n for (let param of pc.linkParameters) {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n }\n }\n const style = pc.cellStyle;\n if (style) {\n cellXml += buildCellStyle(style, true);\n }\n cellXml += buildConditions(pc.conditions);\n cellXml += ``;\n }\n cellXml += '';\n }\n }\n xml += cellXml;\n xml += rowsXml;\n xml += columnXml;\n const header = context.reportDef.header;\n if (header && (header.left || header.center || header.right)) {\n xml += '
`;\n }\n if (header.center) {\n xml += `
`;\n }\n if (header.right) {\n xml += ``;\n }\n xml += '
';\n }\n const footer = context.reportDef.footer;\n if (footer && (footer.left || footer.center || footer.right)) {\n xml += '
`;\n }\n if (footer.center) {\n xml += `
`;\n }\n if (footer.right) {\n xml += ``;\n }\n xml += '
';\n }\n let datasourceXml = \"\";\n const datasources = context.reportDef.datasources;\n for (let datasource of datasources) {\n let ds = ``;\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n for (let parameter of dataset.parameters) {\n ds += ``;\n }\n ds += ``;\n }\n } else if (type === 'spring') {\n ds += ` bean=\"${datasource.beanId}\">`;\n for (let dataset of datasource.datasets) {\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n ds += ``;\n }\n } else if (type === 'buildin') {\n ds += '>';\n for (let dataset of datasource.datasets) {\n ds += ``;\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n for (let parameter of dataset.parameters) {\n ds += ``;\n }\n ds += ``;\n }\n }\n ds += \"\";\n datasourceXml += ds;\n }\n xml += datasourceXml;\n const paper = context.reportDef.paper;\n let htmlIntervalRefreshValue = 0;\n if (paper.htmlIntervalRefreshValue !== null && paper.htmlIntervalRefreshValue !== undefined) {\n htmlIntervalRefreshValue = paper.htmlIntervalRefreshValue;\n }\n xml += ``;\n if (context.reportDef.searchFormXml) {\n xml += context.reportDef.searchFormXml;\n }\n xml += `
`;\n xml = encodeURIComponent(xml);\n return xml;\n};\n\nfunction getSpan(hot, row, col) {\n const mergeCells = hot.getSettings().mergeCells || [];\n for (let item of mergeCells) {\n if (item.row === row && item.col === col) {\n return item;\n }\n }\n return {\n rowspan: 0,\n colspan: 0\n };\n}\n\nfunction buildConditions(conditions) {\n let cellXml = '';\n if (conditions) {\n const size = conditions.length;\n for (let condition of conditions) {\n if (!condition.type || condition.type === 'property') {\n if (condition.left) {\n cellXml += ` 1) {\n cellXml += ` join=\"${condition.join}\">`;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n } else {\n cellXml += ` 1) {\n cellXml += ` join=\"${condition.join}\">`;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n cellXml += ``;\n }\n cellXml += ``;\n }\n }\n return cellXml;\n};\n\nfunction buildCellStyle(cellStyle, condition) {\n let cellXml = \"`;\n }\n let rightBorder = cellStyle.rightBorder;\n if (rightBorder && rightBorder.style !== \"none\") {\n cellXml += ``;\n }\n let topBorder = cellStyle.topBorder;\n if (topBorder && topBorder.style !== \"none\") {\n cellXml += ``;\n }\n let bottomBorder = cellStyle.bottomBorder;\n if (bottomBorder && bottomBorder.style !== \"none\") {\n cellXml += ``;\n }\n cellXml += '';\n return cellXml;\n};\n\nfunction encode(text) {\n let result = text.replace(/[<>&\"]/g, function (c) {\n return {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"'\n }[c];\n });\n return result;\n};\n\nfunction getParameter(name) {\n var reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\");\n var r = window.location.search.substr(1).match(reg);\n if (r != null) return r[2];\n return null;\n};\n\nfunction mmToPoint(mm) {\n let value = mm * 2.834646;\n return Math.round(value);\n};\n\nfunction pointToMM(point) {\n let value = point * 0.352778;\n return Math.round(value);\n};\n\nfunction pointToPixel(point) {\n const value = point * 1.33;\n return Math.round(value);\n};\n\nfunction pixelToPoint(pixel) {\n const value = pixel * 0.75;\n return Math.round(value);\n};\n\nfunction setDirty() {\n $('#__save_btn').removeClass('disabled');\n};\n\nfunction resetDirty() {\n $('#__save_btn').addClass('disabled');\n};\n\nfunction formatDate(date, format) {\n if (typeof date === 'number') {\n date = new Date(date);\n }\n if (typeof date === 'string') {\n return date;\n }\n var o = {\n \"M+\": date.getMonth() + 1,\n \"d+\": date.getDate(),\n \"H+\": date.getHours(),\n \"m+\": date.getMinutes(),\n \"s+\": date.getSeconds()\n };\n if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4 - RegExp.$1.length));\n for (var k in o) if (new RegExp(\"(\" + k + \")\").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : (\"00\" + o[k]).substr((\"\" + o[k]).length));\n return format;\n};\n\nfunction buildPageSizeList() {\n return {\n A0: {\n width: 841,\n height: 1189\n },\n A1: {\n width: 594,\n height: 841\n },\n A2: {\n width: 420,\n height: 594\n },\n A3: {\n width: 297,\n height: 420\n },\n A4: {\n width: 210,\n height: 297\n },\n A5: {\n width: 148,\n height: 210\n },\n A6: {\n width: 105,\n height: 148\n },\n A7: {\n width: 74,\n height: 105\n },\n A8: {\n width: 52,\n height: 74\n },\n A9: {\n width: 37,\n height: 52\n },\n A10: {\n width: 26,\n height: 37\n },\n B0: {\n width: 1000,\n height: 1414\n },\n B1: {\n width: 707,\n height: 1000\n },\n B2: {\n width: 500,\n height: 707\n },\n B3: {\n width: 353,\n height: 500\n },\n B4: {\n width: 250,\n height: 353\n },\n B5: {\n width: 176,\n height: 250\n },\n B6: {\n width: 125,\n height: 176\n },\n B7: {\n width: 88,\n height: 125\n },\n B8: {\n width: 62,\n height: 88\n },\n B9: {\n width: 44,\n height: 62\n },\n B10: {\n width: 31,\n height: 44\n }\n };\n}\n\nconst undoManager = new undo_manager__WEBPACK_IMPORTED_MODULE_0___default.a();\n\nconst getToken = () => {\n let token = getUrlParam('token');\n if (token && token != localStorage.getItem(\"report_token\")) {\n localStorage.setItem(\"report_token\", token);\n }\n\n if (!token && localStorage.getItem(\"report_token\")) {\n token = localStorage.getItem(\"report_token\");\n }\n return token;\n};\n\nconst getUrlParam = name => {\n let reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\");\n let r = window.location.search.substr(1).match(reg);\n if (r != null) {\n return unescape(r[2]);\n } else {\n return null;\n }\n};\n\nconst initTable = (defData, { rows = 35, cols = 15 }, isExpand) => {\n if (isExpand) return;\n const letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\n let defRowLength = rows,\n defColLength = cols;\n if (defData && defData.rows && defData.columns && defData.cellsMap) {\n if (defData.rows && defData.rows.length > 0 && defData.rows.length < rows) {\n defRowLength = defData.rows.length;\n for (let index = defData.rows.length; index < rows; index++) {\n defData.rows.push({\n rowNumber: index + 1,\n height: 18, band: null\n });\n }\n }\n if (defData.columns && defData.columns.length > 0 && defData.columns.length < cols) {\n defColLength = defData.columns.length;\n for (let index = defData.columns.length; index < cols; index++) {\n defData.columns.push({\n columnNumber: index + 1,\n width: 80, hide: false\n });\n }\n }\n if (defRowLength * defColLength < rows * cols) {\n for (let rowIndex = 0; rowIndex < defRowLength; rowIndex++) {\n for (let colIndex = defColLength; colIndex < cols; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n for (let rowIndex = defRowLength; rowIndex < rows; rowIndex++) {\n for (let colIndex = 0; colIndex < defColLength; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n for (let rowIndex = defRowLength; rowIndex < rows; rowIndex++) {\n for (let colIndex = defColLength; colIndex < cols; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n }\n }\n};\n\n//# sourceURL=webpack:///./src/Utils.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showLoading\", function() { return showLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideLoading\", function() { return hideLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetTableData\", function() { return resetTableData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildNewCellDef\", function() { return buildNewCellDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tableToXml\", function() { return tableToXml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encode\", function() { return encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getParameter\", function() { return getParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mmToPoint\", function() { return mmToPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pointToMM\", function() { return pointToMM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pointToPixel\", function() { return pointToPixel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pixelToPoint\", function() { return pixelToPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDirty\", function() { return setDirty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetDirty\", function() { return resetDirty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDate\", function() { return formatDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildPageSizeList\", function() { return buildPageSizeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"undoManager\", function() { return undoManager; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getToken\", function() { return getToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUrlParam\", function() { return getUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initTable\", function() { return initTable; });\n/* harmony import */ var undo_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! undo-manager */ \"./node_modules/undo-manager/lib/undomanager.js\");\n/* harmony import */ var undo_manager__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(undo_manager__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.gao on 2016/7/27.\n */\n\n\n\nconst showLoading = () => {\n const url = './icons/loading.gif';\n const h = $(window).height() / 2,\n w = $(window).width() / 2;\n const cover = $(`
`);\n $(document.body).append(cover);\n const loading = $(`
\n
数据加载中...
`);\n $(document.body).append(loading);\n};\n\nfunction hideLoading() {\n $('.ureport-loading-cover').remove();\n $('.ureport-loading').remove();\n};\n\nfunction resetTableData(hot) {\n const countCols = hot.countCols(),\n countRows = hot.countRows(),\n context = hot.context,\n data = [];\n for (let i = 0; i < countRows; i++) {\n let rowData = [];\n for (let j = 0; j < countCols; j++) {\n let td = hot.getCell(i, j);\n if (!td) {\n rowData.push(\"\");\n continue;\n }\n let cellDef = context.getCell(i, j);\n if (cellDef) {\n let valueType = cellDef.value.type,\n value = cellDef.value;\n if (valueType === 'dataset') {\n let text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n if (prop.length > 13) {\n text += prop.substring(0, 10) + '..)';\n } else {\n text += prop + \")\";\n }\n rowData.push(text);\n } else if (valueType === 'expression') {\n let v = value.value || '';\n if (v.length > 16) {\n v = v.substring(0, 13) + '...';\n }\n rowData.push(v);\n } else {\n rowData.push(value.value || \"\");\n }\n } else {\n rowData.push(\"\");\n }\n }\n data.push(rowData);\n }\n hot.loadData(data);\n};\n\nfunction buildNewCellDef(rowNumber, columnNumber) {\n let cellDef = {\n rowNumber,\n columnNumber,\n expand: 'None',\n cellStyle: {\n fontSize: 9,\n forecolor: '0,0,0',\n fontFamily: '宋体',\n align: 'center',\n valign: 'middle'\n },\n value: {\n type: 'simple',\n value: ''\n }\n };\n return cellDef;\n};\n\nfunction tableToXml(context) {\n const hot = context.hot;\n const countRows = hot.countRows(),\n countCols = hot.countCols();\n let xml = ``;\n let rowsXml = '',\n columnXml = '';\n const rowHeaders = context.rowHeaders;\n for (let i = 0; i < countRows; i++) {\n let height = hot.getRowHeight(i) || 16;\n height = pixelToPoint(height);\n let band = null;\n for (let header of rowHeaders) {\n if (header.rowNumber === i) {\n band = header.band;\n break;\n }\n }\n if (band) {\n rowsXml += ``;\n } else {\n rowsXml += ``;\n }\n }\n for (let i = 0; i < countCols; i++) {\n let width = hot.getColWidth(i) || 30;\n width = pixelToPoint(width);\n columnXml += ``;\n }\n let cellXml = '',\n spanData = [];\n for (let i = 0; i < countRows; i++) {\n for (let j = 0; j < countCols; j++) {\n if (spanData.indexOf(i + \",\" + j) > -1) {\n continue;\n }\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellName = context.getCellName(i, j);\n cellXml += ` 1) {\n cellXml += ` row-span=\"${rowSpan}\"`;\n }\n if (colSpan > 1) {\n cellXml += ` col-span=\"${colSpan}\"`;\n }\n\n if (cellDef.linkUrl && cellDef.linkUrl !== '') {\n cellXml += ` link-url=\"${cellDef.linkUrl}\"`;\n }\n if (cellDef.linkTargetWindow && cellDef.linkTargetWindow !== '') {\n cellXml += ` link-target-window=\"${cellDef.linkTargetWindow}\"`;\n }\n\n cellXml += '>';\n let cellStyle = cellDef.cellStyle;\n cellXml += buildCellStyle(cellStyle);\n if (cellDef.linkParameters && cellDef.linkParameters.length > 0) {\n for (let param of cellDef.linkParameters) {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n }\n }\n const value = cellDef.value;\n if (value.type === 'dataset') {\n let msg = null;\n if (!value.datasetName) {\n msg = `${cellName}单元格数据集属性不能为空!`;\n }\n if (!msg && !value.property) {\n msg = `${cellName}单元格属性不能为空!`;\n }\n if (!msg && !value.aggregate) {\n msg = `${cellName}单元格聚合方式属性不能为空!`;\n }\n if (msg) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(msg);\n throw msg;\n }\n const mappingType = value.mappingType || 'simple';\n cellXml += ``;\n for (let condition of groupItem.conditions) {\n cellXml += ``;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n cellXml += ``;\n }\n cellXml += '';\n }\n }\n if (mappingType === 'simple') {\n const mappingItems = value.mappingItems;\n if (mappingItems && mappingItems.length > 0) {\n for (let mappingItem of mappingItems) {\n cellXml += ``;\n }\n }\n }\n cellXml += ``;\n } else if (value.type === 'expression') {\n if (!value.value || value.value === '') {\n const msg = `${cellName}单元格表达式不能为空`;\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(msg);\n throw msg;\n }\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'simple') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'image') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'zxing') {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'slash') {\n cellXml += ``;\n const slashes = value.slashes;\n for (let slash of slashes) {\n cellXml += ``;\n }\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n } else if (value.type === 'chart') {\n cellXml += ``;\n const chart = value.chart;\n const dataset = chart.dataset;\n cellXml += ``;\n const xaxes = chart.xaxes;\n if (xaxes) {\n cellXml += ``;\n const scaleLabel = xaxes.scaleLabel;\n if (scaleLabel) {\n cellXml += ``;\n }\n cellXml += ``;\n }\n const yaxes = chart.yaxes;\n if (yaxes) {\n cellXml += ``;\n const scaleLabel = yaxes.scaleLabel;\n if (scaleLabel) {\n cellXml += ``;\n }\n cellXml += ``;\n }\n const options = chart.options;\n if (options) {\n for (let option of options) {\n cellXml += ``;\n }\n const propertyConditions = cellDef.conditionPropertyItems || [];\n for (let pc of propertyConditions) {\n cellXml += ``;\n const paging = pc.paging;\n if (paging) {\n cellXml += ``;\n }\n if (pc.linkParameters && pc.linkParameters.length > 0) {\n for (let param of pc.linkParameters) {\n cellXml += ``;\n cellXml += ``;\n cellXml += ``;\n }\n }\n const style = pc.cellStyle;\n if (style) {\n cellXml += buildCellStyle(style, true);\n }\n cellXml += buildConditions(pc.conditions);\n cellXml += ``;\n }\n cellXml += '';\n }\n }\n xml += cellXml;\n xml += rowsXml;\n xml += columnXml;\n const header = context.reportDef.header;\n if (header && (header.left || header.center || header.right)) {\n xml += '
`;\n }\n if (header.center) {\n xml += `
`;\n }\n if (header.right) {\n xml += ``;\n }\n xml += '
';\n }\n const footer = context.reportDef.footer;\n if (footer && (footer.left || footer.center || footer.right)) {\n xml += '
`;\n }\n if (footer.center) {\n xml += `
`;\n }\n if (footer.right) {\n xml += ``;\n }\n xml += '
';\n }\n let datasourceXml = \"\";\n const datasources = context.reportDef.datasources;\n for (let datasource of datasources) {\n let ds = ``;\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n for (let parameter of dataset.parameters) {\n ds += ``;\n }\n ds += ``;\n }\n } else if (type === 'spring') {\n ds += ` bean=\"${datasource.beanId}\">`;\n for (let dataset of datasource.datasets) {\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n ds += ``;\n }\n } else if (type === 'buildin') {\n ds += '>';\n for (let dataset of datasource.datasets) {\n ds += ``;\n ds += ``;\n for (let field of dataset.fields) {\n ds += ``;\n }\n for (let parameter of dataset.parameters) {\n ds += ``;\n }\n ds += ``;\n }\n }\n ds += \"\";\n datasourceXml += ds;\n }\n xml += datasourceXml;\n const paper = context.reportDef.paper;\n let htmlIntervalRefreshValue = 0;\n if (paper.htmlIntervalRefreshValue !== null && paper.htmlIntervalRefreshValue !== undefined) {\n htmlIntervalRefreshValue = paper.htmlIntervalRefreshValue;\n }\n xml += ``;\n if (context.reportDef.searchFormXml) {\n xml += context.reportDef.searchFormXml;\n }\n xml += `
`;\n xml = encodeURIComponent(xml);\n return xml;\n};\n\nfunction getSpan(hot, row, col) {\n const mergeCells = hot.getSettings().mergeCells || [];\n for (let item of mergeCells) {\n if (item.row === row && item.col === col) {\n return item;\n }\n }\n return {\n rowspan: 0,\n colspan: 0\n };\n}\n\nfunction buildConditions(conditions) {\n let cellXml = '';\n if (conditions) {\n const size = conditions.length;\n for (let condition of conditions) {\n if (!condition.type || condition.type === 'property') {\n if (condition.left) {\n cellXml += ` 1) {\n cellXml += ` join=\"${condition.join}\">`;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n } else {\n cellXml += ` 1) {\n cellXml += ` join=\"${condition.join}\">`;\n } else {\n cellXml += `>`;\n }\n cellXml += ``;\n cellXml += ``;\n }\n cellXml += ``;\n }\n }\n return cellXml;\n};\n\nfunction buildCellStyle(cellStyle, condition) {\n let cellXml = \"`;\n }\n let rightBorder = cellStyle.rightBorder;\n if (rightBorder && rightBorder.style !== \"none\") {\n cellXml += ``;\n }\n let topBorder = cellStyle.topBorder;\n if (topBorder && topBorder.style !== \"none\") {\n cellXml += ``;\n }\n let bottomBorder = cellStyle.bottomBorder;\n if (bottomBorder && bottomBorder.style !== \"none\") {\n cellXml += ``;\n }\n cellXml += '';\n return cellXml;\n};\n\nfunction encode(text) {\n let result = text.replace(/[<>&\"]/g, function (c) {\n return {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"'\n }[c];\n });\n return result;\n};\n\nfunction getParameter(name) {\n var reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\");\n var r = window.location.search.substr(1).match(reg);\n if (r != null) return r[2];\n return null;\n};\n\nfunction mmToPoint(mm) {\n let value = mm * 2.834646;\n return Math.round(value);\n};\n\nfunction pointToMM(point) {\n let value = point * 0.352778;\n return Math.round(value);\n};\n\nfunction pointToPixel(point) {\n const value = point * 1.33;\n return Math.round(value);\n};\n\nfunction pixelToPoint(pixel) {\n const value = pixel * 0.75;\n return Math.round(value);\n};\n\nfunction setDirty() {\n $('#__save_btn').removeClass('disabled');\n};\n\nfunction resetDirty() {\n $('#__save_btn').addClass('disabled');\n};\n\nfunction formatDate(date, format) {\n if (typeof date === 'number') {\n date = new Date(date);\n }\n if (typeof date === 'string') {\n return date;\n }\n var o = {\n \"M+\": date.getMonth() + 1,\n \"d+\": date.getDate(),\n \"H+\": date.getHours(),\n \"m+\": date.getMinutes(),\n \"s+\": date.getSeconds()\n };\n if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4 - RegExp.$1.length));\n for (var k in o) if (new RegExp(\"(\" + k + \")\").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : (\"00\" + o[k]).substr((\"\" + o[k]).length));\n return format;\n};\n\nfunction buildPageSizeList() {\n return {\n A0: {\n width: 841,\n height: 1189\n },\n A1: {\n width: 594,\n height: 841\n },\n A2: {\n width: 420,\n height: 594\n },\n A3: {\n width: 297,\n height: 420\n },\n A4: {\n width: 210,\n height: 297\n },\n A5: {\n width: 148,\n height: 210\n },\n A6: {\n width: 105,\n height: 148\n },\n A7: {\n width: 74,\n height: 105\n },\n A8: {\n width: 52,\n height: 74\n },\n A9: {\n width: 37,\n height: 52\n },\n A10: {\n width: 26,\n height: 37\n },\n B0: {\n width: 1000,\n height: 1414\n },\n B1: {\n width: 707,\n height: 1000\n },\n B2: {\n width: 500,\n height: 707\n },\n B3: {\n width: 353,\n height: 500\n },\n B4: {\n width: 250,\n height: 353\n },\n B5: {\n width: 176,\n height: 250\n },\n B6: {\n width: 125,\n height: 176\n },\n B7: {\n width: 88,\n height: 125\n },\n B8: {\n width: 62,\n height: 88\n },\n B9: {\n width: 44,\n height: 62\n },\n B10: {\n width: 31,\n height: 44\n }\n };\n}\n\nconst undoManager = new undo_manager__WEBPACK_IMPORTED_MODULE_0___default.a();\n\nconst getToken = () => {\n let token = getUrlParam('token');\n if (token && token != localStorage.getItem(\"report_token\")) {\n localStorage.setItem(\"report_token\", token);\n }\n\n if (!token && localStorage.getItem(\"report_token\")) {\n token = localStorage.getItem(\"report_token\");\n }\n return token;\n};\n\nconst getUrlParam = name => {\n let reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\");\n let r = window.location.search.substr(1).match(reg);\n if (r != null) {\n return unescape(r[2]);\n } else {\n return null;\n }\n};\n\nconst initTable = (defData, { rows = 35, cols = 15 }, isExpand) => {\n if (isExpand) return;\n const letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\n let defRowLength = rows,\n defColLength = cols;\n if (defData && defData.rows && defData.columns && defData.cellsMap) {\n if (defData.rows && defData.rows.length > 0 && defData.rows.length < rows) {\n defRowLength = defData.rows.length;\n for (let index = defData.rows.length; index < rows; index++) {\n defData.rows.push({\n rowNumber: index + 1,\n height: 18, band: null\n });\n }\n }\n if (defData.columns && defData.columns.length > 0 && defData.columns.length < cols) {\n defColLength = defData.columns.length;\n for (let index = defData.columns.length; index < cols; index++) {\n defData.columns.push({\n columnNumber: index + 1,\n width: 80, hide: false\n });\n }\n }\n if (defRowLength * defColLength < rows * cols) {\n for (let rowIndex = 0; rowIndex < defRowLength; rowIndex++) {\n for (let colIndex = defColLength; colIndex < cols; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n for (let rowIndex = defRowLength; rowIndex < rows; rowIndex++) {\n for (let colIndex = 0; colIndex < defColLength; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n for (let rowIndex = defRowLength; rowIndex < rows; rowIndex++) {\n for (let colIndex = defColLength; colIndex < cols; colIndex++) {\n defData.cellsMap[`${rowIndex + 1},${colIndex + 1}`] = {\n cellStyle: {\n align: \"center\",\n bgcolor: null,\n bold: null,\n bottomBorder: null,\n fontFamily: null,\n fontSize: 10,\n forecolor: null,\n format: null,\n italic: null,\n leftBorder: null,\n lineHeight: 0,\n rightBorder: null,\n topBorder: null,\n underline: null,\n valign: \"middle\",\n wrapCompute: null\n },\n colSpan: 0,\n conditionPropertyItems: null,\n expand: \"None\",\n fillBlankRows: false,\n leftParentCellName: null,\n linkParameters: null,\n linkTargetWindow: null,\n linkUrl: null,\n multiple: 0,\n rowSpan: 0,\n topParentCellName: null,\n value: {\n type: \"simple\",\n value: \"\"\n },\n rowNumber: rowIndex + 1,\n columnNumber: colIndex + 1,\n name: `${letters[colIndex]}${rowIndex + 1}`\n };\n }\n }\n }\n }\n};\n\n//# sourceURL=webpack:///./src/Utils.js?"); /***/ }), @@ -4994,7 +4994,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BeanMethodDialog; });\n/* harmony import */ var _MethodSelectDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MethodSelectDialog.js */ \"./src/dialog/MethodSelectDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\nclass BeanMethodDialog {\n constructor(datasources, beanId) {\n this.datasources = datasources;\n this.beanId = beanId;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.bean.beanDatasetConfig}\n

\n
\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body);\n this.initButton(footer);\n }\n initBody(body) {\n const nameRow = $(`
${window.i18n.dialog.bean.datasetName}
`);\n const col = $(`
`);\n nameRow.append(col);\n this.nameEditor = $(``);\n col.append(this.nameEditor);\n body.append(nameRow);\n\n const _this = this;\n const methodRow = $(`
${window.i18n.dialog.bean.methodName}
`);\n const methodCol = $(`
`);\n const methodGroup = $(`
`);\n methodCol.append(methodGroup);\n this.methodEditor = $(``);\n methodGroup.append(this.methodEditor);\n const selectMethodButton = $(``);\n methodGroup.append(selectMethodButton);\n const methodSelectDialog = new _MethodSelectDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n selectMethodButton.on('click', () => {\n methodSelectDialog.show(function (method) {\n _this.methodEditor.val(method);\n }, _this.beanId);\n });\n methodRow.append(methodCol);\n body.append(methodRow);\n\n const helpRow = $(`
${window.i18n.dialog.bean.returnObject}
`);\n const helpCol = $(`
`);\n helpRow.append(helpCol);\n this.helpEditor = $(``);\n helpCol.append(this.helpEditor);\n body.append(helpRow);\n }\n\n initButton(footer) {\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const name = _this.nameEditor.val(),\n method = _this.methodEditor.val(),\n clazz = _this.helpEditor.val();\n let check = false;\n if (!_this.oldName || name !== _this.oldName) {\n check = true;\n }\n if (check) {\n for (let datasource of _this.datasources) {\n let datasets = datasource.datasets;\n for (let dataset of datasets) {\n if (dataset.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.bean.dataset}[\"+name+\"]${window.i18n.dialog.bean.datasetExist}`);\n return;\n }\n }\n }\n }\n _this.onSave.call(this, name, method, clazz);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n }\n\n show(onSave, dataset) {\n this.onSave = onSave;\n this.dialog.modal('show');\n if (dataset) {\n this.oldName = dataset.name;\n this.nameEditor.val(dataset.name);\n this.methodEditor.val(dataset.method);\n this.helpEditor.val(dataset.clazz);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/BeanMethodDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BeanMethodDialog; });\n/* harmony import */ var _MethodSelectDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MethodSelectDialog.js */ \"./src/dialog/MethodSelectDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\nclass BeanMethodDialog {\n constructor(datasources, beanId) {\n this.datasources = datasources;\n this.beanId = beanId;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.bean.beanDatasetConfig}\n

\n
\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body);\n this.initButton(footer);\n }\n initBody(body) {\n const nameRow = $(`
${window.i18n.dialog.bean.datasetName}
`);\n const col = $(`
`);\n nameRow.append(col);\n this.nameEditor = $(``);\n col.append(this.nameEditor);\n body.append(nameRow);\n\n const _this = this;\n const methodRow = $(`
${window.i18n.dialog.bean.methodName}
`);\n const methodCol = $(`
`);\n const methodGroup = $(`
`);\n methodCol.append(methodGroup);\n this.methodEditor = $(``);\n methodGroup.append(this.methodEditor);\n const selectMethodButton = $(``);\n methodGroup.append(selectMethodButton);\n const methodSelectDialog = new _MethodSelectDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n selectMethodButton.on('click', () => {\n methodSelectDialog.show(function (method) {\n _this.methodEditor.val(method);\n }, _this.beanId);\n });\n methodRow.append(methodCol);\n body.append(methodRow);\n\n const helpRow = $(`
${window.i18n.dialog.bean.returnObject}
`);\n const helpCol = $(`
`);\n helpRow.append(helpCol);\n this.helpEditor = $(``);\n helpCol.append(this.helpEditor);\n body.append(helpRow);\n }\n\n initButton(footer) {\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const name = _this.nameEditor.val(),\n method = _this.methodEditor.val(),\n clazz = _this.helpEditor.val();\n let check = false;\n if (!_this.oldName || name !== _this.oldName) {\n check = true;\n }\n if (check) {\n for (let datasource of _this.datasources) {\n let datasets = datasource.datasets;\n for (let dataset of datasets) {\n if (dataset.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.bean.dataset}[\"+name+\"]${window.i18n.dialog.bean.datasetExist}`);\n return;\n }\n }\n }\n }\n _this.onSave.call(this, name, method, clazz);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n }\n\n show(onSave, dataset) {\n this.onSave = onSave;\n this.dialog.modal('show');\n if (dataset) {\n this.oldName = dataset.name;\n this.nameEditor.val(dataset.name);\n this.methodEditor.val(dataset.method);\n this.helpEditor.val(dataset.clazz);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/BeanMethodDialog.js?"); /***/ }), @@ -5006,7 +5006,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BuildinDatasourceSelectDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass BuildinDatasourceSelectDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.buildin.selectDatasource}\n

\n
\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const table = $(`\n \n \n \n \n \n \n \n
${window.i18n.dialog.buildin.datasourceName}${window.i18n.dialog.buildin.select}
`);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(onSelect) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n $.ajax({\n url: window._server + \"/datasource/loadBuildinDatasources\",\n headers: {\n 'Authorization': token\n },\n success: result => {\n for (let name of result) {\n const tr = $(`${name}`);\n const selectTD = $(``);\n tr.append(selectTD);\n const selector = $(``);\n selector.on('click', () => {\n for (let ds of _this.datasources) {\n if (ds.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.buildin.datasource}【${name}】${window.i18n.dialog.buildin.datasourceExist}`);\n return;\n }\n }\n onSelect.call(this, name);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n selectTD.append(selector);\n _this.tbody.append(tr);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.buildin.loadFail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/BuildinDatasourceSelectDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BuildinDatasourceSelectDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass BuildinDatasourceSelectDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.buildin.selectDatasource}\n

\n
\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const table = $(`\n \n \n \n \n \n \n \n
${window.i18n.dialog.buildin.datasourceName}${window.i18n.dialog.buildin.select}
`);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(onSelect) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n $.ajax({\n url: window._server + \"/datasource/loadBuildinDatasources\",\n headers: {\n 'Authorization': token\n },\n success: result => {\n for (let name of result) {\n const tr = $(`${name}`);\n const selectTD = $(``);\n tr.append(selectTD);\n const selector = $(``);\n selector.on('click', () => {\n for (let ds of _this.datasources) {\n if (ds.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.buildin.datasource}【${name}】${window.i18n.dialog.buildin.datasourceExist}`);\n return;\n }\n }\n onSelect.call(this, name);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n selectTD.append(selector);\n _this.tbody.append(tr);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.buildin.loadFail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/BuildinDatasourceSelectDialog.js?"); /***/ }), @@ -5018,7 +5018,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConditionDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-09.\r\n */\n\n\n\nclass ConditionDialog {\n constructor(conditions) {\n this.conditions = conditions;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.condition.config}\n

\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const _this = this;\n this.joinGroup = $(`
`);\n this.joinSelect = $(``);\n this.joinGroup.append(this.joinSelect);\n body.append(this.joinGroup);\n\n const propertyGroup = $(`
`);\n this.propertySelect = $(``);\n propertyGroup.append(this.propertySelect);\n body.append(propertyGroup);\n const operatorGroup = $(`
`);\n this.operatorSelect = $(``);\n operatorGroup.append(this.operatorSelect);\n body.append(operatorGroup);\n const valueGroup = $(`
`);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n body.append(valueGroup);\n this.valueEditor.change(function () {\n const val = $(this).val();\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.condition.exprError}`);\n }\n }\n });\n });\n\n const button = $(``);\n button.on('click', () => {\n const property = _this.propertySelect.val(),\n op = _this.operatorSelect.val(),\n value = _this.valueEditor.val(),\n join = _this.joinSelect.val();\n if (property === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.selectProperty}`);\n return;\n }\n if (op === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.selectOp}`);\n return;\n }\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.inputExpr}`);\n return;\n }\n if (_this.condition) {\n if (_this.condition.join) {\n _this.callback.call(_this, property, op, value, join);\n } else {\n _this.callback.call(_this, property, op, value);\n }\n } else if (_this.conditions.length > 0) {\n _this.callback.call(_this, property, op, value, join);\n } else {\n _this.callback.call(_this, property, op, value);\n }\n _this.dialog.modal('hide');\n });\n footer.append(button);\n }\n show(callback, fields, condition) {\n this.callback = callback;\n this.condition = condition;\n if (condition) {\n if (condition.join) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n } else {\n if (this.conditions.length > 0) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n }\n this.propertySelect.empty();\n for (let field of fields) {\n this.propertySelect.append(``);\n }\n if (condition) {\n this.propertySelect.val(condition.left);\n this.operatorSelect.val(condition.operation || condition.op);\n this.valueEditor.val(condition.right);\n this.joinSelect.val(condition.join);\n }\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ConditionDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConditionDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-09.\n */\n\n\n\nclass ConditionDialog {\n constructor(conditions) {\n this.conditions = conditions;\n this.dialog = $(`
\n
\n
\n
\n \n

\n ${window.i18n.dialog.condition.config}\n

\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const _this = this;\n this.joinGroup = $(`
`);\n this.joinSelect = $(``);\n this.joinGroup.append(this.joinSelect);\n body.append(this.joinGroup);\n\n const propertyGroup = $(`
`);\n this.propertySelect = $(``);\n propertyGroup.append(this.propertySelect);\n body.append(propertyGroup);\n const operatorGroup = $(`
`);\n this.operatorSelect = $(``);\n operatorGroup.append(this.operatorSelect);\n body.append(operatorGroup);\n const valueGroup = $(`
`);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n body.append(valueGroup);\n this.valueEditor.change(function () {\n const val = $(this).val();\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.condition.exprError}`);\n }\n }\n });\n });\n\n const button = $(``);\n button.on('click', () => {\n const property = _this.propertySelect.val(),\n op = _this.operatorSelect.val(),\n value = _this.valueEditor.val(),\n join = _this.joinSelect.val();\n if (property === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.selectProperty}`);\n return;\n }\n if (op === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.selectOp}`);\n return;\n }\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.condition.inputExpr}`);\n return;\n }\n if (_this.condition) {\n if (_this.condition.join) {\n _this.callback.call(_this, property, op, value, join);\n } else {\n _this.callback.call(_this, property, op, value);\n }\n } else if (_this.conditions.length > 0) {\n _this.callback.call(_this, property, op, value, join);\n } else {\n _this.callback.call(_this, property, op, value);\n }\n _this.dialog.modal('hide');\n });\n footer.append(button);\n }\n show(callback, fields, condition) {\n this.callback = callback;\n this.condition = condition;\n if (condition) {\n if (condition.join) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n } else {\n if (this.conditions.length > 0) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n }\n this.propertySelect.empty();\n for (let field of fields) {\n this.propertySelect.append(``);\n }\n if (condition) {\n this.propertySelect.val(condition.left);\n this.operatorSelect.val(condition.operation || condition.op);\n this.valueEditor.val(condition.right);\n this.joinSelect.val(condition.join);\n }\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ConditionDialog.js?"); /***/ }), @@ -5030,7 +5030,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConditionParameterCustomBorderDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\nclass ConditionParameterCustomBorderDialog {\n constructor() {\n this.dialog = $(`
\n
\n
\n
\n \n

\n 自定义边框\n

\n
\n
\n
\n
\n
\n
`);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const container = $('
');\n body.append(container);\n const ul = $(\"\");\n container.append(ul);\n const topLi = $(\"
  • \");\n ul.append(topLi);\n const bottomLi = $(\"
  • \");\n ul.append(bottomLi);\n const leftLi = $(\"
  • \");\n ul.append(leftLi);\n const rightLi = $(\"
  • \");\n ul.append(rightLi);\n\n const _this = this;\n\n const tabContent = $(\"
    \");\n const topBorderConfig = $(`
    `);\n tabContent.append(topBorderConfig);\n\n let borderLineContainer = $(`
    线型:
    `);\n topBorderConfig.append(borderLineContainer);\n this.topBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.topBorderLineList);\n this.topBorderLineList.change(function () {\n _this.cellStyle.topBorder.style = $(this).val();\n });\n\n let borderSizeContainer = $(`
    尺寸:
    `);\n topBorderConfig.append(borderSizeContainer);\n this.topBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.topBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.topBorderSizeList);\n this.topBorderSizeList.change(function () {\n _this.cellStyle.topBorder.width = $(this).val();\n });\n\n let borderColor = $(`
    `);\n topBorderConfig.append(borderColor);\n this.topBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.topBorderColorContainer);\n this.topBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.topBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.topBorder.color = color;\n });\n\n const bottomBorderConfig = $(`
    `);\n tabContent.append(bottomBorderConfig);\n\n borderLineContainer = $(`
    线型:
    `);\n bottomBorderConfig.append(borderLineContainer);\n this.bottomBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.bottomBorderLineList);\n this.bottomBorderLineList.change(function () {\n _this.cellStyle.bottomBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n bottomBorderConfig.append(borderSizeContainer);\n this.bottomBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.bottomBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.bottomBorderSizeList);\n this.bottomBorderSizeList.change(function () {\n _this.cellStyle.bottomBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n bottomBorderConfig.append(borderColor);\n this.bottomBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.bottomBorderColorContainer);\n this.bottomBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.bottomBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.bottomBorder.color = color;\n });\n\n const leftBorderConfig = $(`
    `);\n tabContent.append(leftBorderConfig);\n\n borderLineContainer = $(`
    线型:
    `);\n leftBorderConfig.append(borderLineContainer);\n this.leftBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.leftBorderLineList);\n this.leftBorderLineList.change(function () {\n _this.cellStyle.leftBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n leftBorderConfig.append(borderSizeContainer);\n this.leftBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.leftBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.leftBorderSizeList);\n this.leftBorderSizeList.change(function () {\n _this.cellStyle.leftBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n leftBorderConfig.append(borderColor);\n this.leftBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.leftBorderColorContainer);\n this.leftBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.leftBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.leftBorder.color = color;\n });\n\n const rightBorderConfig = $(`
    `);\n tabContent.append(rightBorderConfig);\n borderLineContainer = $(`
    线型:
    `);\n rightBorderConfig.append(borderLineContainer);\n this.rightBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.rightBorderLineList);\n this.rightBorderLineList.change(function () {\n _this.cellStyle.rightBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n rightBorderConfig.append(borderSizeContainer);\n this.rightBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.rightBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.rightBorderSizeList);\n this.rightBorderSizeList.change(function () {\n _this.cellStyle.rightBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n rightBorderConfig.append(borderColor);\n this.rightBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.rightBorderColorContainer);\n this.rightBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.rightBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.rightBorder.color = color;\n });\n\n container.append(tabContent);\n }\n show(cellStyle) {\n this.cellStyle = cellStyle;\n this.dialog.modal('show');\n const topBorder = cellStyle.topBorder;\n this.topBorderSizeList.val(topBorder.width);\n this.topBorderLineList.val(topBorder.style);\n this.topBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + topBorder.color + \")\");\n\n const bottomBorder = cellStyle.bottomBorder;\n this.bottomBorderSizeList.val(bottomBorder.width);\n this.bottomBorderLineList.val(bottomBorder.style);\n this.bottomBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + bottomBorder.color + \")\");\n\n const leftBorder = cellStyle.leftBorder;\n this.leftBorderSizeList.val(leftBorder.width);\n this.leftBorderLineList.val(leftBorder.style);\n this.leftBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + leftBorder.color + \")\");\n\n const rightBorder = cellStyle.rightBorder;\n this.rightBorderSizeList.val(rightBorder.width);\n this.rightBorderLineList.val(rightBorder.style);\n this.rightBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + rightBorder.color + \")\");\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ConditionParameterCustomBorderDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConditionParameterCustomBorderDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\nclass ConditionParameterCustomBorderDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n 自定义边框\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const container = $('
    ');\n body.append(container);\n const ul = $(\"\");\n container.append(ul);\n const topLi = $(\"
  • \");\n ul.append(topLi);\n const bottomLi = $(\"
  • \");\n ul.append(bottomLi);\n const leftLi = $(\"
  • \");\n ul.append(leftLi);\n const rightLi = $(\"
  • \");\n ul.append(rightLi);\n\n const _this = this;\n\n const tabContent = $(\"
    \");\n const topBorderConfig = $(`
    `);\n tabContent.append(topBorderConfig);\n\n let borderLineContainer = $(`
    线型:
    `);\n topBorderConfig.append(borderLineContainer);\n this.topBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.topBorderLineList);\n this.topBorderLineList.change(function () {\n _this.cellStyle.topBorder.style = $(this).val();\n });\n\n let borderSizeContainer = $(`
    尺寸:
    `);\n topBorderConfig.append(borderSizeContainer);\n this.topBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.topBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.topBorderSizeList);\n this.topBorderSizeList.change(function () {\n _this.cellStyle.topBorder.width = $(this).val();\n });\n\n let borderColor = $(`
    `);\n topBorderConfig.append(borderColor);\n this.topBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.topBorderColorContainer);\n this.topBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.topBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.topBorder.color = color;\n });\n\n const bottomBorderConfig = $(`
    `);\n tabContent.append(bottomBorderConfig);\n\n borderLineContainer = $(`
    线型:
    `);\n bottomBorderConfig.append(borderLineContainer);\n this.bottomBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.bottomBorderLineList);\n this.bottomBorderLineList.change(function () {\n _this.cellStyle.bottomBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n bottomBorderConfig.append(borderSizeContainer);\n this.bottomBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.bottomBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.bottomBorderSizeList);\n this.bottomBorderSizeList.change(function () {\n _this.cellStyle.bottomBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n bottomBorderConfig.append(borderColor);\n this.bottomBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.bottomBorderColorContainer);\n this.bottomBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.bottomBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.bottomBorder.color = color;\n });\n\n const leftBorderConfig = $(`
    `);\n tabContent.append(leftBorderConfig);\n\n borderLineContainer = $(`
    线型:
    `);\n leftBorderConfig.append(borderLineContainer);\n this.leftBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.leftBorderLineList);\n this.leftBorderLineList.change(function () {\n _this.cellStyle.leftBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n leftBorderConfig.append(borderSizeContainer);\n this.leftBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.leftBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.leftBorderSizeList);\n this.leftBorderSizeList.change(function () {\n _this.cellStyle.leftBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n leftBorderConfig.append(borderColor);\n this.leftBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.leftBorderColorContainer);\n this.leftBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.leftBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.leftBorder.color = color;\n });\n\n const rightBorderConfig = $(`
    `);\n tabContent.append(rightBorderConfig);\n borderLineContainer = $(`
    线型:
    `);\n rightBorderConfig.append(borderLineContainer);\n this.rightBorderLineList = $(`\n \n `);\n borderLineContainer.append(this.rightBorderLineList);\n this.rightBorderLineList.change(function () {\n _this.cellStyle.rightBorder.style = $(this).val();\n });\n\n borderSizeContainer = $(`
    尺寸:
    `);\n rightBorderConfig.append(borderSizeContainer);\n this.rightBorderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n this.rightBorderSizeList.append(``);\n }\n borderSizeContainer.append(this.rightBorderSizeList);\n this.rightBorderSizeList.change(function () {\n _this.cellStyle.rightBorder.width = $(this).val();\n });\n\n borderColor = $(`
    `);\n rightBorderConfig.append(borderColor);\n this.rightBorderColorContainer = $(\"
    颜色:
    \");\n borderColor.append(this.rightBorderColorContainer);\n this.rightBorderColorContainer.colorpicker({\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.rightBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n _this.cellStyle.rightBorder.color = color;\n });\n\n container.append(tabContent);\n }\n show(cellStyle) {\n this.cellStyle = cellStyle;\n this.dialog.modal('show');\n const topBorder = cellStyle.topBorder;\n this.topBorderSizeList.val(topBorder.width);\n this.topBorderLineList.val(topBorder.style);\n this.topBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + topBorder.color + \")\");\n\n const bottomBorder = cellStyle.bottomBorder;\n this.bottomBorderSizeList.val(bottomBorder.width);\n this.bottomBorderLineList.val(bottomBorder.style);\n this.bottomBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + bottomBorder.color + \")\");\n\n const leftBorder = cellStyle.leftBorder;\n this.leftBorderSizeList.val(leftBorder.width);\n this.leftBorderLineList.val(leftBorder.style);\n this.leftBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + leftBorder.color + \")\");\n\n const rightBorder = cellStyle.rightBorder;\n this.rightBorderSizeList.val(rightBorder.width);\n this.rightBorderLineList.val(rightBorder.style);\n this.rightBorderColorContainer.colorpicker(\"setValue\", \"rgb(\" + rightBorder.color + \")\");\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ConditionParameterCustomBorderDialog.js?"); /***/ }), @@ -5042,7 +5042,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CrosstabDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass CrosstabDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.crosstab.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n _this.callback.call(this, value);\n _this.dialog.modal('hide');\n });\n }\n show(callback) {\n this.callback = callback;\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/CrosstabDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CrosstabDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass CrosstabDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.crosstab.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n _this.callback.call(this, value);\n _this.dialog.modal('hide');\n });\n }\n show(callback) {\n this.callback = callback;\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/CrosstabDialog.js?"); /***/ }), @@ -5054,7 +5054,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CustomGroupDialog; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _GroupItemDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GroupItemDialog.js */ \"./src/dialog/GroupItemDialog.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConditionDialog.js */ \"./src/dialog/ConditionDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\nclass CustomGroupDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.customGroup.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const container = $(`
    `);\n body.append(container);\n const itemGroup = $(``);\n container.append(itemGroup);\n this.initCondition(container);\n const buttonGroup = $(`
    `);\n itemGroup.append(buttonGroup);\n const addItemButton = $(``);\n buttonGroup.append(addItemButton);\n const groupItemDialog = new _GroupItemDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n const _this = this;\n addItemButton.on('click', () => {\n const groupItems = _this.cellDef.value.groupItems;\n const newItem = {\n name: '',\n conditions: []\n };\n groupItemDialog.show(newItem, function () {\n groupItems.push(newItem);\n const option = $(``);\n option.data(newItem);\n _this.itemSelect.append(option);\n }, 'add');\n });\n const delItemButton = $(``);\n buttonGroup.append(delItemButton);\n delItemButton.on('click', () => {\n const selectionOption = _this.itemSelect.find(\"option:selected\");\n const selection = selectionOption.text();\n if (selection === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.deleteTip}`);\n return;\n }\n const groupItems = _this.cellDef.value.groupItems;\n let index = -1;\n let i = 0;\n for (let item of groupItems) {\n if (item.name === selection) {\n index = i;\n break;\n }\n i++;\n }\n if (index === -1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.deleteTip}`);\n return;\n }\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.dialog.customGroup.deleteConfirm}[${selection}]?`, function () {\n groupItems.splice(index, 1);\n selectionOption.remove();\n });\n });\n const modItemButton = $(``);\n buttonGroup.append(modItemButton);\n modItemButton.on('click', () => {\n const selectionOption = _this.itemSelect.find(\"option:selected\");\n const selection = selectionOption.text();\n let selectItem = null;\n const groupItems = _this.cellDef.value.groupItems;\n for (let item of groupItems) {\n if (item.name === selection) {\n selectItem = item;\n break;\n }\n }\n if (!selectItem) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.modTip}`);\n return;\n }\n groupItemDialog.show(selectItem, function () {\n selectionOption.text(selectItem.name);\n selectionOption.data(selectItem);\n }, 'edit');\n });\n this.itemSelect = $(``);\n itemGroup.append(this.itemSelect);\n this.itemSelect.change(function () {\n const selectionOption = $(this).find(\"option:selected\");\n const selection = selectionOption.text();\n if (selection === \"\") {\n return;\n }\n _this.conditionList.empty();\n const conditions = selectionOption.data().conditions;\n let index = 0;\n for (let condition of conditions) {\n const op = condition.operation || condition.op;\n let text = condition.left + \" \" + op + \" \" + condition.right;\n const join = condition.join;\n if (index > 0 && join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(condition);\n _this.conditionList.append(option);\n index++;\n }\n _this.conditionGroup.show();\n });\n }\n\n initCondition(container) {\n this.conditionGroup = $(``);\n container.append(this.conditionGroup);\n this._buildConditionTable(this.conditionGroup);\n this.conditionGroup.hide();\n }\n\n _buildConditionTable(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(`
    `);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', () => {\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n const conditionDialog = new _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (leftProperty, op, rightExpression, join) {\n const c = {\n left: leftProperty,\n op,\n operation: op,\n right: rightExpression,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n conditions.push(c);\n let text = leftProperty + \" \" + op + \" \" + rightExpression;\n if (join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(c);\n _this.conditionList.append(option);\n }, _this.fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.editConditionTip}`);\n return;\n }\n const condition = option.data();\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n const conditionDialog = new _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (leftProperty, op, rightExpression, join) {\n let targetCondition = null;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n targetCondition = c;\n break;\n }\n }\n targetCondition.left = leftProperty;\n targetCondition.op = op;\n targetCondition.operation = op;\n targetCondition.right = rightExpression;\n targetCondition.join = join;\n let text = leftProperty + \" \" + op + \" \" + rightExpression;\n if (join) {\n text = join + \" \" + text;\n }\n option.data(targetCondition);\n option.html(text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }, _this.fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.delConditionTip}`);\n return;\n }\n const condition = option.data();\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n let index = -1;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n index = i;\n break;\n }\n }\n conditions.splice(index, 1);\n option.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n show(cellDef, fields) {\n this.cellDef = cellDef;\n this.fields = fields;\n this.dialog.modal('show');\n this.itemSelect.empty();\n this.conditionGroup.hide();\n const groupItems = cellDef.value.groupItems;\n for (let item of groupItems) {\n const option = $(``);\n option.data(item);\n this.itemSelect.append(option);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/CustomGroupDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CustomGroupDialog; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _GroupItemDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GroupItemDialog.js */ \"./src/dialog/GroupItemDialog.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConditionDialog.js */ \"./src/dialog/ConditionDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\nclass CustomGroupDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.customGroup.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const container = $(`
    `);\n body.append(container);\n const itemGroup = $(``);\n container.append(itemGroup);\n this.initCondition(container);\n const buttonGroup = $(`
    `);\n itemGroup.append(buttonGroup);\n const addItemButton = $(``);\n buttonGroup.append(addItemButton);\n const groupItemDialog = new _GroupItemDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n const _this = this;\n addItemButton.on('click', () => {\n const groupItems = _this.cellDef.value.groupItems;\n const newItem = {\n name: '',\n conditions: []\n };\n groupItemDialog.show(newItem, function () {\n groupItems.push(newItem);\n const option = $(``);\n option.data(newItem);\n _this.itemSelect.append(option);\n }, 'add');\n });\n const delItemButton = $(``);\n buttonGroup.append(delItemButton);\n delItemButton.on('click', () => {\n const selectionOption = _this.itemSelect.find(\"option:selected\");\n const selection = selectionOption.text();\n if (selection === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.deleteTip}`);\n return;\n }\n const groupItems = _this.cellDef.value.groupItems;\n let index = -1;\n let i = 0;\n for (let item of groupItems) {\n if (item.name === selection) {\n index = i;\n break;\n }\n i++;\n }\n if (index === -1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.deleteTip}`);\n return;\n }\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.dialog.customGroup.deleteConfirm}[${selection}]?`, function () {\n groupItems.splice(index, 1);\n selectionOption.remove();\n });\n });\n const modItemButton = $(``);\n buttonGroup.append(modItemButton);\n modItemButton.on('click', () => {\n const selectionOption = _this.itemSelect.find(\"option:selected\");\n const selection = selectionOption.text();\n let selectItem = null;\n const groupItems = _this.cellDef.value.groupItems;\n for (let item of groupItems) {\n if (item.name === selection) {\n selectItem = item;\n break;\n }\n }\n if (!selectItem) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.modTip}`);\n return;\n }\n groupItemDialog.show(selectItem, function () {\n selectionOption.text(selectItem.name);\n selectionOption.data(selectItem);\n }, 'edit');\n });\n this.itemSelect = $(``);\n itemGroup.append(this.itemSelect);\n this.itemSelect.change(function () {\n const selectionOption = $(this).find(\"option:selected\");\n const selection = selectionOption.text();\n if (selection === \"\") {\n return;\n }\n _this.conditionList.empty();\n const conditions = selectionOption.data().conditions;\n let index = 0;\n for (let condition of conditions) {\n const op = condition.operation || condition.op;\n let text = condition.left + \" \" + op + \" \" + condition.right;\n const join = condition.join;\n if (index > 0 && join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(condition);\n _this.conditionList.append(option);\n index++;\n }\n _this.conditionGroup.show();\n });\n }\n\n initCondition(container) {\n this.conditionGroup = $(``);\n container.append(this.conditionGroup);\n this._buildConditionTable(this.conditionGroup);\n this.conditionGroup.hide();\n }\n\n _buildConditionTable(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(`
    `);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', () => {\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n const conditionDialog = new _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (leftProperty, op, rightExpression, join) {\n const c = {\n left: leftProperty,\n op,\n operation: op,\n right: rightExpression,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n conditions.push(c);\n let text = leftProperty + \" \" + op + \" \" + rightExpression;\n if (join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(c);\n _this.conditionList.append(option);\n }, _this.fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.editConditionTip}`);\n return;\n }\n const condition = option.data();\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n const conditionDialog = new _ConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (leftProperty, op, rightExpression, join) {\n let targetCondition = null;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n targetCondition = c;\n break;\n }\n }\n targetCondition.left = leftProperty;\n targetCondition.op = op;\n targetCondition.operation = op;\n targetCondition.right = rightExpression;\n targetCondition.join = join;\n let text = leftProperty + \" \" + op + \" \" + rightExpression;\n if (join) {\n text = join + \" \" + text;\n }\n option.data(targetCondition);\n option.html(text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }, _this.fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.delConditionTip}`);\n return;\n }\n const condition = option.data();\n const selectionItem = _this.itemSelect.find('option:selected');\n if (selectionItem.text() === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.customGroup.selectTip}`);\n return;\n }\n const groupItem = selectionItem.data();\n const conditions = groupItem.conditions;\n let index = -1;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n index = i;\n break;\n }\n }\n conditions.splice(index, 1);\n option.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n show(cellDef, fields) {\n this.cellDef = cellDef;\n this.fields = fields;\n this.dialog.modal('show');\n this.itemSelect.empty();\n this.conditionGroup.hide();\n const groupItems = cellDef.value.groupItems;\n for (let item of groupItems) {\n const option = $(``);\n option.data(item);\n this.itemSelect.append(option);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/CustomGroupDialog.js?"); /***/ }), @@ -5066,7 +5066,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasourceDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-05.\r\n */\n\n\n\nclass DatasourceDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.datasource.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n\n initBody(body, footer) {\n const dsRow = $(`
    `);\n const dsNameGroup = $(`
    `);\n this.dsNameEditor = $(``);\n dsNameGroup.append(this.dsNameEditor);\n dsRow.append(dsNameGroup);\n body.append(dsRow);\n\n const usernameRow = $(`
    `);\n const usernameGroup = $(`
    `);\n this.usernameEditor = $(``);\n usernameGroup.append(this.usernameEditor);\n usernameRow.append(usernameGroup);\n body.append(usernameRow);\n\n const passwordRow = $(`
    `);\n const passwordGroup = $(`
    `);\n this.passwordEditor = $(``);\n passwordGroup.append(this.passwordEditor);\n passwordRow.append(passwordGroup);\n body.append(passwordRow);\n\n const driverRow = $(`
    `);\n const driverGroup = $(`
    `);\n this.driverEditor = $(``);\n driverGroup.append(this.driverEditor);\n driverRow.append(driverGroup);\n body.append(driverRow);\n\n const urlRow = $(`
    `);\n const urlGroup = $(`
    `);\n this.urlEditor = $(``);\n urlGroup.append(this.urlEditor);\n urlRow.append(urlGroup);\n body.append(urlRow);\n\n const _this = this;\n const testButton = $(``);\n footer.append(testButton);\n testButton.on('click', () => {\n const dsName = _this.dsNameEditor.val(),\n username = _this.usernameEditor.val(),\n password = _this.passwordEditor.val(),\n driver = _this.driverEditor.val(),\n url = _this.urlEditor.val();\n _this.testConnection(dsName, username, password, driver, url);\n });\n const saveButton = $(``);\n footer.append(saveButton);\n saveButton.on('click', () => {\n const name = _this.dsNameEditor.val(),\n username = _this.usernameEditor.val(),\n password = _this.passwordEditor.val(),\n driver = _this.driverEditor.val(),\n url = _this.urlEditor.val();\n _this.testConnection(name, username, password, driver, url, function () {\n _this.onSave.call(this, name, username, password, driver, url);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n });\n }\n\n testConnection(dsName, username, password, driver, url, callback) {\n if (dsName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.nameTip}`);\n return;\n }\n if (username === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.usernameTip}`);\n return;\n }\n if (driver === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.driverTip}`);\n return;\n }\n if (url === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.urlTip}`);\n return;\n }\n let check = false;\n if (!this.oldName || dsName !== this.oldName) {\n check = true;\n }\n if (check) {\n for (let source of this.datasources) {\n if (source.name === dsName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.datasource}[${dsName}]${window.i18n.dialog.datasource.existTip}`);\n return;\n }\n }\n }\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n $.ajax({\n url: window._server + \"/datasource/testConnection\",\n data: {\n username,\n password,\n driver,\n url\n },\n headers: {\n 'Authorization': token\n },\n type: \"POST\",\n success: function (data) {\n if (callback) {\n callback.call(_this);\n } else {\n if (data.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.testSuccess}`);\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.testFail}` + data.msg);\n }\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.failTip}`);\n }\n }\n });\n }\n\n show(onSave, ds) {\n this.dialog.modal('show');\n this.onSave = onSave;\n if (ds) {\n this.oldName = ds.name;\n this.dsNameEditor.val(ds.name);\n this.usernameEditor.val(ds.username);\n this.passwordEditor.val(ds.password);\n this.driverEditor.val(ds.driver);\n this.urlEditor.val(ds.url);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/DatasourceDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasourceDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-05.\n */\n\n\n\nclass DatasourceDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.datasource.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n\n initBody(body, footer) {\n const dsRow = $(`
    `);\n const dsNameGroup = $(`
    `);\n this.dsNameEditor = $(``);\n dsNameGroup.append(this.dsNameEditor);\n dsRow.append(dsNameGroup);\n body.append(dsRow);\n\n const usernameRow = $(`
    `);\n const usernameGroup = $(`
    `);\n this.usernameEditor = $(``);\n usernameGroup.append(this.usernameEditor);\n usernameRow.append(usernameGroup);\n body.append(usernameRow);\n\n const passwordRow = $(`
    `);\n const passwordGroup = $(`
    `);\n this.passwordEditor = $(``);\n passwordGroup.append(this.passwordEditor);\n passwordRow.append(passwordGroup);\n body.append(passwordRow);\n\n const driverRow = $(`
    `);\n const driverGroup = $(`
    `);\n this.driverEditor = $(``);\n driverGroup.append(this.driverEditor);\n driverRow.append(driverGroup);\n body.append(driverRow);\n\n const urlRow = $(`
    `);\n const urlGroup = $(`
    `);\n this.urlEditor = $(``);\n urlGroup.append(this.urlEditor);\n urlRow.append(urlGroup);\n body.append(urlRow);\n\n const _this = this;\n const testButton = $(``);\n footer.append(testButton);\n testButton.on('click', () => {\n const dsName = _this.dsNameEditor.val(),\n username = _this.usernameEditor.val(),\n password = _this.passwordEditor.val(),\n driver = _this.driverEditor.val(),\n url = _this.urlEditor.val();\n _this.testConnection(dsName, username, password, driver, url);\n });\n const saveButton = $(``);\n footer.append(saveButton);\n saveButton.on('click', () => {\n const name = _this.dsNameEditor.val(),\n username = _this.usernameEditor.val(),\n password = _this.passwordEditor.val(),\n driver = _this.driverEditor.val(),\n url = _this.urlEditor.val();\n _this.testConnection(name, username, password, driver, url, function () {\n _this.onSave.call(this, name, username, password, driver, url);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n });\n }\n\n testConnection(dsName, username, password, driver, url, callback) {\n if (dsName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.nameTip}`);\n return;\n }\n if (username === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.usernameTip}`);\n return;\n }\n if (driver === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.driverTip}`);\n return;\n }\n if (url === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.urlTip}`);\n return;\n }\n let check = false;\n if (!this.oldName || dsName !== this.oldName) {\n check = true;\n }\n if (check) {\n for (let source of this.datasources) {\n if (source.name === dsName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.datasource}[${dsName}]${window.i18n.dialog.datasource.existTip}`);\n return;\n }\n }\n }\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n $.ajax({\n url: window._server + \"/datasource/testConnection\",\n data: {\n username,\n password,\n driver,\n url\n },\n headers: {\n 'Authorization': token\n },\n type: \"POST\",\n success: function (data) {\n if (callback) {\n callback.call(_this);\n } else {\n if (data.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.testSuccess}`);\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.testFail}` + data.msg);\n }\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.datasource.failTip}`);\n }\n }\n });\n }\n\n show(onSave, ds) {\n this.dialog.modal('show');\n this.onSave = onSave;\n if (ds) {\n this.oldName = ds.name;\n this.dsNameEditor.val(ds.name);\n this.usernameEditor.val(ds.username);\n this.passwordEditor.val(ds.password);\n this.driverEditor.val(ds.driver);\n this.urlEditor.val(ds.url);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/DatasourceDialog.js?"); /***/ }), @@ -5078,7 +5078,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return EditPropertyConditionDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-09.\r\n */\n\n\n\n\nclass EditPropertyConditionDialog {\n constructor(conditions) {\n this.conditions = conditions;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.editPropCondition.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.joinGroup = $(`
    `);\n this.joinSelect = $(``);\n this.joinGroup.append(this.joinSelect);\n body.append(this.joinGroup);\n\n const leftGroup = $(`
    `);\n this.leftTypeSelect = $(``);\n leftGroup.append(this.leftTypeSelect);\n\n this.propertyGroup = $(``);\n this.propertySelect = $(``);\n this.propertyGroup.append(this.propertySelect);\n leftGroup.append(this.propertyGroup);\n body.append(leftGroup);\n\n this.exprGroup = $(``);\n this.exprEditor = $(``);\n this.exprGroup.append(this.exprEditor);\n leftGroup.append(this.exprGroup);\n this.exprEditor.change(function () {\n const val = $(this).val();\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.editPropCondition.syntaxError}`);\n }\n }\n });\n });\n\n this.leftTypeSelect.change(function () {\n const val = $(this).val();\n if (val === 'current') {\n _this.exprGroup.hide();\n _this.propertyGroup.hide();\n } else if (val === 'property') {\n _this.exprGroup.hide();\n _this.propertyGroup.show();\n } else {\n _this.propertyGroup.hide();\n _this.exprGroup.show();\n }\n });\n\n const operatorGroup = $(`
    `);\n this.operatorSelect = $(``);\n operatorGroup.append(this.operatorSelect);\n body.append(operatorGroup);\n const valueGroup = $(`
    `);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n body.append(valueGroup);\n this.valueEditor.change(function () {\n const val = $(this).val();\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.editPropCondition.syntaxError}`);\n }\n }\n });\n });\n\n const button = $(``);\n button.click(function () {\n let property = _this.propertySelect.val(),\n op = _this.operatorSelect.val(),\n value = _this.valueEditor.val(),\n join = _this.joinSelect.val(),\n type = _this.leftTypeSelect.val(),\n expr = _this.exprEditor.val();\n if (type === 'property') {\n if (property === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.selectProp}`);\n return;\n }\n } else if (type === 'expression') {\n if (expr === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.leftValueExpr}`);\n return;\n }\n property = expr;\n } else {\n property = null;\n }\n if (type === 'current') {\n type = \"property\";\n }\n if (op === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.selectOperator}`);\n return;\n }\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.inputExpr}`);\n return;\n }\n if (_this.condition) {\n if (_this.condition.join) {\n _this.callback.call(_this, type, property, op, value, join);\n } else {\n _this.callback.call(_this, type, property, op, value);\n }\n } else if (_this.conditions.length > 0) {\n _this.callback.call(_this, type, property, op, value, join);\n } else {\n _this.callback.call(_this, type, property, op, value);\n }\n _this.dialog.modal('hide');\n });\n footer.append(button);\n }\n show(callback, fields, condition) {\n this.callback = callback;\n this.condition = condition;\n this.type = 'current';\n if (condition) {\n this.type = condition.type;\n if (condition.join) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n } else {\n if (this.conditions.length > 0) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n }\n this.propertySelect.empty();\n for (let field of fields) {\n this.propertySelect.append(``);\n }\n if (condition) {\n if (this.type === 'expression') {\n this.leftTypeSelect.val(\"expression\");\n this.exprEditor.val(condition.left);\n this.propertyGroup.hide();\n this.exprGroup.show();\n } else {\n if (condition.left && condition.left !== '') {\n this.propertySelect.val(condition.left);\n this.leftTypeSelect.val(\"property\");\n this.propertyGroup.show();\n } else {\n this.leftTypeSelect.val(\"current\");\n this.propertyGroup.hide();\n }\n this.exprGroup.hide();\n }\n this.operatorSelect.val(condition.operation || condition.op);\n this.valueEditor.val(condition.right);\n this.joinSelect.val(condition.join);\n } else {\n this.leftTypeSelect.val(\"current\");\n this.propertyGroup.hide();\n this.exprGroup.hide();\n }\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/EditPropertyConditionDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return EditPropertyConditionDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-09.\n */\n\n\n\n\nclass EditPropertyConditionDialog {\n constructor(conditions) {\n this.conditions = conditions;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.editPropCondition.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.joinGroup = $(`
    `);\n this.joinSelect = $(``);\n this.joinGroup.append(this.joinSelect);\n body.append(this.joinGroup);\n\n const leftGroup = $(`
    `);\n this.leftTypeSelect = $(``);\n leftGroup.append(this.leftTypeSelect);\n\n this.propertyGroup = $(``);\n this.propertySelect = $(``);\n this.propertyGroup.append(this.propertySelect);\n leftGroup.append(this.propertyGroup);\n body.append(leftGroup);\n\n this.exprGroup = $(``);\n this.exprEditor = $(``);\n this.exprGroup.append(this.exprEditor);\n leftGroup.append(this.exprGroup);\n this.exprEditor.change(function () {\n const val = $(this).val();\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.editPropCondition.syntaxError}`);\n }\n }\n });\n });\n\n this.leftTypeSelect.change(function () {\n const val = $(this).val();\n if (val === 'current') {\n _this.exprGroup.hide();\n _this.propertyGroup.hide();\n } else if (val === 'property') {\n _this.exprGroup.hide();\n _this.propertyGroup.show();\n } else {\n _this.propertyGroup.hide();\n _this.exprGroup.show();\n }\n });\n\n const operatorGroup = $(`
    `);\n this.operatorSelect = $(``);\n operatorGroup.append(this.operatorSelect);\n body.append(operatorGroup);\n const valueGroup = $(`
    `);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n body.append(valueGroup);\n this.valueEditor.change(function () {\n const val = $(this).val();\n const url = window._server + '/designer/conditionScriptValidation';\n $.ajax({\n url,\n type: 'POST',\n data: {\n content: val\n },\n headers: {\n 'Authorization': token\n },\n success: function (errors) {\n if (errors.length > 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${val} ${window.i18n.dialog.editPropCondition.syntaxError}`);\n }\n }\n });\n });\n\n const button = $(``);\n button.click(function () {\n let property = _this.propertySelect.val(),\n op = _this.operatorSelect.val(),\n value = _this.valueEditor.val(),\n join = _this.joinSelect.val(),\n type = _this.leftTypeSelect.val(),\n expr = _this.exprEditor.val();\n if (type === 'property') {\n if (property === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.selectProp}`);\n return;\n }\n } else if (type === 'expression') {\n if (expr === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.leftValueExpr}`);\n return;\n }\n property = expr;\n } else {\n property = null;\n }\n if (type === 'current') {\n type = \"property\";\n }\n if (op === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.selectOperator}`);\n return;\n }\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.editPropCondition.inputExpr}`);\n return;\n }\n if (_this.condition) {\n if (_this.condition.join) {\n _this.callback.call(_this, type, property, op, value, join);\n } else {\n _this.callback.call(_this, type, property, op, value);\n }\n } else if (_this.conditions.length > 0) {\n _this.callback.call(_this, type, property, op, value, join);\n } else {\n _this.callback.call(_this, type, property, op, value);\n }\n _this.dialog.modal('hide');\n });\n footer.append(button);\n }\n show(callback, fields, condition) {\n this.callback = callback;\n this.condition = condition;\n this.type = 'current';\n if (condition) {\n this.type = condition.type;\n if (condition.join) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n } else {\n if (this.conditions.length > 0) {\n this.joinGroup.show();\n } else {\n this.joinGroup.hide();\n }\n }\n this.propertySelect.empty();\n for (let field of fields) {\n this.propertySelect.append(``);\n }\n if (condition) {\n if (this.type === 'expression') {\n this.leftTypeSelect.val(\"expression\");\n this.exprEditor.val(condition.left);\n this.propertyGroup.hide();\n this.exprGroup.show();\n } else {\n if (condition.left && condition.left !== '') {\n this.propertySelect.val(condition.left);\n this.leftTypeSelect.val(\"property\");\n this.propertyGroup.show();\n } else {\n this.leftTypeSelect.val(\"current\");\n this.propertyGroup.hide();\n }\n this.exprGroup.hide();\n }\n this.operatorSelect.val(condition.operation || condition.op);\n this.valueEditor.val(condition.right);\n this.joinSelect.val(condition.join);\n } else {\n this.leftTypeSelect.val(\"current\");\n this.propertyGroup.hide();\n this.exprGroup.hide();\n }\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/EditPropertyConditionDialog.js?"); /***/ }), @@ -5090,7 +5090,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontSettingDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass FontSettingDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const _this = this;\n const fontFamilyGroup = $(`
    `);\n body.append(fontFamilyGroup);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n this.fontFamilySelect = $(``);\n for (let font of fonts) {\n this.fontFamilySelect.append(``);\n }\n fontFamilyGroup.append(this.fontFamilySelect);\n this.fontFamilySelect.change(function () {\n _this.newStyle.fontFamily = $(this).val();\n });\n\n const colorGroup = $(`
    `);\n body.append(colorGroup);\n this.colorEditor = $(`
    \n \n \n
    `);\n colorGroup.append(this.colorEditor);\n this.colorEditor.colorpicker({\n color: '#000000',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.colorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.newStyle.forecolor = val;\n });\n\n const fontSizeGroup = $(`
    `);\n body.append(fontSizeGroup);\n this.fontSizeSelect = $(``);\n for (let i = 1; i <= 100; i++) {\n this.fontSizeSelect.append(``);\n }\n fontSizeGroup.append(this.fontSizeSelect);\n this.fontSizeSelect.change(function () {\n _this.newStyle.fontSize = $(this).val();\n });\n\n const boldGroup = $(`
    `);\n body.append(boldGroup);\n this.boldSelect = $(``);\n boldGroup.append(this.boldSelect);\n this.boldSelect.change(function () {\n _this.newStyle.bold = $(this).val();\n });\n\n const italicGroup = $(`
    `);\n body.append(italicGroup);\n this.italicSelect = $(``);\n italicGroup.append(this.italicSelect);\n this.italicSelect.change(function () {\n _this.newStyle.italic = $(this).val();\n });\n\n const underlineGroup = $(`
    `);\n body.append(underlineGroup);\n this.underlineSelect = $(``);\n underlineGroup.append(this.underlineSelect);\n this.underlineSelect.change(function () {\n _this.newStyle.underline = $(this).val();\n });\n\n const confirmButton = $(``);\n footer.append(confirmButton);\n confirmButton.on('click', () => {\n _this.style = _this.newStyle;\n _this.callback.call(this, _this.newStyle);\n _this.dialog.modal('hide');\n });\n }\n show(style, callback) {\n this.dialog.modal('show');\n this.callback = callback;\n this.style = style;\n this.newStyle = style;\n if (!this.newStyle.fontFamily) {\n this.newStyle.fontFamily = '宋体';\n }\n if (!this.newStyle.fontSize) {\n this.newStyle.fontSize = '10';\n }\n if (!this.newStyle.forecolor) {\n this.newStyle.forecolor = '0,0,0';\n }\n if (this.newStyle.bold === undefined || this.newStyle.bold === null) {\n this.newStyle.bold = \"false\";\n }\n if (this.newStyle.italic === undefined || this.newStyle.italic === null) {\n this.newStyle.italic = \"false\";\n }\n if (this.newStyle.underline === undefined || this.newStyle.underline === null) {\n this.newStyle.underline = \"false\";\n }\n\n this.fontFamilySelect.val(this.newStyle.fontFamily);\n this.fontSizeSelect.val(this.newStyle.fontSize);\n this.colorEditor.children('input').val(\"rgb(\" + this.newStyle.forecolor + \")\");\n this.colorEditor.children('input').trigger('change');\n this.boldSelect.val(this.newStyle.bold);\n this.italicSelect.val(this.newStyle.italic);\n this.underlineSelect.val(this.newStyle.underline);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/FontSettingDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontSettingDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass FontSettingDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const _this = this;\n const fontFamilyGroup = $(`
    `);\n body.append(fontFamilyGroup);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n this.fontFamilySelect = $(``);\n for (let font of fonts) {\n this.fontFamilySelect.append(``);\n }\n fontFamilyGroup.append(this.fontFamilySelect);\n this.fontFamilySelect.change(function () {\n _this.newStyle.fontFamily = $(this).val();\n });\n\n const colorGroup = $(`
    `);\n body.append(colorGroup);\n this.colorEditor = $(`
    \n \n \n
    `);\n colorGroup.append(this.colorEditor);\n this.colorEditor.colorpicker({\n color: '#000000',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.colorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.newStyle.forecolor = val;\n });\n\n const fontSizeGroup = $(`
    `);\n body.append(fontSizeGroup);\n this.fontSizeSelect = $(``);\n for (let i = 1; i <= 100; i++) {\n this.fontSizeSelect.append(``);\n }\n fontSizeGroup.append(this.fontSizeSelect);\n this.fontSizeSelect.change(function () {\n _this.newStyle.fontSize = $(this).val();\n });\n\n const boldGroup = $(`
    `);\n body.append(boldGroup);\n this.boldSelect = $(``);\n boldGroup.append(this.boldSelect);\n this.boldSelect.change(function () {\n _this.newStyle.bold = $(this).val();\n });\n\n const italicGroup = $(`
    `);\n body.append(italicGroup);\n this.italicSelect = $(``);\n italicGroup.append(this.italicSelect);\n this.italicSelect.change(function () {\n _this.newStyle.italic = $(this).val();\n });\n\n const underlineGroup = $(`
    `);\n body.append(underlineGroup);\n this.underlineSelect = $(``);\n underlineGroup.append(this.underlineSelect);\n this.underlineSelect.change(function () {\n _this.newStyle.underline = $(this).val();\n });\n\n const confirmButton = $(``);\n footer.append(confirmButton);\n confirmButton.on('click', () => {\n _this.style = _this.newStyle;\n _this.callback.call(this, _this.newStyle);\n _this.dialog.modal('hide');\n });\n }\n show(style, callback) {\n this.dialog.modal('show');\n this.callback = callback;\n this.style = style;\n this.newStyle = style;\n if (!this.newStyle.fontFamily) {\n this.newStyle.fontFamily = '宋体';\n }\n if (!this.newStyle.fontSize) {\n this.newStyle.fontSize = '10';\n }\n if (!this.newStyle.forecolor) {\n this.newStyle.forecolor = '0,0,0';\n }\n if (this.newStyle.bold === undefined || this.newStyle.bold === null) {\n this.newStyle.bold = \"false\";\n }\n if (this.newStyle.italic === undefined || this.newStyle.italic === null) {\n this.newStyle.italic = \"false\";\n }\n if (this.newStyle.underline === undefined || this.newStyle.underline === null) {\n this.newStyle.underline = \"false\";\n }\n\n this.fontFamilySelect.val(this.newStyle.fontFamily);\n this.fontSizeSelect.val(this.newStyle.fontSize);\n this.colorEditor.children('input').val(\"rgb(\" + this.newStyle.forecolor + \")\");\n this.colorEditor.children('input').trigger('change');\n this.boldSelect.val(this.newStyle.bold);\n this.italicSelect.val(this.newStyle.italic);\n this.underlineSelect.val(this.newStyle.underline);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/FontSettingDialog.js?"); /***/ }), @@ -5102,7 +5102,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return GroupItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass GroupItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.groupItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.groupItem.nameTip}`);\n return;\n }\n _this.groupItem.name = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(groupItem, callback, op) {\n this.groupItem = groupItem;\n this.callback = callback;\n this.dialog.modal('show');\n this.nameEditor.val(groupItem.name);\n const title = this.dialog.find(\".modal-title\");\n if (op === 'add') {\n title.html(`${window.i18n.dialog.groupItem.addItem}`);\n } else if (op === 'edit') {\n title.html(`${window.i18n.dialog.groupItem.editItem}`);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/GroupItemDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return GroupItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass GroupItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.groupItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.groupItem.nameTip}`);\n return;\n }\n _this.groupItem.name = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(groupItem, callback, op) {\n this.groupItem = groupItem;\n this.callback = callback;\n this.dialog.modal('show');\n this.nameEditor.val(groupItem.name);\n const title = this.dialog.find(\".modal-title\");\n if (op === 'add') {\n title.html(`${window.i18n.dialog.groupItem.addItem}`);\n } else if (op === 'edit') {\n title.html(`${window.i18n.dialog.groupItem.editItem}`);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/GroupItemDialog.js?"); /***/ }), @@ -5114,7 +5114,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImportDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass ImportDialog {\n constructor(context, reportTable) {\n this.context = context;\n this.reportTable = reportTable;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.import.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n\n initBody(body, footer) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n const url = window._server + \"/import?token=\" + token;\n const form = $(`
    `);\n body.append(form);\n form.append(`
    ${window.i18n.dialog.import.desc}
    `);\n const fileGroup = $(`
    `);\n form.append(fileGroup);\n // 命名和后端不一样,修改为file\n //const file = $(``);\n const file = $(``);\n fileGroup.append(file);\n const buttonGroup = $(`
    `);\n const submit = $(``);\n buttonGroup.append(submit);\n form.append(buttonGroup);\n\n let self = this;\n const fileId = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('id');\n submit.on('click', function () {\n let formData = new FormData(form[0]);\n $.ajax({\n type: 'post',\n url: url,\n data: formData,\n processData: false,\n contentType: false,\n success: function (res) {\n let _this = self.reportTable;\n // console.log(res, _this);\n if (res && res.code === 200) {\n const reportDef = res.data;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"initTable\"])(reportDef, {}, !!fileId);\n // 编辑状态下额外处理\n if (fileId) {\n _this.baseInfo = res.baseInfo;\n }\n\n _this.reportDef = reportDef;\n\n _this._buildReportData(reportDef);\n\n /*if (callback) {\r\n callback.call(_this, reportDef);\r\n }*/\n _this.hot.render();\n\n if (reportDef.paper.bgImage) {\n $('.ht_master').css('background', `url(${reportDef.paper.bgImage}) 50px 26px no-repeat`);\n } else {\n $('.ht_master').css('background', 'transparent');\n }\n self.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${res.msg}`);\n }\n }\n });\n });\n\n // 原来使用iframe获取form表单提交结果\n /*const iframe = $(``);\r\n body.append(iframe);\r\n iframe.on('load', function(e) {\r\n const text = iframe.contents().find(\"body\").text();\r\n if (!text || text === \"\") {\r\n return;\r\n }\r\n const json = JSON.parse(text);\r\n const result = json.result;\r\n console.log(text);\r\n if (result) {\r\n const url = window._server + \"/designer\";\r\n window.open(url, \"_self\");\r\n } else {\r\n const errorInfo = json.errorInfo;\r\n if (errorInfo) {\r\n alert(`${window.i18n.dialog.import.fail}:` + errorInfo);\r\n } else {\r\n alert(`${window.i18n.dialog.import.fail}`);\r\n }\r\n }\r\n });*/\n }\n\n show() {\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ImportDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImportDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass ImportDialog {\n constructor(context, reportTable) {\n this.context = context;\n this.reportTable = reportTable;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.import.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n\n initBody(body, footer) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n const url = window._server + \"/import?token=\" + token;\n const form = $(`
    `);\n body.append(form);\n form.append(`
    ${window.i18n.dialog.import.desc}
    `);\n const fileGroup = $(`
    `);\n form.append(fileGroup);\n // 命名和后端不一样,修改为file\n //const file = $(``);\n const file = $(``);\n fileGroup.append(file);\n const buttonGroup = $(`
    `);\n const submit = $(``);\n buttonGroup.append(submit);\n form.append(buttonGroup);\n\n let self = this;\n const fileId = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('id');\n submit.on('click', function () {\n let formData = new FormData(form[0]);\n $.ajax({\n type: 'post',\n url: url,\n data: formData,\n processData: false,\n contentType: false,\n success: function (res) {\n let _this = self.reportTable;\n // console.log(res, _this);\n if (res && res.code === 200) {\n const reportDef = res.data;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"initTable\"])(reportDef, {}, !!fileId);\n // 编辑状态下额外处理\n if (fileId) {\n _this.baseInfo = res.baseInfo;\n }\n\n _this.reportDef = reportDef;\n\n _this._buildReportData(reportDef);\n\n /*if (callback) {\n callback.call(_this, reportDef);\n }*/\n _this.hot.render();\n\n if (reportDef.paper.bgImage) {\n $('.ht_master').css('background', `url(${reportDef.paper.bgImage}) 50px 26px no-repeat`);\n } else {\n $('.ht_master').css('background', 'transparent');\n }\n self.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${res.msg}`);\n }\n }\n });\n });\n\n // 原来使用iframe获取form表单提交结果\n /*const iframe = $(``);\n body.append(iframe);\n iframe.on('load', function(e) {\n const text = iframe.contents().find(\"body\").text();\n if (!text || text === \"\") {\n return;\n }\n const json = JSON.parse(text);\n const result = json.result;\n console.log(text);\n if (result) {\n const url = window._server + \"/designer\";\n window.open(url, \"_self\");\n } else {\n const errorInfo = json.errorInfo;\n if (errorInfo) {\n alert(`${window.i18n.dialog.import.fail}:` + errorInfo);\n } else {\n alert(`${window.i18n.dialog.import.fail}`);\n }\n }\n });*/\n }\n\n show() {\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ImportDialog.js?"); /***/ }), @@ -5126,7 +5126,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MappingDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\nclass MappingDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.mapping.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const valueGroup = $(`
    `);\n body.append(valueGroup);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n const labelGroup = $(`
    `);\n this.labelEditor = $(``);\n labelGroup.append(this.labelEditor);\n body.append(labelGroup);\n\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n const value = _this.valueEditor.val(),\n label = _this.labelEditor.val();\n if (value === '' || label === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.mapping.tip}`);\n return;\n }\n _this.mappingItem.value = value;\n _this.mappingItem.label = label;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(callback, mappingItem, op) {\n this.callback = callback;\n this.mappingItem = mappingItem;\n this.dialog.modal('show');\n if (op === 'add') {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.mapping.add}`);\n } else {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.mapping.edit}`);\n }\n this.valueEditor.val(mappingItem.value);\n this.labelEditor.val(mappingItem.label);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/MappingDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MappingDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\nclass MappingDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.mapping.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const valueGroup = $(`
    `);\n body.append(valueGroup);\n this.valueEditor = $(``);\n valueGroup.append(this.valueEditor);\n const labelGroup = $(`
    `);\n this.labelEditor = $(``);\n labelGroup.append(this.labelEditor);\n body.append(labelGroup);\n\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n const value = _this.valueEditor.val(),\n label = _this.labelEditor.val();\n if (value === '' || label === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.mapping.tip}`);\n return;\n }\n _this.mappingItem.value = value;\n _this.mappingItem.label = label;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(callback, mappingItem, op) {\n this.callback = callback;\n this.mappingItem = mappingItem;\n this.dialog.modal('show');\n if (op === 'add') {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.mapping.add}`);\n } else {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.mapping.edit}`);\n }\n this.valueEditor.val(mappingItem.value);\n this.labelEditor.val(mappingItem.label);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/MappingDialog.js?"); /***/ }), @@ -5138,7 +5138,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MethodSelectDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass MethodSelectDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.methodSelect.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const table = $(`\n \n
    ${window.i18n.dialog.methodSelect.methodName}${window.i18n.dialog.methodSelect.select}
    `);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(onSelect, beanId) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n $.ajax({\n url: window._server + \"/datasource/loadMethods\",\n data: {\n beanId\n },\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n for (let method of result) {\n const tr = $(`${method}`);\n const selectTD = $(``);\n tr.append(selectTD);\n const selector = $(``);\n selector.on('click', () => {\n onSelect.call(this, method);\n _this.dialog.modal('hide');\n });\n selectTD.append(selector);\n _this.tbody.append(tr);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.methodSelect.load}[\"+beanId+\"]${window.i18n.dialog.methodSelect.fail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/MethodSelectDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MethodSelectDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass MethodSelectDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.methodSelect.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const table = $(`\n \n
    ${window.i18n.dialog.methodSelect.methodName}${window.i18n.dialog.methodSelect.select}
    `);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(onSelect, beanId) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n $.ajax({\n url: window._server + \"/datasource/loadMethods\",\n data: {\n beanId\n },\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n for (let method of result) {\n const tr = $(`${method}`);\n const selectTD = $(``);\n tr.append(selectTD);\n const selector = $(``);\n selector.on('click', () => {\n onSelect.call(this, method);\n _this.dialog.modal('hide');\n });\n selectTD.append(selector);\n _this.tbody.append(tr);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.methodSelect.load}[\"+beanId+\"]${window.i18n.dialog.methodSelect.fail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/MethodSelectDialog.js?"); /***/ }), @@ -5150,7 +5150,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ParameterDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-06.\r\n */\n\n\nclass ParameterDialog {\n constructor(data) {\n this.data = data;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    参数配置

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const nameRow = $(`
    `);\n const nameGroup = $(`
    `);\n this.nameEditor = $(``);\n nameGroup.append(this.nameEditor);\n nameRow.append(nameGroup);\n body.append(nameRow);\n\n const typeRow = $(`
    `);\n const typeGroup = $(`
    `);\n this.typeEditor = $(``);\n typeGroup.append(this.typeEditor);\n typeRow.append(typeGroup);\n body.append(typeRow);\n\n const defaultValueRow = $(`
    `);\n const defaultValueGroup = $(`
    `);\n this.defaultValueEditor = $(``);\n defaultValueGroup.append(this.defaultValueEditor);\n defaultValueRow.append(defaultValueGroup);\n body.append(defaultValueRow);\n\n const _this = this;\n const addButton = $(``);\n footer.append(addButton);\n addButton.on('click', () => {\n const name = _this.nameEditor.val(),\n type = _this.typeEditor.val(),\n defaultValue = _this.defaultValueEditor.val();\n if (name === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.nameTip}`);\n return;\n }\n if (type === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.datatypeTip}`);\n return;\n }\n if (!_this.editData || name !== _this.editData.name) {\n for (let param of _this.data) {\n if (param.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.param}[${name}]${window.i18n.dialog.sqlParam.exist}`);\n return;\n }\n }\n }\n _this.onSave.call(this, name, type, defaultValue);\n _this.dialog.modal('hide');\n });\n }\n show(onSave, data) {\n this.onSave = onSave;\n this.dialog.modal('show');\n\n if (data) {\n this.editData = data;\n this.nameEditor.val(data.name);\n this.typeEditor.val(data.type);\n this.defaultValueEditor.val(data.defaultValue);\n } else {\n this.nameEditor.val('');\n this.typeEditor.val('String');\n this.defaultValueEditor.val(\"\");\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ParameterDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ParameterDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-06.\n */\n\n\nclass ParameterDialog {\n constructor(data) {\n this.data = data;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    参数配置

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.init(body, footer);\n }\n init(body, footer) {\n const nameRow = $(`
    `);\n const nameGroup = $(`
    `);\n this.nameEditor = $(``);\n nameGroup.append(this.nameEditor);\n nameRow.append(nameGroup);\n body.append(nameRow);\n\n const typeRow = $(`
    `);\n const typeGroup = $(`
    `);\n this.typeEditor = $(``);\n typeGroup.append(this.typeEditor);\n typeRow.append(typeGroup);\n body.append(typeRow);\n\n const defaultValueRow = $(`
    `);\n const defaultValueGroup = $(`
    `);\n this.defaultValueEditor = $(``);\n defaultValueGroup.append(this.defaultValueEditor);\n defaultValueRow.append(defaultValueGroup);\n body.append(defaultValueRow);\n\n const _this = this;\n const addButton = $(``);\n footer.append(addButton);\n addButton.on('click', () => {\n const name = _this.nameEditor.val(),\n type = _this.typeEditor.val(),\n defaultValue = _this.defaultValueEditor.val();\n if (name === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.nameTip}`);\n return;\n }\n if (type === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.datatypeTip}`);\n return;\n }\n if (!_this.editData || name !== _this.editData.name) {\n for (let param of _this.data) {\n if (param.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.sqlParam.param}[${name}]${window.i18n.dialog.sqlParam.exist}`);\n return;\n }\n }\n }\n _this.onSave.call(this, name, type, defaultValue);\n _this.dialog.modal('hide');\n });\n }\n show(onSave, data) {\n this.onSave = onSave;\n this.dialog.modal('show');\n\n if (data) {\n this.editData = data;\n this.nameEditor.val(data.name);\n this.typeEditor.val(data.type);\n this.defaultValueEditor.val(data.defaultValue);\n } else {\n this.nameEditor.val('');\n this.typeEditor.val('String');\n this.defaultValueEditor.val(\"\");\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ParameterDialog.js?"); /***/ }), @@ -5162,7 +5162,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ParameterTable; });\n/* harmony import */ var _ParameterDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParameterDialog.js */ \"./src/dialog/ParameterDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-06.\r\n */\n\n\nclass ParameterTable {\n constructor(container, data) {\n this.data = data;\n const addButton = $(``);\n container.append(addButton);\n const _this = this;\n const table = $(`\n \n \n \n \n \n \n \n \n \n
    ${window.i18n.dialog.paramTable.paramName}${window.i18n.dialog.paramTable.paramDatatype}${window.i18n.dialog.paramTable.defaultValue}${window.i18n.dialog.paramTable.operator}
    \n `);\n this.body = $(``);\n table.append(this.body);\n this._buildParameters();\n container.append(table);\n this.parameterDialog = new _ParameterDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.data);\n addButton.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n const obj = { name, type, defaultValue };\n _this.data.push(obj);\n const newTr = $(``);\n const nameTd = $(`${name}`);\n const typeTd = $(`${type}`);\n const defaultValueTd = $(`${defaultValue}`);\n newTr.append(nameTd);\n newTr.append(typeTd);\n newTr.append(defaultValueTd);\n const opTd = $(``);\n const removeSpan = $(``);\n opTd.append(removeSpan);\n newTr.append(opTd);\n _this.body.append(newTr);\n removeSpan.on('click', () => {\n let index = _this.data.indexOf(obj);\n _this.data.splice(index, 1);\n newTr.remove();\n });\n const editSpan = $(``);\n opTd.append(editSpan);\n editSpan.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n obj.name = name;\n obj.type = type;\n obj.defaultValue = defaultValue;\n nameTd.html(name);\n typeTd.html(type);\n defaultValueTd.html(defaultValue);\n }, obj);\n });\n }, null);\n });\n }\n refreshData() {\n this.body.empty();\n this.parameterDialog.data = this.data;\n this._buildParameters();\n }\n _buildParameters() {\n const _this = this;\n for (let param of this.data) {\n const tr = $(``);\n const nameTd = $(`${param.name}`);\n const typeTd = $(`${param.type}`);\n const defaultValueTd = $(`${param.defaultValue}`);\n tr.append(nameTd);\n tr.append(typeTd);\n tr.append(defaultValueTd);\n\n const opTd = $(``);\n const deleteSpan = $(``);\n opTd.append(deleteSpan);\n tr.append(opTd);\n deleteSpan.on('click', () => {\n let index = _this.data.indexOf(param);\n _this.data.splice(index, 1);\n tr.remove();\n });\n this.body.append(tr);\n\n const editSpan = $(``);\n opTd.append(editSpan);\n editSpan.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n param.name = name;\n param.type = type;\n param.defaultValue = defaultValue;\n nameTd.html(name);\n typeTd.html(type);\n defaultValueTd.html(defaultValue);\n }, param);\n });\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ParameterTable.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ParameterTable; });\n/* harmony import */ var _ParameterDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParameterDialog.js */ \"./src/dialog/ParameterDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-06.\n */\n\n\nclass ParameterTable {\n constructor(container, data) {\n this.data = data;\n const addButton = $(``);\n container.append(addButton);\n const _this = this;\n const table = $(`\n \n \n \n \n \n \n \n \n \n
    ${window.i18n.dialog.paramTable.paramName}${window.i18n.dialog.paramTable.paramDatatype}${window.i18n.dialog.paramTable.defaultValue}${window.i18n.dialog.paramTable.operator}
    \n `);\n this.body = $(``);\n table.append(this.body);\n this._buildParameters();\n container.append(table);\n this.parameterDialog = new _ParameterDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.data);\n addButton.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n const obj = { name, type, defaultValue };\n _this.data.push(obj);\n const newTr = $(``);\n const nameTd = $(`${name}`);\n const typeTd = $(`${type}`);\n const defaultValueTd = $(`${defaultValue}`);\n newTr.append(nameTd);\n newTr.append(typeTd);\n newTr.append(defaultValueTd);\n const opTd = $(``);\n const removeSpan = $(``);\n opTd.append(removeSpan);\n newTr.append(opTd);\n _this.body.append(newTr);\n removeSpan.on('click', () => {\n let index = _this.data.indexOf(obj);\n _this.data.splice(index, 1);\n newTr.remove();\n });\n const editSpan = $(``);\n opTd.append(editSpan);\n editSpan.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n obj.name = name;\n obj.type = type;\n obj.defaultValue = defaultValue;\n nameTd.html(name);\n typeTd.html(type);\n defaultValueTd.html(defaultValue);\n }, obj);\n });\n }, null);\n });\n }\n refreshData() {\n this.body.empty();\n this.parameterDialog.data = this.data;\n this._buildParameters();\n }\n _buildParameters() {\n const _this = this;\n for (let param of this.data) {\n const tr = $(``);\n const nameTd = $(`${param.name}`);\n const typeTd = $(`${param.type}`);\n const defaultValueTd = $(`${param.defaultValue}`);\n tr.append(nameTd);\n tr.append(typeTd);\n tr.append(defaultValueTd);\n\n const opTd = $(``);\n const deleteSpan = $(``);\n opTd.append(deleteSpan);\n tr.append(opTd);\n deleteSpan.on('click', () => {\n let index = _this.data.indexOf(param);\n _this.data.splice(index, 1);\n tr.remove();\n });\n this.body.append(tr);\n\n const editSpan = $(``);\n opTd.append(editSpan);\n editSpan.on('click', () => {\n _this.parameterDialog.show(function (name, type, defaultValue) {\n param.name = name;\n param.type = type;\n param.defaultValue = defaultValue;\n nameTd.html(name);\n typeTd.html(type);\n defaultValueTd.html(defaultValue);\n }, param);\n });\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/ParameterTable.js?"); /***/ }), @@ -5174,7 +5174,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PreviewDataDialog; });\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\nclass PreviewDataDialog {\n constructor() {\n const w = $(window).width(),\n h = $(window).height();\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.preview.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n this.title = this.dialog.find('.modal-title');\n this.body = this.dialog.find('.modal-body');\n const footer = this.dialog.find(\".modal-footer\");\n this.initBody();\n this.initButton(footer);\n }\n\n initBody() {\n this.body.append(`${window.i18n.dialog.preview.load}`);\n }\n\n initButton(footer) {\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n _this.dialog.modal('hide');\n });\n }\n\n showData(result) {\n this.body.empty();\n const data = result.data;\n // 调整统计数据的位置到modal-title,方便滚动查看\n this.title.append(`${window.i18n.dialog.preview.total}${result.total}${window.i18n.dialog.preview.totalMid}${result.currentTotal}${window.i18n.dialog.preview.item}`);\n // 去掉内部的滚动条,外部容器div.modal-body已有滚动条\n const div = $(`
    `);\n // const div = $(`
    `);\n this.body.append(div);\n const table = $('
    ');\n div.append(table);\n const fields = result.fields;\n const header = $(``);\n for (let field of fields) {\n header.append(`${field}`);\n }\n const theader = $(``);\n theader.append(header);\n table.append(theader);\n const body = $(``);\n table.append(body);\n for (let item of data) {\n const row = $(``);\n for (let field of fields) {\n row.append(`${item[field]}`);\n }\n body.append(row);\n }\n }\n\n showError(errorInfo) {\n this.body.empty();\n this.body.append(errorInfo);\n }\n\n show() {\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PreviewDataDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PreviewDataDialog; });\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\nclass PreviewDataDialog {\n constructor() {\n const w = $(window).width(),\n h = $(window).height();\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.preview.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n this.title = this.dialog.find('.modal-title');\n this.body = this.dialog.find('.modal-body');\n const footer = this.dialog.find(\".modal-footer\");\n this.initBody();\n this.initButton(footer);\n }\n\n initBody() {\n this.body.append(`${window.i18n.dialog.preview.load}`);\n }\n\n initButton(footer) {\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n _this.dialog.modal('hide');\n });\n }\n\n showData(result) {\n this.body.empty();\n const data = result.data;\n // 调整统计数据的位置到modal-title,方便滚动查看\n this.title.append(`${window.i18n.dialog.preview.total}${result.total}${window.i18n.dialog.preview.totalMid}${result.currentTotal}${window.i18n.dialog.preview.item}`);\n // 去掉内部的滚动条,外部容器div.modal-body已有滚动条\n const div = $(`
    `);\n // const div = $(`
    `);\n this.body.append(div);\n const table = $('
    ');\n div.append(table);\n const fields = result.fields;\n const header = $(``);\n for (let field of fields) {\n header.append(`${field}`);\n }\n const theader = $(``);\n theader.append(header);\n table.append(theader);\n const body = $(``);\n table.append(body);\n for (let item of data) {\n const row = $(``);\n for (let field of fields) {\n row.append(`${item[field]}`);\n }\n body.append(row);\n }\n }\n\n showError(errorInfo) {\n this.body.empty();\n this.body.append(errorInfo);\n }\n\n show() {\n this.dialog.modal('show');\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PreviewDataDialog.js?"); /***/ }), @@ -5186,7 +5186,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyConditionDialog; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _PropertyConditionItemDialog_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyConditionItemDialog.js */ \"./src/dialog/PropertyConditionItemDialog.js\");\n/* harmony import */ var _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EditPropertyConditionDialog.js */ \"./src/dialog/EditPropertyConditionDialog.js\");\n/* harmony import */ var _URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./URLParameterDialog.js */ \"./src/dialog/URLParameterDialog.js\");\n/* harmony import */ var _ConditionParameterCustomBorderDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConditionParameterCustomBorderDialog.js */ \"./src/dialog/ConditionParameterCustomBorderDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\n\nclass PropertyConditionDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`\n
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.propCondition.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const _this = this;\n const container = $(` \n
    \n \n ${window.i18n.dialog.propCondition.config}\n \n
    `);\n body.append(container);\n const itemGroup = $(``);\n container.append(itemGroup);\n const propertyConditionItemDialog = new _PropertyConditionItemDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n const addItemButton = $(`\n `);\n itemGroup.append(addItemButton);\n addItemButton.on('click', function () {\n const newItem = {\n name: '',\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n propertyConditionItemDialog.show(newItem, function () {\n _this.propertyConditions.push(newItem);\n const newOption = $(``);\n newOption.data(newItem);\n _this.itemSelect.append(newOption);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, 'add');\n });\n const editItemButton = $(`\n `);\n itemGroup.append(editItemButton);\n editItemButton.on('click', function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.editTip}`);\n return;\n }\n const item = option.data();\n propertyConditionItemDialog.show(item, function () {\n option.html(`${item.name}`);\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n targetItem = item;\n option.data(item);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, 'edit');\n });\n const delItemButton = $(``);\n itemGroup.append(delItemButton);\n delItemButton.on('click', function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.delTip}`);\n return;\n }\n const item = option.data();\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.dialog.propCondition.delConfirm}[${item.name}]?`, function () {\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const index = _this.propertyConditions.indexOf(targetItem);\n _this.propertyConditions.splice(index, 1);\n option.remove();\n _this.conditionList.empty();\n _this.propGroup.hide();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n });\n this.itemSelect = $(``);\n itemGroup.append(this.itemSelect);\n const conditionGroup = $(`
    \n ${window.i18n.dialog.propCondition.conditionConfig}
    `);\n body.append(conditionGroup);\n this._initCondition(conditionGroup);\n this.propGroup = $(`
    \n ${window.i18n.dialog.propCondition.propConfig}
    `);\n body.append(this.propGroup);\n this._initProperty(this.propGroup);\n this.propGroup.hide();\n this.itemSelect.change(function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n return;\n }\n _this.conditionList.empty();\n _this.propGroup.show();\n const item = option.data();\n _this._refreshProperties(item);\n if (!item.conditions) {\n item.conditions = [];\n }\n const conditions = item.conditions;\n let i = 0;\n for (let condition of conditions) {\n if (!condition.id) {\n condition.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n }\n const op = condition.operation;\n let text = condition.left + ' ' + op + \" \" + condition.right;\n if (!condition.left || condition.left === '') {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + (condition.right || condition.expr);\n }\n if (condition.join && i > 0) {\n text = condition.join + ' ' + text;\n }\n const newOption = $(``);\n newOption.data(condition);\n _this.conditionList.append(newOption);\n i++;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }\n });\n }\n _initCondition(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(``);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', function () {\n let fields = _this._buildFields();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectItem}`);\n return;\n }\n const item = option.data();\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const conditions = item.conditions;\n targetItem.conditions = conditions;\n const conditionDialog = new _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (type, left, op, right, join) {\n const c = {\n type,\n left,\n operation: op,\n right,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n conditions.push(c);\n let text = left + \" \" + op + \" \" + right;\n if (type === 'property' && (!left || left === '')) {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + right;\n }\n if (join) {\n text = join + \" \" + text;\n }\n const newOption = $(``);\n newOption.data(c);\n _this.conditionList.append(newOption);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', function () {\n let fields = _this._buildFields();\n const conditionOption = _this.conditionList.find('option:selected');\n if (conditionOption.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.editConditionTip}`);\n return;\n }\n const condition = conditionOption.data();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectConditionItem}`);\n return;\n }\n const conditions = option.data().conditions;\n const conditionDialog = new _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (type, left, op, right, join) {\n const conditionOption = _this.conditionList.find('option:selected');\n let targetCondition = conditionOption.data();\n targetCondition.type = type;\n targetCondition.left = left;\n targetCondition.operation = op;\n targetCondition.right = right;\n targetCondition.join = join;\n let text = left + \" \" + op + \" \" + right;\n if (type === 'property' && (!left || left === '')) {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + right;\n }\n if (join) {\n text = join + \" \" + text;\n }\n conditionOption.data(targetCondition);\n conditionOption.html(text);\n let c;\n for (let target of conditions) {\n if (target.id === targetCondition.id) {\n c = target;\n break;\n }\n }\n const index = conditions.indexOf(c);\n conditions.splice(index, 1, targetCondition);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', function () {\n const conditionOption = _this.conditionList.find('option:selected');\n if (conditionOption.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.delConditionTip}`);\n return;\n }\n const condition = conditionOption.data();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectDelCondition}`);\n return;\n }\n const conditions = option.data().conditions;\n let index = conditions.indexOf(condition);\n conditions.splice(index, 1);\n conditionOption.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n _buildFields() {\n let fields = [];\n if (!this.datasetName || this.datasetName === '') {\n return fields;\n }\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === this.datasetName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n return fields;\n }\n\n _initProperty(container) {\n const _this = this;\n const forceGroupContainer = $(`
    `);\n container.append(forceGroupContainer);\n this.forceCheckbox = $(``);\n forceGroupContainer.append(this.forceCheckbox);\n this.forceGroup = $(``);\n forceGroupContainer.append(this.forceGroup);\n this.forceColorEditor = $(`
    \n \n \n
    `);\n this.forceColorEditor.colorpicker({\n color: '#000',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.forceGroup.append(this.forceColorEditor);\n this.forceColorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.item.cellStyle.forecolor = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const forceScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.forceScopeSelect = $(``);\n forceScopeGroup.append(this.forceScopeSelect);\n this.forceScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.forecolorScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.forceGroup.append(forceScopeGroup);\n this.forceCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.item.forecolorScope = 'cell';\n _this.forceScopeSelect.val('cell');\n _this.forceGroup.show();\n } else {\n _this.forceGroup.hide();\n _this.forceColorEditor.val('');\n _this.item.cellStyle.forecolor = null;\n _this.item.forecolorScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.forceGroup.hide();\n\n const bgcolorGroupContainer = $(`
    `);\n container.append(bgcolorGroupContainer);\n this.bgcolorCheckbox = $(``);\n bgcolorGroupContainer.append(this.bgcolorCheckbox);\n this.bgcolorGroup = $(``);\n this.bgColorEditor = $(`
    \n \n \n
    `);\n this.bgColorEditor.colorpicker({\n color: '#fff',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.bgcolorGroup.append(this.bgColorEditor);\n this.bgColorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.item.cellStyle.bgcolor = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const bgcolorScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.bgcolorScopeSelect = $(``);\n bgcolorScopeGroup.append(this.bgcolorScopeSelect);\n this.bgcolorScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.bgcolorScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.bgcolorGroup.append(bgcolorScopeGroup);\n bgcolorGroupContainer.append(this.bgcolorGroup);\n this.bgcolorCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.item.bgcolorScope = 'cell';\n _this.bgcolorScopeSelect.val('cell');\n _this.bgcolorGroup.show();\n } else {\n _this.bgcolorGroup.hide();\n _this.bgColorEditor.val('');\n _this.item.cellStyle.bgcolor = null;\n _this.item.bgcolorScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.bgcolorGroup.hide();\n\n const fontGroupContainer = $(`
    `);\n container.append(fontGroupContainer);\n this.fontCheckbox = $(``);\n fontGroupContainer.append(this.fontCheckbox);\n this.fontGroup = $(``);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n fonts.push(\"\");\n this.fontSelect = $(``);\n for (let font of fonts) {\n this.fontSelect.append(``);\n }\n this.fontGroup.append(this.fontSelect);\n this.fontSelect.change(function () {\n _this.item.cellStyle.fontFamily = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontGroupContainer.append(this.fontGroup);\n this.fontCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontScopeSelect.val('cell');\n _this.item.fontFamilyScope = 'cell';\n _this.fontGroup.show();\n } else {\n _this.fontGroup.hide();\n _this.fontSelect.val('');\n _this.item.cellStyle.fontFamily = '0';\n _this.item.fontFamilyScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontGroup.hide();\n const fontScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontScopeSelect = $(``);\n fontScopeGroup.append(this.fontScopeSelect);\n this.fontScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.fontFamilyScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontGroup.append(fontScopeGroup);\n\n const fontSizeGroupContainer = $(`
    `);\n container.append(fontSizeGroupContainer);\n this.fontSizeCheckbox = $(``);\n fontSizeGroupContainer.append(this.fontSizeCheckbox);\n this.fontSizeGroup = $(``);\n this.fontSizeSelect = $(``);\n for (let i = 1; i <= 100; i++) {\n this.fontSizeSelect.append(``);\n }\n this.fontSizeGroup.append(this.fontSizeSelect);\n this.fontSizeSelect.change(function () {\n _this.item.cellStyle.fontSize = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontSizeGroupContainer.append(this.fontSizeGroup);\n this.fontSizeCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontSizeScopeSelect.val('cell');\n _this.item.fontSizeScope = 'cell';\n _this.fontSizeGroup.show();\n } else {\n _this.fontSizeGroup.hide();\n _this.fontSizeSelect.val('');\n _this.item.cellStyle.fontSize = '0';\n _this.item.fontSizeScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontSizeGroup.hide();\n const fontSizeScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontSizeScopeSelect = $(``);\n fontSizeScopeGroup.append(this.fontSizeScopeSelect);\n this.fontSizeScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.fontSizeScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontSizeGroup.append(fontSizeScopeGroup);\n\n const fontBoldGroupContainer = $(`
    `);\n container.append(fontBoldGroupContainer);\n this.fontBoldCheckbox = $(``);\n fontBoldGroupContainer.append(this.fontBoldCheckbox);\n this.fontBoldGroup = $(``);\n this.fontBoldSelect = $(``);\n this.fontBoldGroup.append(this.fontBoldSelect);\n this.fontBoldSelect.change(function () {\n _this.item.cellStyle.bold = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontBoldGroupContainer.append(this.fontBoldGroup);\n this.fontBoldCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontBoldScopeSelect.val('cell');\n _this.item.boldScope = 'cell';\n _this.fontBoldGroup.show();\n } else {\n _this.fontBoldGroup.hide();\n _this.fontBoldSelect.val('');\n _this.item.cellStyle.bold = null;\n _this.item.boldScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontBoldGroup.hide();\n const fontBoldScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontBoldScopeSelect = $(``);\n fontBoldScopeGroup.append(this.fontBoldScopeSelect);\n this.fontBoldScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.boldScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontBoldGroup.append(fontBoldScopeGroup);\n\n const fontItalicGroupContainer = $(`
    `);\n container.append(fontItalicGroupContainer);\n this.fontItalicCheckbox = $(``);\n fontItalicGroupContainer.append(this.fontItalicCheckbox);\n this.fontItalicGroup = $(``);\n this.fontItalicSelect = $(``);\n this.fontItalicGroup.append(this.fontItalicSelect);\n this.fontItalicSelect.change(function () {\n _this.item.cellStyle.italic = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontItalicGroupContainer.append(this.fontItalicGroup);\n this.fontItalicCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontItalicScopeSelect.val('cell');\n _this.item.italicScope = 'cell';\n _this.fontItalicGroup.show();\n } else {\n _this.fontItalicGroup.hide();\n _this.fontItalicSelect.val('');\n _this.item.cellStyle.italic = null;\n _this.item.italicScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontItalicGroup.hide();\n const fontItalicScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontItalicScopeSelect = $(``);\n fontItalicScopeGroup.append(this.fontItalicScopeSelect);\n this.fontItalicScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.italicScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontItalicGroup.append(fontItalicScopeGroup);\n\n const fontUnderlineGroupContainer = $(`
    `);\n container.append(fontUnderlineGroupContainer);\n this.fontUnderlineCheckbox = $(``);\n fontUnderlineGroupContainer.append(this.fontUnderlineCheckbox);\n this.fontUnderlineGroup = $(``);\n this.fontUnderlineSelect = $(``);\n this.fontUnderlineGroup.append(this.fontUnderlineSelect);\n this.fontUnderlineSelect.change(function () {\n _this.item.cellStyle.underline = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontUnderlineGroupContainer.append(this.fontUnderlineGroup);\n this.fontUnderlineCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontUnderlineScopeSelect.val('cell');\n _this.item.underlineScope = 'cell';\n _this.fontUnderlineGroup.show();\n } else {\n _this.fontUnderlineGroup.hide();\n _this.fontUnderlineSelect.val('');\n _this.item.cellStyle.underline = null;\n _this.item.underlineScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontUnderlineGroup.hide();\n const fontUnderlineScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontUnderlineScopeSelect = $(``);\n fontUnderlineScopeGroup.append(this.fontUnderlineScopeSelect);\n this.fontUnderlineScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.underlineScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontUnderlineGroup.append(fontUnderlineScopeGroup);\n\n const alignGroupContainer = $(`
    `);\n container.append(alignGroupContainer);\n this.alignCheckbox = $(``);\n alignGroupContainer.append(this.alignCheckbox);\n this.alignGroup = $(``);\n this.alignSelect = $(``);\n this.alignGroup.append(this.alignSelect);\n this.alignSelect.change(function () {\n _this.item.cellStyle.align = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n alignGroupContainer.append(this.alignGroup);\n this.alignCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.alignScopeSelect.val('cell');\n _this.item.alignScope = 'cell';\n _this.alignGroup.show();\n } else {\n _this.alignGroup.hide();\n _this.alignSelect.val('');\n _this.item.cellStyle.align = null;\n _this.item.alignScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.alignGroup.hide();\n const alignScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.alignScopeSelect = $(``);\n alignScopeGroup.append(this.alignScopeSelect);\n this.alignScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.alignScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.alignGroup.append(alignScopeGroup);\n\n const valignGroupContainer = $(`
    `);\n container.append(valignGroupContainer);\n this.valignCheckbox = $(``);\n valignGroupContainer.append(this.valignCheckbox);\n this.valignGroup = $(``);\n this.valignSelect = $(``);\n this.valignGroup.append(this.valignSelect);\n this.valignSelect.change(function () {\n _this.item.cellStyle.valign = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n valignGroupContainer.append(this.valignGroup);\n this.valignCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.valignScopeSelect.val('cell');\n _this.item.valignScope = 'cell';\n _this.valignGroup.show();\n } else {\n _this.valignGroup.hide();\n _this.valignSelect.val('');\n _this.item.cellStyle.valign = null;\n _this.item.valignScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.valignGroup.hide();\n const valignScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.valignScopeSelect = $(``);\n valignScopeGroup.append(this.valignScopeSelect);\n this.valignScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.valignScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.valignGroup.append(valignScopeGroup);\n\n const borderGroupContainer = $(`
    `);\n container.append(borderGroupContainer);\n this.borderCheckbox = $(``);\n borderGroupContainer.append(this.borderCheckbox);\n this.borderGroup = $(``);\n borderGroupContainer.append(this.borderGroup);\n const configBorderButton = $(``);\n const conditionParameterCustomBorderDialog = new _ConditionParameterCustomBorderDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n configBorderButton.on('click', function () {\n const cellStyle = _this.item.cellStyle;\n if (!cellStyle.leftBorder) {\n cellStyle.leftBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.rightBorder) {\n cellStyle.rightBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.topBorder) {\n cellStyle.topBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.bottomBorder) {\n cellStyle.bottomBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n conditionParameterCustomBorderDialog.show(cellStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.borderGroup.append(configBorderButton);\n this.borderCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.borderGroup.show();\n } else {\n _this.borderGroup.hide();\n _this.alignSelect.val('');\n const cellStyle = _this.item.cellStyle;\n cellStyle.leftBorder = null;\n cellStyle.rightBorder = null;\n cellStyle.topBorder = null;\n cellStyle.bottomBorder = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.borderGroup.hide();\n\n const newValueGroupContainer = $(`
    `);\n container.append(newValueGroupContainer);\n this.newValueCheckbox = $(``);\n newValueGroupContainer.append(this.newValueCheckbox);\n this.newValueGroup = $(``);\n newValueGroupContainer.append(this.newValueGroup);\n this.newValueEditor = $(``);\n this.newValueGroup.append(this.newValueEditor);\n this.newValueEditor.change(function () {\n _this.item.newValue = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.newValueCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.newValueGroup.show();\n } else {\n _this.newValueGroup.hide();\n _this.newValueEditor.val('');\n _this.item.newValue = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.newValueGroup.hide();\n\n const formatGroupContainer = $(`
    `);\n container.append(formatGroupContainer);\n this.formatCheckbox = $(``);\n formatGroupContainer.append(this.formatCheckbox);\n this.formatGroup = $(``);\n formatGroupContainer.append(this.formatGroup);\n this.formatEditor = $(``);\n this.formatGroup.append(this.formatEditor);\n this.formatEditor.change(function () {\n _this.item.cellStyle.format = $(this).val();\n });\n this.formatCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.formatGroup.show();\n } else {\n _this.formatGroup.hide();\n _this.formatEditor.val('');\n _this.item.cellStyle.format = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.formatGroup.hide();\n this.formatEditor.completer({\n source: [\"yyyy/MM/dd\", \"yyyy/MM\", \"yyyy-MM\", \"yyyy\", \"yyyy-MM-dd HH:mm:ss\", \"yyyy年MM月dd日 HH:mm:ss\", \"yyyy-MM-dd\", \"yyyy年MM月dd日\", \"HH:mm\", \"HH:mm:ss\", \"#.##\", \"#.00\", \"##.##%\", \"##.00%\", \"##,###.##\", \"¥##,###.##\", \"$##,###.##\", \"0.00E00\", \"##0.0E0\"],\n complete: function () {\n let value = _this.formatEditor.val();\n _this.item.cellStyle.format = value;\n },\n suggest: true,\n zIndex: 1301\n });\n\n const rowHeightGroupContainer = $(`
    `);\n container.append(rowHeightGroupContainer);\n this.rowHeightCheckbox = $(``);\n rowHeightGroupContainer.append(this.rowHeightCheckbox);\n this.rowHeightGroup = $(``);\n rowHeightGroupContainer.append(this.rowHeightGroup);\n this.rowHeightEditor = $(``);\n this.rowHeightGroup.append(this.rowHeightEditor);\n this.rowHeightEditor.change(function () {\n _this.item.rowHeight = $(this).val();\n });\n this.rowHeightCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.rowHeightGroup.show();\n _this.item.rowHeight = 0;\n _this.rowHeightEditor.val('0');\n } else {\n _this.rowHeightGroup.hide();\n _this.rowHeightEditor.val('');\n _this.item.rowHeight = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.rowHeightGroup.hide();\n\n const colWidthGroupContainer = $(`
    `);\n container.append(colWidthGroupContainer);\n this.colWidthCheckbox = $(``);\n colWidthGroupContainer.append(this.colWidthCheckbox);\n this.colWidthGroup = $(``);\n colWidthGroupContainer.append(this.colWidthGroup);\n this.colWidthEditor = $(``);\n this.colWidthGroup.append(this.colWidthEditor);\n this.colWidthEditor.change(function () {\n _this.item.colWidth = $(this).val();\n });\n this.colWidthCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.colWidthGroup.show();\n _this.item.colWidth = 0;\n _this.colWidthEditor.val('0');\n } else {\n _this.colWidthGroup.hide();\n _this.colWidthEditor.val('');\n _this.item.colWidth = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.colWidthGroup.hide();\n\n const pagingBreakContainer = $(`
    `);\n container.append(pagingBreakContainer);\n this.pagingBreakCheckbox = $(``);\n pagingBreakContainer.append(this.pagingBreakCheckbox);\n this.pagingBreakGroup = $(``);\n pagingBreakContainer.append(this.pagingBreakGroup);\n this.pagingBreakSelect = $(``);\n this.pagingBreakGroup.append(this.pagingBreakSelect);\n this.pagingBreakSelect.change(function () {\n _this.item.paging.position = $(this).val();\n });\n this.pagingLineEditor = $(``);\n this.pagingBreakGroup.append(this.pagingLineEditor);\n this.pagingLineEditor.hide();\n this.pagingBreakGroup.append(`${window.i18n.dialog.propCondition.paging}`);\n this.pagingLineEditor.change(function () {\n _this.item.paging.line = $(this).val();\n });\n this.pagingBreakCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.pagingBreakGroup.show();\n _this.item.paging = {\n position: \"after\",\n line: 0\n };\n _this.pagingLineEditor.val('0');\n } else {\n _this.pagingBreakGroup.hide();\n _this.item.paging = null;\n _this.pagingLineEditor.val('0');\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.pagingBreakGroup.hide();\n\n const linkGroupContainer = $(`
    `);\n container.append(linkGroupContainer);\n this.linkCheckbox = $(``);\n linkGroupContainer.append(this.linkCheckbox);\n this.linkGroup = $(``);\n this.linkEditor = $(`URL:`);\n this.linkGroup.append(this.linkEditor);\n this.linkEditor.children('input').change(function () {\n _this.item.linkUrl = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.linkTargetSelect = $(`${window.i18n.dialog.propCondition.target}`);\n this.linkGroup.append(this.linkTargetSelect);\n this.linkTargetSelect.children('select').change(function () {\n _this.item.linkTargetWindow = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const linkParameterButton = $(``);\n this.linkGroup.append(linkParameterButton);\n const urlParameterDialog = new _URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n linkParameterButton.on('click', function () {\n if (!_this.item.linkUrl) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.linkUrl}`);\n return;\n }\n if (!_this.item.linkParameters) {\n _this.item.linkParameters = [];\n }\n urlParameterDialog.show(_this.item.linkParameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n\n linkGroupContainer.append(this.linkGroup);\n this.linkCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.linkGroup.show();\n } else {\n _this.linkGroup.hide();\n _this.linkEditor.children('input').val('');\n _this.linkTargetSelect.children('select').val('');\n _this.item.linkUrl = null;\n _this.item.linkTargetWindow = null;\n _this.item.linkParameters = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.linkGroup.hide();\n }\n\n _refreshProperties(item) {\n if (!item.cellStyle) {\n item.cellStyle = {\n fontSize: '0',\n fontFamily: '0'\n };\n }\n let targetItem;\n for (let target of this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const index = this.propertyConditions.indexOf(targetItem);\n this.propertyConditions.splice(index, 1, item);\n this.item = item;\n this.propGroup.show();\n this.rowHeightEditor.val('');\n const rowHeight = item.rowHeight;\n if (rowHeight !== null && rowHeight !== undefined && rowHeight !== -1) {\n this.rowHeightGroup.show();\n this.rowHeightEditor.val(rowHeight);\n this.rowHeightCheckbox.children('input').prop('checked', true);\n } else {\n this.rowHeightGroup.hide();\n this.rowHeightCheckbox.children('input').prop('checked', false);\n }\n this.colWidthEditor.val('');\n const colWidth = item.colWidth;\n if (colWidth !== null && colWidth !== undefined && colWidth !== -1) {\n this.colWidthGroup.show();\n this.colWidthEditor.val(colWidth);\n this.colWidthCheckbox.children('input').prop('checked', true);\n } else {\n this.colWidthGroup.hide();\n this.colWidthCheckbox.children('input').prop('checked', false);\n }\n this.newValueEditor.val('');\n const newValue = item.newValue;\n if (newValue && newValue !== '') {\n this.newValueEditor.val(newValue);\n this.newValueGroup.show();\n this.newValueCheckbox.children('input').prop('checked', true);\n } else {\n this.newValueGroup.hide();\n this.newValueCheckbox.children('input').prop('checked', false);\n }\n this.linkEditor.children('input').val('');\n this.linkTargetSelect.children('select').val('');\n const linkUrl = item.linkUrl;\n if (linkUrl) {\n this.linkEditor.children('input').val(linkUrl);\n this.linkTargetSelect.children('select').val(item.linkTargetWindow);\n this.linkGroup.show();\n this.linkCheckbox.children('input').prop('checked', true);\n } else {\n this.linkGroup.hide();\n this.linkCheckbox.children('input').prop('checked', false);\n }\n this.pagingBreakSelect.val('');\n this.pagingLineEditor.val('');\n const paging = item.paging;\n if (paging) {\n this.pagingBreakGroup.show();\n this.pagingBreakCheckbox.children('input').prop('checked', true);\n this.pagingBreakSelect.val(paging.position);\n this.pagingLineEditor.val(paging.line);\n } else {\n this.pagingBreakCheckbox.children('input').prop('checked', false);\n this.pagingBreakGroup.hide();\n }\n\n this.forceColorEditor.children('input').val('');\n this.forceScopeSelect.val('');\n const cellStyle = item.cellStyle || {};\n const forecolor = cellStyle.forecolor;\n if (forecolor && forecolor !== '') {\n this.forceGroup.show();\n this.forceColorEditor.children('input').val(\"rgb(\" + forecolor + \")\");\n this.forceColorEditor.children('input').trigger(\"change\");\n this.forceCheckbox.children('input').prop('checked', true);\n this.forceScopeSelect.val(cellStyle.forecolorScope);\n } else {\n this.forceGroup.hide();\n this.forceCheckbox.children('input').prop('checked', false);\n }\n this.bgColorEditor.children('input').val('');\n this.bgcolorScopeSelect.val('');\n const bgcolor = cellStyle.bgcolor;\n if (bgcolor && bgcolor !== '') {\n this.bgcolorGroup.show();\n this.bgColorEditor.children('input').val(\"rgb(\" + bgcolor + \")\");\n this.bgColorEditor.children('input').trigger(\"change\");\n this.bgcolorCheckbox.children('input').prop('checked', true);\n this.bgcolorScopeSelect.val(cellStyle.bgcolorScope);\n } else {\n this.bgcolorGroup.hide();\n this.bgcolorCheckbox.children('input').prop('checked', false);\n }\n this.fontSelect.val('');\n this.fontScopeSelect.val('');\n const fontFamily = cellStyle.fontFamily;\n if (fontFamily && fontFamily !== '0') {\n this.fontSelect.val(fontFamily);\n this.fontGroup.show();\n this.fontCheckbox.children('input').prop('checked', true);\n this.fontScopeSelect.val(cellStyle.fontFamilyScope);\n } else {\n this.fontGroup.hide();\n this.fontCheckbox.children('input').prop('checked', false);\n }\n this.fontSizeSelect.val('');\n this.fontSizeScopeSelect.val('');\n const fontSize = cellStyle.fontSize;\n if (fontSize && fontSize !== '0') {\n this.fontSizeSelect.val(fontSize);\n this.fontSizeCheckbox.children('input').prop('checked', true);\n this.fontSizeGroup.show();\n this.fontSizeScopeSelect.val(cellStyle.fontSizeScope);\n } else {\n this.fontSizeCheckbox.children('input').prop('checked', false);\n this.fontSizeGroup.hide();\n }\n this.fontBoldSelect.val(\"false\");\n this.fontBoldScopeSelect.val('');\n const bold = cellStyle.bold;\n if (bold !== null && bold !== undefined && bold !== '') {\n if (bold === \"true\" || bold === true) {\n this.fontBoldSelect.val(\"true\");\n } else {\n this.fontBoldSelect.val(\"false\");\n }\n this.fontBoldCheckbox.children('input').prop('checked', true);\n this.fontBoldGroup.show();\n this.fontBoldScopeSelect.val(cellStyle.boldScope);\n } else {\n this.fontBoldCheckbox.children('input').prop('checked', false);\n this.fontBoldGroup.hide();\n }\n this.fontItalicSelect.val(\"false\");\n this.fontItalicScopeSelect.val('');\n const italic = cellStyle.italic;\n if (italic !== null && italic !== undefined && italic !== '') {\n if (italic === true || italic === \"true\") {\n this.fontItalicSelect.val(\"true\");\n } else {\n this.fontItalicSelect.val(\"false\");\n }\n this.fontItalicCheckbox.children('input').prop('checked', true);\n this.fontItalicGroup.show();\n this.fontItalicScopeSelect.val(cellStyle.italicScope);\n } else {\n this.fontItalicCheckbox.children('input').prop('checked', false);\n this.fontItalicGroup.hide();\n }\n this.fontUnderlineSelect.val(\"false\");\n this.fontUnderlineScopeSelect.val('');\n const underline = cellStyle.underline;\n if (underline !== null && underline !== undefined && underline !== '') {\n if (underline === true || underline === \"true\") {\n this.fontUnderlineSelect.val(\"true\");\n } else {\n this.fontUnderlineSelect.val(\"false\");\n }\n this.fontUnderlineCheckbox.children('input').prop('checked', true);\n this.fontUnderlineGroup.show();\n this.fontUnderlineScopeSelect.val(cellStyle.underlineScope);\n } else {\n this.fontUnderlineCheckbox.children('input').prop('checked', false);\n this.fontUnderlineGroup.hide();\n }\n this.alignSelect.val('');\n this.alignScopeSelect.val('');\n const align = cellStyle.align;\n if (align && align !== '') {\n this.alignSelect.val(align);\n this.alignCheckbox.children('input').prop('checked', true);\n this.alignGroup.show();\n this.alignScopeSelect.val(cellStyle.alignScope);\n } else {\n this.alignCheckbox.children('input').prop('checked', false);\n this.alignGroup.hide();\n }\n this.valignSelect.val('');\n this.valignScopeSelect.val('');\n const valign = cellStyle.valign;\n if (valign && valign !== '') {\n this.valignSelect.val(valign);\n this.valignCheckbox.children('input').prop('checked', true);\n this.valignGroup.show();\n this.valignScopeSelect.val(cellStyle.valignScope);\n } else {\n this.valignCheckbox.children('input').prop('checked', false);\n this.valignGroup.hide();\n }\n if (cellStyle.leftBorder || cellStyle.rightBorder || cellStyle.topBorder || cellStyle.bottomBorder) {\n this.borderCheckbox.children('input').prop('checked', true);\n this.borderGroup.show();\n } else {\n this.borderCheckbox.children('input').prop('checked', false);\n this.borderGroup.hide();\n }\n this.formatEditor.val('');\n const format = cellStyle.format;\n if (format && format !== '') {\n this.formatEditor.val(format);\n this.formatCheckbox.children('input').prop('checked', true);\n this.formatGroup.show();\n } else {\n this.formatCheckbox.children('input').prop('checked', false);\n this.formatGroup.hide();\n }\n }\n\n show(datasources, datasetName, propertyConditions) {\n this.datasources = datasources;\n this.datasetName = datasetName;\n this.propertyConditions = propertyConditions;\n this.dialog.modal('show');\n this.itemSelect.empty();\n for (let item of propertyConditions) {\n if (!item.id) {\n item.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n }\n const newOption = $(``);\n newOption.data(item);\n this.itemSelect.append(newOption);\n }\n this.conditionList.empty();\n this.propGroup.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PropertyConditionDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyConditionDialog; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _PropertyConditionItemDialog_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyConditionItemDialog.js */ \"./src/dialog/PropertyConditionItemDialog.js\");\n/* harmony import */ var _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EditPropertyConditionDialog.js */ \"./src/dialog/EditPropertyConditionDialog.js\");\n/* harmony import */ var _URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./URLParameterDialog.js */ \"./src/dialog/URLParameterDialog.js\");\n/* harmony import */ var _ConditionParameterCustomBorderDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConditionParameterCustomBorderDialog.js */ \"./src/dialog/ConditionParameterCustomBorderDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\n\nclass PropertyConditionDialog {\n constructor(datasources) {\n this.datasources = datasources;\n this.dialog = $(`\n
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.propCondition.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const _this = this;\n const container = $(` \n
    \n \n ${window.i18n.dialog.propCondition.config}\n \n
    `);\n body.append(container);\n const itemGroup = $(``);\n container.append(itemGroup);\n const propertyConditionItemDialog = new _PropertyConditionItemDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n const addItemButton = $(`\n `);\n itemGroup.append(addItemButton);\n addItemButton.on('click', function () {\n const newItem = {\n name: '',\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n propertyConditionItemDialog.show(newItem, function () {\n _this.propertyConditions.push(newItem);\n const newOption = $(``);\n newOption.data(newItem);\n _this.itemSelect.append(newOption);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, 'add');\n });\n const editItemButton = $(`\n `);\n itemGroup.append(editItemButton);\n editItemButton.on('click', function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.editTip}`);\n return;\n }\n const item = option.data();\n propertyConditionItemDialog.show(item, function () {\n option.html(`${item.name}`);\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n targetItem = item;\n option.data(item);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, 'edit');\n });\n const delItemButton = $(``);\n itemGroup.append(delItemButton);\n delItemButton.on('click', function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.delTip}`);\n return;\n }\n const item = option.data();\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.dialog.propCondition.delConfirm}[${item.name}]?`, function () {\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const index = _this.propertyConditions.indexOf(targetItem);\n _this.propertyConditions.splice(index, 1);\n option.remove();\n _this.conditionList.empty();\n _this.propGroup.hide();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n });\n this.itemSelect = $(``);\n itemGroup.append(this.itemSelect);\n const conditionGroup = $(`
    \n ${window.i18n.dialog.propCondition.conditionConfig}
    `);\n body.append(conditionGroup);\n this._initCondition(conditionGroup);\n this.propGroup = $(`
    \n ${window.i18n.dialog.propCondition.propConfig}
    `);\n body.append(this.propGroup);\n this._initProperty(this.propGroup);\n this.propGroup.hide();\n this.itemSelect.change(function () {\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n return;\n }\n _this.conditionList.empty();\n _this.propGroup.show();\n const item = option.data();\n _this._refreshProperties(item);\n if (!item.conditions) {\n item.conditions = [];\n }\n const conditions = item.conditions;\n let i = 0;\n for (let condition of conditions) {\n if (!condition.id) {\n condition.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n }\n const op = condition.operation;\n let text = condition.left + ' ' + op + \" \" + condition.right;\n if (!condition.left || condition.left === '') {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + (condition.right || condition.expr);\n }\n if (condition.join && i > 0) {\n text = condition.join + ' ' + text;\n }\n const newOption = $(``);\n newOption.data(condition);\n _this.conditionList.append(newOption);\n i++;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }\n });\n }\n _initCondition(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(``);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', function () {\n let fields = _this._buildFields();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectItem}`);\n return;\n }\n const item = option.data();\n let targetItem;\n for (let target of _this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const conditions = item.conditions;\n targetItem.conditions = conditions;\n const conditionDialog = new _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (type, left, op, right, join) {\n const c = {\n type,\n left,\n operation: op,\n right,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1()\n };\n conditions.push(c);\n let text = left + \" \" + op + \" \" + right;\n if (type === 'property' && (!left || left === '')) {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + right;\n }\n if (join) {\n text = join + \" \" + text;\n }\n const newOption = $(``);\n newOption.data(c);\n _this.conditionList.append(newOption);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', function () {\n let fields = _this._buildFields();\n const conditionOption = _this.conditionList.find('option:selected');\n if (conditionOption.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.editConditionTip}`);\n return;\n }\n const condition = conditionOption.data();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectConditionItem}`);\n return;\n }\n const conditions = option.data().conditions;\n const conditionDialog = new _EditPropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](conditions);\n conditionDialog.show(function (type, left, op, right, join) {\n const conditionOption = _this.conditionList.find('option:selected');\n let targetCondition = conditionOption.data();\n targetCondition.type = type;\n targetCondition.left = left;\n targetCondition.operation = op;\n targetCondition.right = right;\n targetCondition.join = join;\n let text = left + \" \" + op + \" \" + right;\n if (type === 'property' && (!left || left === '')) {\n text = `${window.i18n.dialog.propCondition.currentValue} ` + op + \" \" + right;\n }\n if (join) {\n text = join + \" \" + text;\n }\n conditionOption.data(targetCondition);\n conditionOption.html(text);\n let c;\n for (let target of conditions) {\n if (target.id === targetCondition.id) {\n c = target;\n break;\n }\n }\n const index = conditions.indexOf(c);\n conditions.splice(index, 1, targetCondition);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n }, fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', function () {\n const conditionOption = _this.conditionList.find('option:selected');\n if (conditionOption.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.delConditionTip}`);\n return;\n }\n const condition = conditionOption.data();\n const option = _this.itemSelect.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.selectDelCondition}`);\n return;\n }\n const conditions = option.data().conditions;\n let index = conditions.indexOf(condition);\n conditions.splice(index, 1);\n conditionOption.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n _buildFields() {\n let fields = [];\n if (!this.datasetName || this.datasetName === '') {\n return fields;\n }\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === this.datasetName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n return fields;\n }\n\n _initProperty(container) {\n const _this = this;\n const forceGroupContainer = $(`
    `);\n container.append(forceGroupContainer);\n this.forceCheckbox = $(``);\n forceGroupContainer.append(this.forceCheckbox);\n this.forceGroup = $(``);\n forceGroupContainer.append(this.forceGroup);\n this.forceColorEditor = $(`
    \n \n \n
    `);\n this.forceColorEditor.colorpicker({\n color: '#000',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.forceGroup.append(this.forceColorEditor);\n this.forceColorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.item.cellStyle.forecolor = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const forceScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.forceScopeSelect = $(``);\n forceScopeGroup.append(this.forceScopeSelect);\n this.forceScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.forecolorScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.forceGroup.append(forceScopeGroup);\n this.forceCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.item.forecolorScope = 'cell';\n _this.forceScopeSelect.val('cell');\n _this.forceGroup.show();\n } else {\n _this.forceGroup.hide();\n _this.forceColorEditor.val('');\n _this.item.cellStyle.forecolor = null;\n _this.item.forecolorScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.forceGroup.hide();\n\n const bgcolorGroupContainer = $(`
    `);\n container.append(bgcolorGroupContainer);\n this.bgcolorCheckbox = $(``);\n bgcolorGroupContainer.append(this.bgcolorCheckbox);\n this.bgcolorGroup = $(``);\n this.bgColorEditor = $(`
    \n \n \n
    `);\n this.bgColorEditor.colorpicker({\n color: '#fff',\n container: true,\n format: 'rgb',\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n this.bgcolorGroup.append(this.bgColorEditor);\n this.bgColorEditor.children('input').change(function () {\n let val = $(this).val();\n if (val.length > 5) {\n val = val.substring(4, val.length - 1);\n }\n _this.item.cellStyle.bgcolor = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const bgcolorScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.bgcolorScopeSelect = $(``);\n bgcolorScopeGroup.append(this.bgcolorScopeSelect);\n this.bgcolorScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.bgcolorScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.bgcolorGroup.append(bgcolorScopeGroup);\n bgcolorGroupContainer.append(this.bgcolorGroup);\n this.bgcolorCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.item.bgcolorScope = 'cell';\n _this.bgcolorScopeSelect.val('cell');\n _this.bgcolorGroup.show();\n } else {\n _this.bgcolorGroup.hide();\n _this.bgColorEditor.val('');\n _this.item.cellStyle.bgcolor = null;\n _this.item.bgcolorScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.bgcolorGroup.hide();\n\n const fontGroupContainer = $(`
    `);\n container.append(fontGroupContainer);\n this.fontCheckbox = $(``);\n fontGroupContainer.append(this.fontCheckbox);\n this.fontGroup = $(``);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n fonts.push(\"\");\n this.fontSelect = $(``);\n for (let font of fonts) {\n this.fontSelect.append(``);\n }\n this.fontGroup.append(this.fontSelect);\n this.fontSelect.change(function () {\n _this.item.cellStyle.fontFamily = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontGroupContainer.append(this.fontGroup);\n this.fontCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontScopeSelect.val('cell');\n _this.item.fontFamilyScope = 'cell';\n _this.fontGroup.show();\n } else {\n _this.fontGroup.hide();\n _this.fontSelect.val('');\n _this.item.cellStyle.fontFamily = '0';\n _this.item.fontFamilyScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontGroup.hide();\n const fontScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontScopeSelect = $(``);\n fontScopeGroup.append(this.fontScopeSelect);\n this.fontScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.fontFamilyScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontGroup.append(fontScopeGroup);\n\n const fontSizeGroupContainer = $(`
    `);\n container.append(fontSizeGroupContainer);\n this.fontSizeCheckbox = $(``);\n fontSizeGroupContainer.append(this.fontSizeCheckbox);\n this.fontSizeGroup = $(``);\n this.fontSizeSelect = $(``);\n for (let i = 1; i <= 100; i++) {\n this.fontSizeSelect.append(``);\n }\n this.fontSizeGroup.append(this.fontSizeSelect);\n this.fontSizeSelect.change(function () {\n _this.item.cellStyle.fontSize = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontSizeGroupContainer.append(this.fontSizeGroup);\n this.fontSizeCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontSizeScopeSelect.val('cell');\n _this.item.fontSizeScope = 'cell';\n _this.fontSizeGroup.show();\n } else {\n _this.fontSizeGroup.hide();\n _this.fontSizeSelect.val('');\n _this.item.cellStyle.fontSize = '0';\n _this.item.fontSizeScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontSizeGroup.hide();\n const fontSizeScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontSizeScopeSelect = $(``);\n fontSizeScopeGroup.append(this.fontSizeScopeSelect);\n this.fontSizeScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.fontSizeScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontSizeGroup.append(fontSizeScopeGroup);\n\n const fontBoldGroupContainer = $(`
    `);\n container.append(fontBoldGroupContainer);\n this.fontBoldCheckbox = $(``);\n fontBoldGroupContainer.append(this.fontBoldCheckbox);\n this.fontBoldGroup = $(``);\n this.fontBoldSelect = $(``);\n this.fontBoldGroup.append(this.fontBoldSelect);\n this.fontBoldSelect.change(function () {\n _this.item.cellStyle.bold = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontBoldGroupContainer.append(this.fontBoldGroup);\n this.fontBoldCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontBoldScopeSelect.val('cell');\n _this.item.boldScope = 'cell';\n _this.fontBoldGroup.show();\n } else {\n _this.fontBoldGroup.hide();\n _this.fontBoldSelect.val('');\n _this.item.cellStyle.bold = null;\n _this.item.boldScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontBoldGroup.hide();\n const fontBoldScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontBoldScopeSelect = $(``);\n fontBoldScopeGroup.append(this.fontBoldScopeSelect);\n this.fontBoldScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.boldScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontBoldGroup.append(fontBoldScopeGroup);\n\n const fontItalicGroupContainer = $(`
    `);\n container.append(fontItalicGroupContainer);\n this.fontItalicCheckbox = $(``);\n fontItalicGroupContainer.append(this.fontItalicCheckbox);\n this.fontItalicGroup = $(``);\n this.fontItalicSelect = $(``);\n this.fontItalicGroup.append(this.fontItalicSelect);\n this.fontItalicSelect.change(function () {\n _this.item.cellStyle.italic = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontItalicGroupContainer.append(this.fontItalicGroup);\n this.fontItalicCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontItalicScopeSelect.val('cell');\n _this.item.italicScope = 'cell';\n _this.fontItalicGroup.show();\n } else {\n _this.fontItalicGroup.hide();\n _this.fontItalicSelect.val('');\n _this.item.cellStyle.italic = null;\n _this.item.italicScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontItalicGroup.hide();\n const fontItalicScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontItalicScopeSelect = $(``);\n fontItalicScopeGroup.append(this.fontItalicScopeSelect);\n this.fontItalicScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.italicScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontItalicGroup.append(fontItalicScopeGroup);\n\n const fontUnderlineGroupContainer = $(`
    `);\n container.append(fontUnderlineGroupContainer);\n this.fontUnderlineCheckbox = $(``);\n fontUnderlineGroupContainer.append(this.fontUnderlineCheckbox);\n this.fontUnderlineGroup = $(``);\n this.fontUnderlineSelect = $(``);\n this.fontUnderlineGroup.append(this.fontUnderlineSelect);\n this.fontUnderlineSelect.change(function () {\n _this.item.cellStyle.underline = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n fontUnderlineGroupContainer.append(this.fontUnderlineGroup);\n this.fontUnderlineCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.fontUnderlineScopeSelect.val('cell');\n _this.item.underlineScope = 'cell';\n _this.fontUnderlineGroup.show();\n } else {\n _this.fontUnderlineGroup.hide();\n _this.fontUnderlineSelect.val('');\n _this.item.cellStyle.underline = null;\n _this.item.underlineScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontUnderlineGroup.hide();\n const fontUnderlineScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.fontUnderlineScopeSelect = $(``);\n fontUnderlineScopeGroup.append(this.fontUnderlineScopeSelect);\n this.fontUnderlineScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.underlineScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.fontUnderlineGroup.append(fontUnderlineScopeGroup);\n\n const alignGroupContainer = $(`
    `);\n container.append(alignGroupContainer);\n this.alignCheckbox = $(``);\n alignGroupContainer.append(this.alignCheckbox);\n this.alignGroup = $(``);\n this.alignSelect = $(``);\n this.alignGroup.append(this.alignSelect);\n this.alignSelect.change(function () {\n _this.item.cellStyle.align = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n alignGroupContainer.append(this.alignGroup);\n this.alignCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.alignScopeSelect.val('cell');\n _this.item.alignScope = 'cell';\n _this.alignGroup.show();\n } else {\n _this.alignGroup.hide();\n _this.alignSelect.val('');\n _this.item.cellStyle.align = null;\n _this.item.alignScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.alignGroup.hide();\n const alignScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.alignScopeSelect = $(``);\n alignScopeGroup.append(this.alignScopeSelect);\n this.alignScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.alignScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.alignGroup.append(alignScopeGroup);\n\n const valignGroupContainer = $(`
    `);\n container.append(valignGroupContainer);\n this.valignCheckbox = $(``);\n valignGroupContainer.append(this.valignCheckbox);\n this.valignGroup = $(``);\n this.valignSelect = $(``);\n this.valignGroup.append(this.valignSelect);\n this.valignSelect.change(function () {\n _this.item.cellStyle.valign = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n valignGroupContainer.append(this.valignGroup);\n this.valignCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.valignScopeSelect.val('cell');\n _this.item.valignScope = 'cell';\n _this.valignGroup.show();\n } else {\n _this.valignGroup.hide();\n _this.valignSelect.val('');\n _this.item.cellStyle.valign = null;\n _this.item.valignScope = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.valignGroup.hide();\n const valignScopeGroup = $(`${window.i18n.dialog.propCondition.scope}`);\n this.valignScopeSelect = $(``);\n valignScopeGroup.append(this.valignScopeSelect);\n this.valignScopeSelect.change(function () {\n let val = $(this).val();\n _this.item.cellStyle.valignScope = val;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.valignGroup.append(valignScopeGroup);\n\n const borderGroupContainer = $(`
    `);\n container.append(borderGroupContainer);\n this.borderCheckbox = $(``);\n borderGroupContainer.append(this.borderCheckbox);\n this.borderGroup = $(``);\n borderGroupContainer.append(this.borderGroup);\n const configBorderButton = $(``);\n const conditionParameterCustomBorderDialog = new _ConditionParameterCustomBorderDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n configBorderButton.on('click', function () {\n const cellStyle = _this.item.cellStyle;\n if (!cellStyle.leftBorder) {\n cellStyle.leftBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.rightBorder) {\n cellStyle.rightBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.topBorder) {\n cellStyle.topBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n if (!cellStyle.bottomBorder) {\n cellStyle.bottomBorder = {\n color: '0,0,0',\n width: \"1\",\n style: 'solid'\n };\n }\n conditionParameterCustomBorderDialog.show(cellStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.borderGroup.append(configBorderButton);\n this.borderCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.borderGroup.show();\n } else {\n _this.borderGroup.hide();\n _this.alignSelect.val('');\n const cellStyle = _this.item.cellStyle;\n cellStyle.leftBorder = null;\n cellStyle.rightBorder = null;\n cellStyle.topBorder = null;\n cellStyle.bottomBorder = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.borderGroup.hide();\n\n const newValueGroupContainer = $(`
    `);\n container.append(newValueGroupContainer);\n this.newValueCheckbox = $(``);\n newValueGroupContainer.append(this.newValueCheckbox);\n this.newValueGroup = $(``);\n newValueGroupContainer.append(this.newValueGroup);\n this.newValueEditor = $(``);\n this.newValueGroup.append(this.newValueEditor);\n this.newValueEditor.change(function () {\n _this.item.newValue = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.newValueCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.newValueGroup.show();\n } else {\n _this.newValueGroup.hide();\n _this.newValueEditor.val('');\n _this.item.newValue = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.newValueGroup.hide();\n\n const formatGroupContainer = $(`
    `);\n container.append(formatGroupContainer);\n this.formatCheckbox = $(``);\n formatGroupContainer.append(this.formatCheckbox);\n this.formatGroup = $(``);\n formatGroupContainer.append(this.formatGroup);\n this.formatEditor = $(``);\n this.formatGroup.append(this.formatEditor);\n this.formatEditor.change(function () {\n _this.item.cellStyle.format = $(this).val();\n });\n this.formatCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.formatGroup.show();\n } else {\n _this.formatGroup.hide();\n _this.formatEditor.val('');\n _this.item.cellStyle.format = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.formatGroup.hide();\n this.formatEditor.completer({\n source: [\"yyyy/MM/dd\", \"yyyy/MM\", \"yyyy-MM\", \"yyyy\", \"yyyy-MM-dd HH:mm:ss\", \"yyyy年MM月dd日 HH:mm:ss\", \"yyyy-MM-dd\", \"yyyy年MM月dd日\", \"HH:mm\", \"HH:mm:ss\", \"#.##\", \"#.00\", \"##.##%\", \"##.00%\", \"##,###.##\", \"¥##,###.##\", \"$##,###.##\", \"0.00E00\", \"##0.0E0\"],\n complete: function () {\n let value = _this.formatEditor.val();\n _this.item.cellStyle.format = value;\n },\n suggest: true,\n zIndex: 1301\n });\n\n const rowHeightGroupContainer = $(`
    `);\n container.append(rowHeightGroupContainer);\n this.rowHeightCheckbox = $(``);\n rowHeightGroupContainer.append(this.rowHeightCheckbox);\n this.rowHeightGroup = $(``);\n rowHeightGroupContainer.append(this.rowHeightGroup);\n this.rowHeightEditor = $(``);\n this.rowHeightGroup.append(this.rowHeightEditor);\n this.rowHeightEditor.change(function () {\n _this.item.rowHeight = $(this).val();\n });\n this.rowHeightCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.rowHeightGroup.show();\n _this.item.rowHeight = 0;\n _this.rowHeightEditor.val('0');\n } else {\n _this.rowHeightGroup.hide();\n _this.rowHeightEditor.val('');\n _this.item.rowHeight = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.rowHeightGroup.hide();\n\n const colWidthGroupContainer = $(`
    `);\n container.append(colWidthGroupContainer);\n this.colWidthCheckbox = $(``);\n colWidthGroupContainer.append(this.colWidthCheckbox);\n this.colWidthGroup = $(``);\n colWidthGroupContainer.append(this.colWidthGroup);\n this.colWidthEditor = $(``);\n this.colWidthGroup.append(this.colWidthEditor);\n this.colWidthEditor.change(function () {\n _this.item.colWidth = $(this).val();\n });\n this.colWidthCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.colWidthGroup.show();\n _this.item.colWidth = 0;\n _this.colWidthEditor.val('0');\n } else {\n _this.colWidthGroup.hide();\n _this.colWidthEditor.val('');\n _this.item.colWidth = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.colWidthGroup.hide();\n\n const pagingBreakContainer = $(`
    `);\n container.append(pagingBreakContainer);\n this.pagingBreakCheckbox = $(``);\n pagingBreakContainer.append(this.pagingBreakCheckbox);\n this.pagingBreakGroup = $(``);\n pagingBreakContainer.append(this.pagingBreakGroup);\n this.pagingBreakSelect = $(``);\n this.pagingBreakGroup.append(this.pagingBreakSelect);\n this.pagingBreakSelect.change(function () {\n _this.item.paging.position = $(this).val();\n });\n this.pagingLineEditor = $(``);\n this.pagingBreakGroup.append(this.pagingLineEditor);\n this.pagingLineEditor.hide();\n this.pagingBreakGroup.append(`${window.i18n.dialog.propCondition.paging}`);\n this.pagingLineEditor.change(function () {\n _this.item.paging.line = $(this).val();\n });\n this.pagingBreakCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.pagingBreakGroup.show();\n _this.item.paging = {\n position: \"after\",\n line: 0\n };\n _this.pagingLineEditor.val('0');\n } else {\n _this.pagingBreakGroup.hide();\n _this.item.paging = null;\n _this.pagingLineEditor.val('0');\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.pagingBreakGroup.hide();\n\n const linkGroupContainer = $(`
    `);\n container.append(linkGroupContainer);\n this.linkCheckbox = $(``);\n linkGroupContainer.append(this.linkCheckbox);\n this.linkGroup = $(``);\n this.linkEditor = $(`URL:`);\n this.linkGroup.append(this.linkEditor);\n this.linkEditor.children('input').change(function () {\n _this.item.linkUrl = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.linkTargetSelect = $(`${window.i18n.dialog.propCondition.target}`);\n this.linkGroup.append(this.linkTargetSelect);\n this.linkTargetSelect.children('select').change(function () {\n _this.item.linkTargetWindow = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n const linkParameterButton = $(``);\n this.linkGroup.append(linkParameterButton);\n const urlParameterDialog = new _URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n linkParameterButton.on('click', function () {\n if (!_this.item.linkUrl) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.propCondition.linkUrl}`);\n return;\n }\n if (!_this.item.linkParameters) {\n _this.item.linkParameters = [];\n }\n urlParameterDialog.show(_this.item.linkParameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n\n linkGroupContainer.append(this.linkGroup);\n this.linkCheckbox.children('input').on('click', function () {\n const checked = $(this).prop('checked');\n if (checked) {\n _this.linkGroup.show();\n } else {\n _this.linkGroup.hide();\n _this.linkEditor.children('input').val('');\n _this.linkTargetSelect.children('select').val('');\n _this.item.linkUrl = null;\n _this.item.linkTargetWindow = null;\n _this.item.linkParameters = null;\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_2__[\"setDirty\"])();\n });\n this.linkGroup.hide();\n }\n\n _refreshProperties(item) {\n if (!item.cellStyle) {\n item.cellStyle = {\n fontSize: '0',\n fontFamily: '0'\n };\n }\n let targetItem;\n for (let target of this.propertyConditions) {\n if (target.id === item.id) {\n targetItem = target;\n break;\n }\n }\n const index = this.propertyConditions.indexOf(targetItem);\n this.propertyConditions.splice(index, 1, item);\n this.item = item;\n this.propGroup.show();\n this.rowHeightEditor.val('');\n const rowHeight = item.rowHeight;\n if (rowHeight !== null && rowHeight !== undefined && rowHeight !== -1) {\n this.rowHeightGroup.show();\n this.rowHeightEditor.val(rowHeight);\n this.rowHeightCheckbox.children('input').prop('checked', true);\n } else {\n this.rowHeightGroup.hide();\n this.rowHeightCheckbox.children('input').prop('checked', false);\n }\n this.colWidthEditor.val('');\n const colWidth = item.colWidth;\n if (colWidth !== null && colWidth !== undefined && colWidth !== -1) {\n this.colWidthGroup.show();\n this.colWidthEditor.val(colWidth);\n this.colWidthCheckbox.children('input').prop('checked', true);\n } else {\n this.colWidthGroup.hide();\n this.colWidthCheckbox.children('input').prop('checked', false);\n }\n this.newValueEditor.val('');\n const newValue = item.newValue;\n if (newValue && newValue !== '') {\n this.newValueEditor.val(newValue);\n this.newValueGroup.show();\n this.newValueCheckbox.children('input').prop('checked', true);\n } else {\n this.newValueGroup.hide();\n this.newValueCheckbox.children('input').prop('checked', false);\n }\n this.linkEditor.children('input').val('');\n this.linkTargetSelect.children('select').val('');\n const linkUrl = item.linkUrl;\n if (linkUrl) {\n this.linkEditor.children('input').val(linkUrl);\n this.linkTargetSelect.children('select').val(item.linkTargetWindow);\n this.linkGroup.show();\n this.linkCheckbox.children('input').prop('checked', true);\n } else {\n this.linkGroup.hide();\n this.linkCheckbox.children('input').prop('checked', false);\n }\n this.pagingBreakSelect.val('');\n this.pagingLineEditor.val('');\n const paging = item.paging;\n if (paging) {\n this.pagingBreakGroup.show();\n this.pagingBreakCheckbox.children('input').prop('checked', true);\n this.pagingBreakSelect.val(paging.position);\n this.pagingLineEditor.val(paging.line);\n } else {\n this.pagingBreakCheckbox.children('input').prop('checked', false);\n this.pagingBreakGroup.hide();\n }\n\n this.forceColorEditor.children('input').val('');\n this.forceScopeSelect.val('');\n const cellStyle = item.cellStyle || {};\n const forecolor = cellStyle.forecolor;\n if (forecolor && forecolor !== '') {\n this.forceGroup.show();\n this.forceColorEditor.children('input').val(\"rgb(\" + forecolor + \")\");\n this.forceColorEditor.children('input').trigger(\"change\");\n this.forceCheckbox.children('input').prop('checked', true);\n this.forceScopeSelect.val(cellStyle.forecolorScope);\n } else {\n this.forceGroup.hide();\n this.forceCheckbox.children('input').prop('checked', false);\n }\n this.bgColorEditor.children('input').val('');\n this.bgcolorScopeSelect.val('');\n const bgcolor = cellStyle.bgcolor;\n if (bgcolor && bgcolor !== '') {\n this.bgcolorGroup.show();\n this.bgColorEditor.children('input').val(\"rgb(\" + bgcolor + \")\");\n this.bgColorEditor.children('input').trigger(\"change\");\n this.bgcolorCheckbox.children('input').prop('checked', true);\n this.bgcolorScopeSelect.val(cellStyle.bgcolorScope);\n } else {\n this.bgcolorGroup.hide();\n this.bgcolorCheckbox.children('input').prop('checked', false);\n }\n this.fontSelect.val('');\n this.fontScopeSelect.val('');\n const fontFamily = cellStyle.fontFamily;\n if (fontFamily && fontFamily !== '0') {\n this.fontSelect.val(fontFamily);\n this.fontGroup.show();\n this.fontCheckbox.children('input').prop('checked', true);\n this.fontScopeSelect.val(cellStyle.fontFamilyScope);\n } else {\n this.fontGroup.hide();\n this.fontCheckbox.children('input').prop('checked', false);\n }\n this.fontSizeSelect.val('');\n this.fontSizeScopeSelect.val('');\n const fontSize = cellStyle.fontSize;\n if (fontSize && fontSize !== '0') {\n this.fontSizeSelect.val(fontSize);\n this.fontSizeCheckbox.children('input').prop('checked', true);\n this.fontSizeGroup.show();\n this.fontSizeScopeSelect.val(cellStyle.fontSizeScope);\n } else {\n this.fontSizeCheckbox.children('input').prop('checked', false);\n this.fontSizeGroup.hide();\n }\n this.fontBoldSelect.val(\"false\");\n this.fontBoldScopeSelect.val('');\n const bold = cellStyle.bold;\n if (bold !== null && bold !== undefined && bold !== '') {\n if (bold === \"true\" || bold === true) {\n this.fontBoldSelect.val(\"true\");\n } else {\n this.fontBoldSelect.val(\"false\");\n }\n this.fontBoldCheckbox.children('input').prop('checked', true);\n this.fontBoldGroup.show();\n this.fontBoldScopeSelect.val(cellStyle.boldScope);\n } else {\n this.fontBoldCheckbox.children('input').prop('checked', false);\n this.fontBoldGroup.hide();\n }\n this.fontItalicSelect.val(\"false\");\n this.fontItalicScopeSelect.val('');\n const italic = cellStyle.italic;\n if (italic !== null && italic !== undefined && italic !== '') {\n if (italic === true || italic === \"true\") {\n this.fontItalicSelect.val(\"true\");\n } else {\n this.fontItalicSelect.val(\"false\");\n }\n this.fontItalicCheckbox.children('input').prop('checked', true);\n this.fontItalicGroup.show();\n this.fontItalicScopeSelect.val(cellStyle.italicScope);\n } else {\n this.fontItalicCheckbox.children('input').prop('checked', false);\n this.fontItalicGroup.hide();\n }\n this.fontUnderlineSelect.val(\"false\");\n this.fontUnderlineScopeSelect.val('');\n const underline = cellStyle.underline;\n if (underline !== null && underline !== undefined && underline !== '') {\n if (underline === true || underline === \"true\") {\n this.fontUnderlineSelect.val(\"true\");\n } else {\n this.fontUnderlineSelect.val(\"false\");\n }\n this.fontUnderlineCheckbox.children('input').prop('checked', true);\n this.fontUnderlineGroup.show();\n this.fontUnderlineScopeSelect.val(cellStyle.underlineScope);\n } else {\n this.fontUnderlineCheckbox.children('input').prop('checked', false);\n this.fontUnderlineGroup.hide();\n }\n this.alignSelect.val('');\n this.alignScopeSelect.val('');\n const align = cellStyle.align;\n if (align && align !== '') {\n this.alignSelect.val(align);\n this.alignCheckbox.children('input').prop('checked', true);\n this.alignGroup.show();\n this.alignScopeSelect.val(cellStyle.alignScope);\n } else {\n this.alignCheckbox.children('input').prop('checked', false);\n this.alignGroup.hide();\n }\n this.valignSelect.val('');\n this.valignScopeSelect.val('');\n const valign = cellStyle.valign;\n if (valign && valign !== '') {\n this.valignSelect.val(valign);\n this.valignCheckbox.children('input').prop('checked', true);\n this.valignGroup.show();\n this.valignScopeSelect.val(cellStyle.valignScope);\n } else {\n this.valignCheckbox.children('input').prop('checked', false);\n this.valignGroup.hide();\n }\n if (cellStyle.leftBorder || cellStyle.rightBorder || cellStyle.topBorder || cellStyle.bottomBorder) {\n this.borderCheckbox.children('input').prop('checked', true);\n this.borderGroup.show();\n } else {\n this.borderCheckbox.children('input').prop('checked', false);\n this.borderGroup.hide();\n }\n this.formatEditor.val('');\n const format = cellStyle.format;\n if (format && format !== '') {\n this.formatEditor.val(format);\n this.formatCheckbox.children('input').prop('checked', true);\n this.formatGroup.show();\n } else {\n this.formatCheckbox.children('input').prop('checked', false);\n this.formatGroup.hide();\n }\n }\n\n show(datasources, datasetName, propertyConditions) {\n this.datasources = datasources;\n this.datasetName = datasetName;\n this.propertyConditions = propertyConditions;\n this.dialog.modal('show');\n this.itemSelect.empty();\n for (let item of propertyConditions) {\n if (!item.id) {\n item.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n }\n const newOption = $(``);\n newOption.data(item);\n this.itemSelect.append(newOption);\n }\n this.conditionList.empty();\n this.propGroup.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PropertyConditionDialog.js?"); /***/ }), @@ -5198,7 +5198,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyConditionItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass PropertyConditionItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.conditionItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.conditionItem.nameTip}`);\n return;\n }\n _this.conditionItem.name = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(conditionItem, callback, op) {\n this.conditionItem = conditionItem;\n this.callback = callback;\n this.dialog.modal('show');\n this.nameEditor.val(conditionItem.name);\n const title = this.dialog.find(\".modal-title\");\n if (op === 'add') {\n title.html(`${window.i18n.dialog.conditionItem.add}`);\n } else if (op === 'edit') {\n title.html(`${window.i18n.dialog.conditionItem.edit}`);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PropertyConditionItemDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyConditionItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass PropertyConditionItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.conditionItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.nameEditor = $(``);\n group.append(this.nameEditor);\n body.append(group);\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = _this.nameEditor.val();\n if (value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.conditionItem.nameTip}`);\n return;\n }\n _this.conditionItem.name = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(conditionItem, callback, op) {\n this.conditionItem = conditionItem;\n this.callback = callback;\n this.dialog.modal('show');\n this.nameEditor.val(conditionItem.name);\n const title = this.dialog.find(\".modal-title\");\n if (op === 'add') {\n title.html(`${window.i18n.dialog.conditionItem.add}`);\n } else if (op === 'edit') {\n title.html(`${window.i18n.dialog.conditionItem.edit}`);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/PropertyConditionItemDialog.js?"); /***/ }), @@ -5210,7 +5210,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RowColWidthHeightDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\nclass RowColWidthHeightDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.rowColWidthHeight.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.label = $(``);\n group.append(this.label);\n this.valueEditor = $(``);\n group.append(this.valueEditor);\n body.append(group);\n\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = parseInt(_this.valueEditor.val());\n if (!value) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.rowColWidthHeight.numValidate}`);\n return;\n }\n _this.callback.call(this, value);\n _this.dialog.modal('hide');\n });\n }\n show(callback, value, iscol) {\n this.dialog.modal('show');\n this.callback = callback;\n if (iscol) {\n this.label.html(`${window.i18n.dialog.rowColWidthHeight.colWidth}:`);\n $(\".row-col-wh\").html(`${window.i18n.dialog.rowColWidthHeight.colWidth}`);\n } else {\n this.label.html(`${window.i18n.dialog.rowColWidthHeight.rowHeight}:`);\n $(\".row-col-wh\").html(`${window.i18n.dialog.rowColWidthHeight.rowHeight}`);\n }\n this.valueEditor.val(value);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/RowColWidthHeightDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RowColWidthHeightDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\nclass RowColWidthHeightDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.rowColWidthHeight.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const group = $(`
    `);\n this.label = $(``);\n group.append(this.label);\n this.valueEditor = $(``);\n group.append(this.valueEditor);\n body.append(group);\n\n const button = $(``);\n footer.append(button);\n const _this = this;\n button.on('click', () => {\n const value = parseInt(_this.valueEditor.val());\n if (!value) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.rowColWidthHeight.numValidate}`);\n return;\n }\n _this.callback.call(this, value);\n _this.dialog.modal('hide');\n });\n }\n show(callback, value, iscol) {\n this.dialog.modal('show');\n this.callback = callback;\n if (iscol) {\n this.label.html(`${window.i18n.dialog.rowColWidthHeight.colWidth}:`);\n $(\".row-col-wh\").html(`${window.i18n.dialog.rowColWidthHeight.colWidth}`);\n } else {\n this.label.html(`${window.i18n.dialog.rowColWidthHeight.rowHeight}:`);\n $(\".row-col-wh\").html(`${window.i18n.dialog.rowColWidthHeight.rowHeight}`);\n }\n this.valueEditor.val(value);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/RowColWidthHeightDialog.js?"); /***/ }), @@ -5222,7 +5222,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SaveDialog; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-12.\r\n */\n\n\n\nclass SaveDialog {\n constructor() {\n this.reportFilesData = {};\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.save.title}\n

    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const footer = this.dialog.find(\".modal-footer\");\n this.initFooter(footer);\n }\n\n initFooter(footer) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n let fullName = $('#fileFullName').val();\n let categoryId = $(\"#categoryId option:selected\").val();\n let enCode = $('.js_save_enCode').val();\n let sortCode = $('.js_save_sortCode').val();\n let description = $('.js_save_description').val();\n\n if (fullName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.save.nameTip}`);\n $('#fileFullName').focus();\n return;\n }\n if (categoryId === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`分类不能为空`);\n return;\n }\n if (enCode === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`编码不能为空`);\n $('.js_save_enCode').focus();\n return;\n }\n\n let postData = {};\n let updateData = {};\n const account = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('account');\n const realName = decodeURI(decodeURI(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('realName')));\n const userName = `${account}/${realName}`;\n\n saveButton.attr(\"disabled\", \"true\");\n if (_this.context.baseInfo.id) {\n updateData = {\n fullName,\n categoryId,\n enCode,\n sortCode,\n description,\n content: _this.content\n };\n $.ajax({\n url: `${window._server}/api/datareport/Data/${_this.context.baseInfo.id}`,\n data: JSON.stringify(updateData),\n contentType: \"application/json\",\n dataType: \"json\",\n type: 'PUT',\n headers: {\n 'Authorization': token\n },\n success: res => {\n if (res.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"successAlert\"])(`${window.i18n.tools.save.successSave}`);\n _this.context.baseInfo = {\n id: _this.context.baseInfo.id,\n fullName,\n categoryId,\n enCode\n };\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetDirty\"])();\n _this.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(res.msg);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tools.save.failSave}`);\n }\n },\n complete: () => {\n saveButton.attr(\"disabled\", false);\n }\n });\n } else {\n const creatorUser = userName;\n postData = {\n fullName,\n categoryId,\n enCode,\n sortCode,\n description,\n enabledMark: 1,\n content: _this.content,\n creatorUser\n };\n\n $.ajax({\n url: window._server + \"/api/datareport/Data\",\n data: JSON.stringify(postData),\n contentType: \"application/json\",\n dataType: \"json\",\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: res => {\n if (res.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"successAlert\"])(`${window.i18n.dialog.save.success}`);\n _this.context.baseInfo = {\n id: res.data,\n fullName,\n categoryId,\n enCode: enCode,\n sortCode: 0,\n enabledMark: 1\n };\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetDirty\"])();\n _this.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(res.msg);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.save.fail}`);\n }\n },\n complete: () => {\n saveButton.attr(\"disabled\", false);\n }\n });\n }\n });\n }\n\n show(content, context) {\n this.content = content;\n this.context = context;\n this.reportFilesData = {};\n\n // 报表下拉渲染\n const optionList = context.categoryList;\n optionList.forEach(item => {\n this.dialog.find('select[name=categoryId]').append(``);\n });\n this.dialog.find('select[name=categoryId]').trigger('change');\n\n if (context.baseInfo.id) {\n const result = eval(context.baseInfo);\n this.dialog.find('select[name=categoryId]').val(result.categoryId);\n this.dialog.find('.js_save_fullName').val(result.fullName);\n this.dialog.find('.js_save_enCode').val(result.enCode);\n this.dialog.find('.js_save_sortCode').val(result.sortCode);\n this.dialog.find('.js_save_description').val(result.description);\n this.dialog.modal('show');\n } else {\n this.dialog.find('.js_save_fullName').val('');\n this.dialog.find('.js_save_enCode').val('');\n this.dialog.find('.js_save_sortCode').val(0);\n this.dialog.find('.js_save_description').val('');\n this.dialog.modal('show');\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SaveDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SaveDialog; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-12.\n */\n\n\n\nclass SaveDialog {\n constructor() {\n this.reportFilesData = {};\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.save.title}\n

    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const footer = this.dialog.find(\".modal-footer\");\n this.initFooter(footer);\n }\n\n initFooter(footer) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n let fullName = $('#fileFullName').val();\n let categoryId = $(\"#categoryId option:selected\").val();\n let enCode = $('.js_save_enCode').val();\n let sortCode = $('.js_save_sortCode').val();\n let description = $('.js_save_description').val();\n\n if (fullName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.save.nameTip}`);\n $('#fileFullName').focus();\n return;\n }\n if (categoryId === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`分类不能为空`);\n return;\n }\n if (enCode === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`编码不能为空`);\n $('.js_save_enCode').focus();\n return;\n }\n\n let postData = {};\n let updateData = {};\n const account = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('account');\n const realName = decodeURI(decodeURI(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('realName')));\n const userName = `${account}/${realName}`;\n\n saveButton.attr(\"disabled\", \"true\");\n if (_this.context.baseInfo.id) {\n updateData = {\n fullName,\n categoryId,\n enCode,\n sortCode,\n description,\n content: _this.content\n };\n $.ajax({\n url: `${window._server}/api/datareport/Data/${_this.context.baseInfo.id}`,\n data: JSON.stringify(updateData),\n contentType: \"application/json\",\n dataType: \"json\",\n type: 'PUT',\n headers: {\n 'Authorization': token\n },\n success: res => {\n if (res.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"successAlert\"])(`${window.i18n.tools.save.successSave}`);\n _this.context.baseInfo = {\n id: _this.context.baseInfo.id,\n fullName,\n categoryId,\n enCode\n };\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetDirty\"])();\n _this.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(res.msg);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tools.save.failSave}`);\n }\n },\n complete: () => {\n saveButton.attr(\"disabled\", false);\n }\n });\n } else {\n const creatorUser = userName;\n postData = {\n fullName,\n categoryId,\n enCode,\n sortCode,\n description,\n enabledMark: 1,\n content: _this.content,\n creatorUser\n };\n\n $.ajax({\n url: window._server + \"/api/datareport/Data\",\n data: JSON.stringify(postData),\n contentType: \"application/json\",\n dataType: \"json\",\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: res => {\n if (res.code === 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"successAlert\"])(`${window.i18n.dialog.save.success}`);\n _this.context.baseInfo = {\n id: res.data,\n fullName,\n categoryId,\n enCode: enCode,\n sortCode: 0,\n enabledMark: 1\n };\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetDirty\"])();\n _this.dialog.modal('hide');\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(res.msg);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.dialog.save.fail}`);\n }\n },\n complete: () => {\n saveButton.attr(\"disabled\", false);\n }\n });\n }\n });\n }\n\n show(content, context) {\n this.content = content;\n this.context = context;\n this.reportFilesData = {};\n\n // 报表下拉渲染\n const optionList = context.categoryList;\n optionList.forEach(item => {\n this.dialog.find('select[name=categoryId]').append(``);\n });\n this.dialog.find('select[name=categoryId]').trigger('change');\n\n if (context.baseInfo.id) {\n const result = eval(context.baseInfo);\n this.dialog.find('select[name=categoryId]').val(result.categoryId);\n this.dialog.find('.js_save_fullName').val(result.fullName);\n this.dialog.find('.js_save_enCode').val(result.enCode);\n this.dialog.find('.js_save_sortCode').val(result.sortCode);\n this.dialog.find('.js_save_description').val(result.description);\n this.dialog.modal('show');\n } else {\n this.dialog.find('.js_save_fullName').val('');\n this.dialog.find('.js_save_enCode').val('');\n this.dialog.find('.js_save_sortCode').val(0);\n this.dialog.find('.js_save_description').val('');\n this.dialog.modal('show');\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SaveDialog.js?"); /***/ }), @@ -5234,7 +5234,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SearchFormDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-10-17.\r\n */\n\n\n\nclass SearchFormDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n 查询表单设计器\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n this.dialog.on(\"hide.bs.modal\", function () {\n window.__current_report_def._formBuilder.buildData();\n });\n this.index = 0;\n }\n initBody(body, footer) {\n this.iframe = $(``);\n body.append(this.iframe);\n }\n show(reportDef) {\n window.__current_report_def = reportDef;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n const url = window._contextPath + \"/searchform.html\";\n this.iframe.prop('src', url);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SearchFormDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SearchFormDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-10-17.\n */\n\n\n\nclass SearchFormDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n 查询表单设计器\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n this.dialog.on(\"hide.bs.modal\", function () {\n window.__current_report_def._formBuilder.buildData();\n });\n this.index = 0;\n }\n initBody(body, footer) {\n this.iframe = $(``);\n body.append(this.iframe);\n }\n show(reportDef) {\n window.__current_report_def = reportDef;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n this.dialog.modal('show');\n const url = window._contextPath + \"/searchform.html\";\n this.iframe.prop('src', url);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SearchFormDialog.js?"); /***/ }), @@ -5246,7 +5246,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SettingsDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _FontSettingDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FontSettingDialog.js */ \"./src/dialog/FontSettingDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\nclass SettingsDialog {\n constructor() {\n this.paperSizeList = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildPageSizeList\"])();\n\n this.dialog = $(`\n
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.setting.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const tabHeader = $(``);\n body.append(tabHeader);\n const tabContent = $(`
    `);\n body.append(tabContent);\n const pageTab = $(`
    `);\n tabContent.append(pageTab);\n const headerFooterTab = $(`
    `);\n tabContent.append(headerFooterTab);\n const pagingTab = $(`
    `);\n tabContent.append(pagingTab);\n const columnTab = $(`
    `);\n tabContent.append(columnTab);\n //const exportTab=$(`
    `);\n //tabContent.append(exportTab);\n this.initPageSetting(pageTab);\n this.initHeaderFootSetting(headerFooterTab);\n this.initPagingSetting(pagingTab);\n this.initColumnSetting(columnTab);\n //this.initExportSetting(exportTab);\n }\n initExportSetting(exportTab) {\n const excelGroup = $(`
    `);\n exportTab.append(excelGroup);\n this.disabledExcelSheetRadio = $(``);\n excelGroup.append(this.disabledExcelSheetRadio);\n this.enabledExcelSheetRadio = $(``);\n excelGroup.append(this.enabledExcelSheetRadio);\n const _this = this;\n this.disabledExcelSheetRadio.children('input').click(function () {\n _this.paper.columnEnabled = false;\n _this.sheetSizeEditor.prop('disabled', true);\n });\n this.enabledExcelSheetRadio.children('input').click(function () {\n _this.paper.columnEnabled = true;\n _this.sheetSizeEditor.prop('disabled', false);\n });\n const sheetSizeGroup = $(`
    `);\n this.sheetSizeEditor = $(``);\n sheetSizeGroup.append(this.sheetSizeEditor);\n exportTab.append(sheetSizeGroup);\n this.sheetSizeEditor.prop('disabled', true);\n this.sheetSizeEditor.change(function () {\n const value = $(this).val();\n if (parseInt(value) < 1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.recordCountTip}`);\n return;\n }\n this.paper.sheetSize = value;\n });\n }\n initPageSetting(pageTab) {\n const pageTypeGroup = $(`
    `);\n pageTab.append(pageTypeGroup);\n this.pageSelect = $(``);\n pageTypeGroup.append(this.pageSelect);\n const _this = this;\n this.pageSelect.change(function () {\n let value = $(this).val();\n if (value === 'CUSTOM') {\n _this.pageWidthEditor.prop('readonly', false);\n _this.pageHeightEditor.prop('readonly', false);\n } else {\n _this.pageWidthEditor.prop('readonly', true);\n _this.pageHeightEditor.prop('readonly', true);\n let pageSize = _this.paperSizeList[value];\n _this.pageWidthEditor.val(pageSize.width);\n _this.pageHeightEditor.val(pageSize.height);\n _this.paper.width = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(pageSize.width);\n _this.paper.height = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(pageSize.height);\n _this.context.printLine.refresh();\n }\n _this.paper.paperType = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const pageWidthGroup = $(`
    ${window.i18n.dialog.setting.paperWidth}
    `);\n pageTab.append(pageWidthGroup);\n this.pageWidthEditor = $(``);\n pageWidthGroup.append(this.pageWidthEditor);\n this.pageWidthEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.width = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const pageHeightGroup = $(`
    ${window.i18n.dialog.setting.paperHeight}
    `);\n pageTab.append(pageHeightGroup);\n this.pageHeightEditor = $(``);\n pageHeightGroup.append(this.pageHeightEditor);\n this.pageHeightEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.height = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const leftMarginGroup = $(`
    `);\n pageTab.append(leftMarginGroup);\n this.leftMarginEditor = $(``);\n leftMarginGroup.append(this.leftMarginEditor);\n this.leftMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.leftMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const rightMarginGroup = $(`
    `);\n pageTab.append(rightMarginGroup);\n this.rightMarginEditor = $(``);\n rightMarginGroup.append(this.rightMarginEditor);\n pageTab.append('
    ');\n this.rightMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.rightMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const topMarginGroup = $(`
    `);\n pageTab.append(topMarginGroup);\n this.topMarginEditor = $(``);\n topMarginGroup.append(this.topMarginEditor);\n this.topMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.topMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const bottomMarginGroup = $(`
    `);\n pageTab.append(bottomMarginGroup);\n this.bottomMarginEditor = $(``);\n bottomMarginGroup.append(this.bottomMarginEditor);\n this.bottomMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.bottomMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const orientationGroup = $(`
    `);\n pageTab.append(orientationGroup);\n this.orientationSelect = $(``);\n orientationGroup.append(this.orientationSelect);\n this.orientationSelect.change(function () {\n let value = $(this).val();\n _this.paper.orientation = value;\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const htmlReportAlignGroup = $(`
    `);\n pageTab.append(htmlReportAlignGroup);\n this.htmlReportAlignSelect = $(``);\n this.htmlReportAlignSelect.change(function () {\n let value = $(this).val();\n _this.paper.htmlReportAlign = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n htmlReportAlignGroup.append(this.htmlReportAlignSelect);\n\n const htmlIntervalReloadGroup = $(``);\n htmlReportAlignGroup.append(htmlIntervalReloadGroup);\n this.htmlIntervalEditor = $(``);\n htmlIntervalReloadGroup.append(this.htmlIntervalEditor);\n this.htmlIntervalEditor.change(function () {\n let value = $(this).val();\n if (isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.secondTip}`);\n return;\n }\n const num = parseInt(value);\n if (num < 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.secondTip}`);\n return;\n }\n _this.paper.htmlIntervalRefreshValue = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const bgImageGroup = $(`
    `);\n pageTab.append(bgImageGroup);\n this.bgImageEditor = $(``);\n bgImageGroup.append(this.bgImageEditor);\n this.bgImageEditor.change(function () {\n let value = $(this).val();\n _this.paper.bgImage = value;\n if (value === '') {\n $('.ht_master').css('background', 'transparent');\n } else {\n $('.ht_master').css('background', `url(${value}) 50px 26px no-repeat`);\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initHeaderFootSetting(headerFooterTab) {\n const _this = this;\n const descGroup = $(`
    \n ${window.i18n.dialog.setting.hfdesc}\n
    `);\n headerFooterTab.append(descGroup);\n const headerTitle = $(``);\n headerFooterTab.append(headerTitle);\n const headerFontConfigButton = $(``);\n headerFooterTab.append(headerFontConfigButton);\n\n const headerMarginGroup = $(`${window.i18n.dialog.setting.headerMargin}`);\n headerFooterTab.append(headerMarginGroup);\n this.headerMarginEditor = $(``);\n headerMarginGroup.append(this.headerMarginEditor);\n this.headerMarginEditor.change(function () {\n _this.header.margin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])($(this).val());\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const fontSettingDialog = new _FontSettingDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n const headerGroup = $(`
    `);\n headerFooterTab.append(headerGroup);\n const leftHeaderGroup = $(`${window.i18n.dialog.setting.hfLeft}`);\n headerGroup.append(leftHeaderGroup);\n this.leftHeaderEditor = $(``);\n leftHeaderGroup.append(this.leftHeaderEditor);\n this.leftHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.left = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const centerHeaderGroup = $(`${window.i18n.dialog.setting.hfCenter}`);\n headerGroup.append(centerHeaderGroup);\n this.centerHeaderEditor = $(``);\n centerHeaderGroup.append(this.centerHeaderEditor);\n this.centerHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.center = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const rightHeaderGroup = $(`${window.i18n.dialog.setting.hfRight}`);\n headerGroup.append(rightHeaderGroup);\n this.rightHeaderEditor = $(``);\n rightHeaderGroup.append(this.rightHeaderEditor);\n this.rightHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.right = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n\n const footerTitle = $(``);\n headerFooterTab.append(footerTitle);\n const footerFontConfigButton = $(``);\n headerFooterTab.append(footerFontConfigButton);\n\n const footerMarginGroup = $(`${window.i18n.dialog.setting.footerMargin}`);\n headerFooterTab.append(footerMarginGroup);\n this.footerMarginEditor = $(``);\n footerMarginGroup.append(this.footerMarginEditor);\n this.footerMarginEditor.change(function () {\n _this.footer.margin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])($(this).val());\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const footerGroup = $(`
    `);\n headerFooterTab.append(footerGroup);\n const leftFooterGroup = $(`${window.i18n.dialog.setting.hfLeft}`);\n footerGroup.append(leftFooterGroup);\n this.leftFooterEditor = $(``);\n leftFooterGroup.append(this.leftFooterEditor);\n this.leftFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.left = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const centerFooterGroup = $(`${window.i18n.dialog.setting.hfCenter}`);\n footerGroup.append(centerFooterGroup);\n this.centerFooterEditor = $(``);\n centerFooterGroup.append(this.centerFooterEditor);\n this.centerFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.center = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const rightFooterGroup = $(`${window.i18n.dialog.setting.hfRight}`);\n footerGroup.append(rightFooterGroup);\n this.rightFooterEditor = $(``);\n rightFooterGroup.append(this.rightFooterEditor);\n this.rightFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.right = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n\n headerFontConfigButton.click(function () {\n fontSettingDialog.show(_this.header, function (style) {\n setEditorStyle(_this.leftHeaderEditor, style);\n setEditorStyle(_this.centerHeaderEditor, style);\n setEditorStyle(_this.rightHeaderEditor, style);\n });\n });\n footerFontConfigButton.click(function () {\n fontSettingDialog.show(_this.footer, function (style) {\n setEditorStyle(_this.leftFooterEditor, style);\n setEditorStyle(_this.centerFooterEditor, style);\n setEditorStyle(_this.rightFooterEditor, style);\n });\n });\n }\n initPagingSetting(pagingTab) {\n const _this = this;\n const group = $(`
    `);\n pagingTab.append(group);\n this.fitPage = $(``);\n group.append(this.fitPage);\n this.fixNum = $(``);\n group.append(this.fixNum);\n\n const rowNumberGroup = $(`${window.i18n.dialog.setting.rowsPerPage}`);\n group.append(rowNumberGroup);\n rowNumberGroup.hide();\n this.rowNumberEditor = $(``);\n rowNumberGroup.append(this.rowNumberEditor);\n this.rowNumberEditor.change(function () {\n const value = parseInt($(this).val());\n if (value < 1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.fixRowsTip}`);\n return;\n }\n _this.paper.fixRows = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.fitPage.children('input').click(function () {\n rowNumberGroup.hide();\n _this.paper.pagingMode = 'fitpage';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.fixNum.children('input').click(function () {\n rowNumberGroup.show();\n _this.paper.pagingMode = 'fixrows';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initColumnSetting(columnTab) {\n columnTab.append(`
    ${window.i18n.dialog.setting.colDesc}
    `);\n const _this = this;\n const group = $(`
    `);\n columnTab.append(group);\n this.disabledColumnRadio = $(``);\n group.append(this.disabledColumnRadio);\n this.enabledColumnRadio = $(``);\n group.append(this.enabledColumnRadio);\n this.disabledColumnRadio.children('input').click(function () {\n _this.paper.columnEnabled = false;\n _this.columnCountSelect.prop('disabled', true);\n _this.columnMarginEditor.prop('readonly', true);\n });\n this.enabledColumnRadio.children('input').click(function () {\n _this.paper.columnEnabled = true;\n _this.columnCountSelect.prop('disabled', false);\n _this.columnMarginEditor.prop('readonly', false);\n });\n const columnGroup = $(`
    `);\n columnTab.append(columnGroup);\n this.columnCountSelect = $(``);\n columnGroup.append(this.columnCountSelect);\n this.columnCountSelect.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.columnTip}`);\n return;\n }\n _this.paper.columnCount = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const columnMarginGroup = $(``);\n columnGroup.append(columnMarginGroup);\n this.columnMarginEditor = $(``);\n columnMarginGroup.append(this.columnMarginEditor);\n this.columnMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numTip}`);\n return;\n }\n _this.paper.columnMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n show(context) {\n this.context = context;\n this.reportDef = this.context.reportDef;\n this.paper = this.reportDef.paper;\n if (!this.reportDef.header) {\n this.reportDef.header = {\n margin: 30\n };\n }\n if (!this.reportDef.footer) {\n this.reportDef.footer = {\n margin: 30\n };\n }\n this.header = this.reportDef.header;\n this.footer = this.reportDef.footer;\n this.dialog.modal('show');\n this.pageSelect.val(this.paper.paperType);\n this.htmlReportAlignSelect.val(this.paper.htmlReportAlign);\n this.htmlIntervalEditor.val(this.paper.htmlIntervalRefreshValue);\n this.bgImageEditor.val(this.paper.bgImage || '');\n this.pageWidthEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.width));\n this.pageHeightEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.height));\n this.pageSelect.trigger('change');\n this.leftMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.leftMargin));\n this.rightMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.rightMargin));\n this.topMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.topMargin));\n this.bottomMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.bottomMargin));\n this.orientationSelect.val(this.paper.orientation);\n this.columnMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.columnMargin));\n this.columnCountSelect.val(this.paper.columnCount);\n if (this.paper.columnEnabled) {\n this.enabledColumnRadio.children('input').trigger('click');\n this.enabledColumnRadio.children('input').prop('checked', true);\n } else {\n this.disabledColumnRadio.children('input').trigger('click');\n this.disabledColumnRadio.children('input').prop('checked', true);\n }\n\n this.headerMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.header.margin));\n this.footerMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.footer.margin));\n\n setEditorStyle(this.leftHeaderEditor, this.header);\n setEditorStyle(this.centerHeaderEditor, this.header);\n setEditorStyle(this.rightHeaderEditor, this.header);\n setEditorStyle(this.leftFooterEditor, this.footer);\n setEditorStyle(this.centerFooterEditor, this.footer);\n setEditorStyle(this.rightFooterEditor, this.footer);\n\n this.leftHeaderEditor.val(this.header.left);\n this.centerHeaderEditor.val(this.header.center);\n this.rightHeaderEditor.val(this.header.right);\n this.leftFooterEditor.val(this.footer.left);\n this.centerFooterEditor.val(this.footer.center);\n this.rightFooterEditor.val(this.footer.right);\n\n const pagingMode = this.paper.pagingMode;\n if (pagingMode === 'fitpage') {\n this.fitPage.children('input').trigger('click');\n this.fitPage.children('input').prop('checked', true);\n } else {\n this.fixNum.children('input').trigger('click');\n this.fixNum.children('input').prop('checked', true);\n this.rowNumberEditor.val(this.paper.fixRows);\n }\n }\n}\n\nfunction checkGrammar(text, callback) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n if (!text || text === '') {\n callback.call(this);\n return;\n }\n const url = window._server + \"/designer/scriptValidation\";\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (infos) {\n let msg = '';\n for (let info of infos) {\n msg += info.message;\n }\n if (msg !== '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.syntaxError}${msg}`);\n } else {\n callback.call(this);\n }\n },\n error: function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.syntaxCheckFail}`);\n }\n });\n};\n\nfunction setEditorStyle(editor, style) {\n editor.css({\n 'font-family': style.fontFamily,\n 'font-size': style.fontSize + 'pt',\n 'color': \"rgb(\" + style.forecolor + \")\"\n });\n if (style.bold && style.bold !== 'false') {\n editor.css('font-weight', 'bold');\n } else {\n editor.css('font-weight', 'normal');\n }\n if (style.italic && style.italic !== 'false') {\n editor.css('font-style', 'italic');\n } else {\n editor.css('font-style', 'normal');\n }\n if (style.underline && style.underline !== 'false') {\n editor.css('text-decoration', 'underline');\n } else {\n editor.css('text-decoration', 'none');\n }\n};\n\n//# sourceURL=webpack:///./src/dialog/SettingsDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SettingsDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _FontSettingDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FontSettingDialog.js */ \"./src/dialog/FontSettingDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\nclass SettingsDialog {\n constructor() {\n this.paperSizeList = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildPageSizeList\"])();\n\n this.dialog = $(`\n
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.setting.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const tabHeader = $(``);\n body.append(tabHeader);\n const tabContent = $(`
    `);\n body.append(tabContent);\n const pageTab = $(`
    `);\n tabContent.append(pageTab);\n const headerFooterTab = $(`
    `);\n tabContent.append(headerFooterTab);\n const pagingTab = $(`
    `);\n tabContent.append(pagingTab);\n const columnTab = $(`
    `);\n tabContent.append(columnTab);\n //const exportTab=$(`
    `);\n //tabContent.append(exportTab);\n this.initPageSetting(pageTab);\n this.initHeaderFootSetting(headerFooterTab);\n this.initPagingSetting(pagingTab);\n this.initColumnSetting(columnTab);\n //this.initExportSetting(exportTab);\n }\n initExportSetting(exportTab) {\n const excelGroup = $(`
    `);\n exportTab.append(excelGroup);\n this.disabledExcelSheetRadio = $(``);\n excelGroup.append(this.disabledExcelSheetRadio);\n this.enabledExcelSheetRadio = $(``);\n excelGroup.append(this.enabledExcelSheetRadio);\n const _this = this;\n this.disabledExcelSheetRadio.children('input').click(function () {\n _this.paper.columnEnabled = false;\n _this.sheetSizeEditor.prop('disabled', true);\n });\n this.enabledExcelSheetRadio.children('input').click(function () {\n _this.paper.columnEnabled = true;\n _this.sheetSizeEditor.prop('disabled', false);\n });\n const sheetSizeGroup = $(`
    `);\n this.sheetSizeEditor = $(``);\n sheetSizeGroup.append(this.sheetSizeEditor);\n exportTab.append(sheetSizeGroup);\n this.sheetSizeEditor.prop('disabled', true);\n this.sheetSizeEditor.change(function () {\n const value = $(this).val();\n if (parseInt(value) < 1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.recordCountTip}`);\n return;\n }\n this.paper.sheetSize = value;\n });\n }\n initPageSetting(pageTab) {\n const pageTypeGroup = $(`
    `);\n pageTab.append(pageTypeGroup);\n this.pageSelect = $(``);\n pageTypeGroup.append(this.pageSelect);\n const _this = this;\n this.pageSelect.change(function () {\n let value = $(this).val();\n if (value === 'CUSTOM') {\n _this.pageWidthEditor.prop('readonly', false);\n _this.pageHeightEditor.prop('readonly', false);\n } else {\n _this.pageWidthEditor.prop('readonly', true);\n _this.pageHeightEditor.prop('readonly', true);\n let pageSize = _this.paperSizeList[value];\n _this.pageWidthEditor.val(pageSize.width);\n _this.pageHeightEditor.val(pageSize.height);\n _this.paper.width = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(pageSize.width);\n _this.paper.height = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(pageSize.height);\n _this.context.printLine.refresh();\n }\n _this.paper.paperType = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const pageWidthGroup = $(`
    ${window.i18n.dialog.setting.paperWidth}
    `);\n pageTab.append(pageWidthGroup);\n this.pageWidthEditor = $(``);\n pageWidthGroup.append(this.pageWidthEditor);\n this.pageWidthEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.width = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const pageHeightGroup = $(`
    ${window.i18n.dialog.setting.paperHeight}
    `);\n pageTab.append(pageHeightGroup);\n this.pageHeightEditor = $(``);\n pageHeightGroup.append(this.pageHeightEditor);\n this.pageHeightEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.height = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const leftMarginGroup = $(`
    `);\n pageTab.append(leftMarginGroup);\n this.leftMarginEditor = $(``);\n leftMarginGroup.append(this.leftMarginEditor);\n this.leftMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.leftMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const rightMarginGroup = $(`
    `);\n pageTab.append(rightMarginGroup);\n this.rightMarginEditor = $(``);\n rightMarginGroup.append(this.rightMarginEditor);\n pageTab.append('
    ');\n this.rightMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.rightMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const topMarginGroup = $(`
    `);\n pageTab.append(topMarginGroup);\n this.topMarginEditor = $(``);\n topMarginGroup.append(this.topMarginEditor);\n this.topMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.topMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const bottomMarginGroup = $(`
    `);\n pageTab.append(bottomMarginGroup);\n this.bottomMarginEditor = $(``);\n bottomMarginGroup.append(this.bottomMarginEditor);\n this.bottomMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numberTip}`);\n return;\n }\n _this.paper.bottomMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const orientationGroup = $(`
    `);\n pageTab.append(orientationGroup);\n this.orientationSelect = $(``);\n orientationGroup.append(this.orientationSelect);\n this.orientationSelect.change(function () {\n let value = $(this).val();\n _this.paper.orientation = value;\n _this.context.printLine.refresh();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const htmlReportAlignGroup = $(`
    `);\n pageTab.append(htmlReportAlignGroup);\n this.htmlReportAlignSelect = $(``);\n this.htmlReportAlignSelect.change(function () {\n let value = $(this).val();\n _this.paper.htmlReportAlign = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n htmlReportAlignGroup.append(this.htmlReportAlignSelect);\n\n const htmlIntervalReloadGroup = $(``);\n htmlReportAlignGroup.append(htmlIntervalReloadGroup);\n this.htmlIntervalEditor = $(``);\n htmlIntervalReloadGroup.append(this.htmlIntervalEditor);\n this.htmlIntervalEditor.change(function () {\n let value = $(this).val();\n if (isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.secondTip}`);\n return;\n }\n const num = parseInt(value);\n if (num < 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.secondTip}`);\n return;\n }\n _this.paper.htmlIntervalRefreshValue = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const bgImageGroup = $(`
    `);\n pageTab.append(bgImageGroup);\n this.bgImageEditor = $(``);\n bgImageGroup.append(this.bgImageEditor);\n this.bgImageEditor.change(function () {\n let value = $(this).val();\n _this.paper.bgImage = value;\n if (value === '') {\n $('.ht_master').css('background', 'transparent');\n } else {\n $('.ht_master').css('background', `url(${value}) 50px 26px no-repeat`);\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initHeaderFootSetting(headerFooterTab) {\n const _this = this;\n const descGroup = $(`
    \n ${window.i18n.dialog.setting.hfdesc}\n
    `);\n headerFooterTab.append(descGroup);\n const headerTitle = $(``);\n headerFooterTab.append(headerTitle);\n const headerFontConfigButton = $(``);\n headerFooterTab.append(headerFontConfigButton);\n\n const headerMarginGroup = $(`${window.i18n.dialog.setting.headerMargin}`);\n headerFooterTab.append(headerMarginGroup);\n this.headerMarginEditor = $(``);\n headerMarginGroup.append(this.headerMarginEditor);\n this.headerMarginEditor.change(function () {\n _this.header.margin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])($(this).val());\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const fontSettingDialog = new _FontSettingDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n const headerGroup = $(`
    `);\n headerFooterTab.append(headerGroup);\n const leftHeaderGroup = $(`${window.i18n.dialog.setting.hfLeft}`);\n headerGroup.append(leftHeaderGroup);\n this.leftHeaderEditor = $(``);\n leftHeaderGroup.append(this.leftHeaderEditor);\n this.leftHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.left = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const centerHeaderGroup = $(`${window.i18n.dialog.setting.hfCenter}`);\n headerGroup.append(centerHeaderGroup);\n this.centerHeaderEditor = $(``);\n centerHeaderGroup.append(this.centerHeaderEditor);\n this.centerHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.center = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const rightHeaderGroup = $(`${window.i18n.dialog.setting.hfRight}`);\n headerGroup.append(rightHeaderGroup);\n this.rightHeaderEditor = $(``);\n rightHeaderGroup.append(this.rightHeaderEditor);\n this.rightHeaderEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.header.right = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n\n const footerTitle = $(``);\n headerFooterTab.append(footerTitle);\n const footerFontConfigButton = $(``);\n headerFooterTab.append(footerFontConfigButton);\n\n const footerMarginGroup = $(`${window.i18n.dialog.setting.footerMargin}`);\n headerFooterTab.append(footerMarginGroup);\n this.footerMarginEditor = $(``);\n footerMarginGroup.append(this.footerMarginEditor);\n this.footerMarginEditor.change(function () {\n _this.footer.margin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])($(this).val());\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const footerGroup = $(`
    `);\n headerFooterTab.append(footerGroup);\n const leftFooterGroup = $(`${window.i18n.dialog.setting.hfLeft}`);\n footerGroup.append(leftFooterGroup);\n this.leftFooterEditor = $(``);\n leftFooterGroup.append(this.leftFooterEditor);\n this.leftFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.left = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const centerFooterGroup = $(`${window.i18n.dialog.setting.hfCenter}`);\n footerGroup.append(centerFooterGroup);\n this.centerFooterEditor = $(``);\n centerFooterGroup.append(this.centerFooterEditor);\n this.centerFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.center = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n const rightFooterGroup = $(`${window.i18n.dialog.setting.hfRight}`);\n footerGroup.append(rightFooterGroup);\n this.rightFooterEditor = $(``);\n rightFooterGroup.append(this.rightFooterEditor);\n this.rightFooterEditor.change(function () {\n const text = $(this).val();\n checkGrammar(text, function () {\n _this.footer.right = text;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n });\n\n headerFontConfigButton.click(function () {\n fontSettingDialog.show(_this.header, function (style) {\n setEditorStyle(_this.leftHeaderEditor, style);\n setEditorStyle(_this.centerHeaderEditor, style);\n setEditorStyle(_this.rightHeaderEditor, style);\n });\n });\n footerFontConfigButton.click(function () {\n fontSettingDialog.show(_this.footer, function (style) {\n setEditorStyle(_this.leftFooterEditor, style);\n setEditorStyle(_this.centerFooterEditor, style);\n setEditorStyle(_this.rightFooterEditor, style);\n });\n });\n }\n initPagingSetting(pagingTab) {\n const _this = this;\n const group = $(`
    `);\n pagingTab.append(group);\n this.fitPage = $(``);\n group.append(this.fitPage);\n this.fixNum = $(``);\n group.append(this.fixNum);\n\n const rowNumberGroup = $(`${window.i18n.dialog.setting.rowsPerPage}`);\n group.append(rowNumberGroup);\n rowNumberGroup.hide();\n this.rowNumberEditor = $(``);\n rowNumberGroup.append(this.rowNumberEditor);\n this.rowNumberEditor.change(function () {\n const value = parseInt($(this).val());\n if (value < 1) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.fixRowsTip}`);\n return;\n }\n _this.paper.fixRows = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.fitPage.children('input').click(function () {\n rowNumberGroup.hide();\n _this.paper.pagingMode = 'fitpage';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.fixNum.children('input').click(function () {\n rowNumberGroup.show();\n _this.paper.pagingMode = 'fixrows';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initColumnSetting(columnTab) {\n columnTab.append(`
    ${window.i18n.dialog.setting.colDesc}
    `);\n const _this = this;\n const group = $(`
    `);\n columnTab.append(group);\n this.disabledColumnRadio = $(``);\n group.append(this.disabledColumnRadio);\n this.enabledColumnRadio = $(``);\n group.append(this.enabledColumnRadio);\n this.disabledColumnRadio.children('input').click(function () {\n _this.paper.columnEnabled = false;\n _this.columnCountSelect.prop('disabled', true);\n _this.columnMarginEditor.prop('readonly', true);\n });\n this.enabledColumnRadio.children('input').click(function () {\n _this.paper.columnEnabled = true;\n _this.columnCountSelect.prop('disabled', false);\n _this.columnMarginEditor.prop('readonly', false);\n });\n const columnGroup = $(`
    `);\n columnTab.append(columnGroup);\n this.columnCountSelect = $(``);\n columnGroup.append(this.columnCountSelect);\n this.columnCountSelect.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.columnTip}`);\n return;\n }\n _this.paper.columnCount = value;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const columnMarginGroup = $(``);\n columnGroup.append(columnMarginGroup);\n this.columnMarginEditor = $(``);\n columnMarginGroup.append(this.columnMarginEditor);\n this.columnMarginEditor.change(function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.numTip}`);\n return;\n }\n _this.paper.columnMargin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"mmToPoint\"])(value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n show(context) {\n this.context = context;\n this.reportDef = this.context.reportDef;\n this.paper = this.reportDef.paper;\n if (!this.reportDef.header) {\n this.reportDef.header = {\n margin: 30\n };\n }\n if (!this.reportDef.footer) {\n this.reportDef.footer = {\n margin: 30\n };\n }\n this.header = this.reportDef.header;\n this.footer = this.reportDef.footer;\n this.dialog.modal('show');\n this.pageSelect.val(this.paper.paperType);\n this.htmlReportAlignSelect.val(this.paper.htmlReportAlign);\n this.htmlIntervalEditor.val(this.paper.htmlIntervalRefreshValue);\n this.bgImageEditor.val(this.paper.bgImage || '');\n this.pageWidthEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.width));\n this.pageHeightEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.height));\n this.pageSelect.trigger('change');\n this.leftMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.leftMargin));\n this.rightMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.rightMargin));\n this.topMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.topMargin));\n this.bottomMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.bottomMargin));\n this.orientationSelect.val(this.paper.orientation);\n this.columnMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.paper.columnMargin));\n this.columnCountSelect.val(this.paper.columnCount);\n if (this.paper.columnEnabled) {\n this.enabledColumnRadio.children('input').trigger('click');\n this.enabledColumnRadio.children('input').prop('checked', true);\n } else {\n this.disabledColumnRadio.children('input').trigger('click');\n this.disabledColumnRadio.children('input').prop('checked', true);\n }\n\n this.headerMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.header.margin));\n this.footerMarginEditor.val(Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(this.footer.margin));\n\n setEditorStyle(this.leftHeaderEditor, this.header);\n setEditorStyle(this.centerHeaderEditor, this.header);\n setEditorStyle(this.rightHeaderEditor, this.header);\n setEditorStyle(this.leftFooterEditor, this.footer);\n setEditorStyle(this.centerFooterEditor, this.footer);\n setEditorStyle(this.rightFooterEditor, this.footer);\n\n this.leftHeaderEditor.val(this.header.left);\n this.centerHeaderEditor.val(this.header.center);\n this.rightHeaderEditor.val(this.header.right);\n this.leftFooterEditor.val(this.footer.left);\n this.centerFooterEditor.val(this.footer.center);\n this.rightFooterEditor.val(this.footer.right);\n\n const pagingMode = this.paper.pagingMode;\n if (pagingMode === 'fitpage') {\n this.fitPage.children('input').trigger('click');\n this.fitPage.children('input').prop('checked', true);\n } else {\n this.fixNum.children('input').trigger('click');\n this.fixNum.children('input').prop('checked', true);\n this.rowNumberEditor.val(this.paper.fixRows);\n }\n }\n}\n\nfunction checkGrammar(text, callback) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n if (!text || text === '') {\n callback.call(this);\n return;\n }\n const url = window._server + \"/designer/scriptValidation\";\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (infos) {\n let msg = '';\n for (let info of infos) {\n msg += info.message;\n }\n if (msg !== '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.syntaxError}${msg}`);\n } else {\n callback.call(this);\n }\n },\n error: function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.setting.syntaxCheckFail}`);\n }\n });\n};\n\nfunction setEditorStyle(editor, style) {\n editor.css({\n 'font-family': style.fontFamily,\n 'font-size': style.fontSize + 'pt',\n 'color': \"rgb(\" + style.forecolor + \")\"\n });\n if (style.bold && style.bold !== 'false') {\n editor.css('font-weight', 'bold');\n } else {\n editor.css('font-weight', 'normal');\n }\n if (style.italic && style.italic !== 'false') {\n editor.css('font-style', 'italic');\n } else {\n editor.css('font-style', 'normal');\n }\n if (style.underline && style.underline !== 'false') {\n editor.css('text-decoration', 'underline');\n } else {\n editor.css('text-decoration', 'none');\n }\n};\n\n//# sourceURL=webpack:///./src/dialog/SettingsDialog.js?"); /***/ }), @@ -5258,7 +5258,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SqlDatasetDialog; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ParameterTable_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ParameterTable.js */ \"./src/dialog/ParameterTable.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _PreviewDataDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PreviewDataDialog.js */ \"./src/dialog/PreviewDataDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-06.\r\n */\n\n\n\n\n\n\n\n\nclass SqlDatasetDialog {\n constructor(db, data) {\n this.db = db;\n this.datasources = db.datasources;\n this.data = data;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.sql.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n const container = $(`
    `);\n body.append(container);\n const leftContainer = $(`
    `);\n const rightContainer = $(`
    `);\n container.append(leftContainer);\n container.append(rightContainer);\n this.initTables(leftContainer);\n\n this.initSqlEditor(rightContainer);\n this.initParameterEditor(rightContainer);\n this.initButton(footer);\n }\n\n initTables(container) {\n const searchGroup = $(`
    `);\n container.append(searchGroup);\n const searchEdior = $(``);\n searchGroup.append(searchEdior);\n const searchButton = $(``);\n searchGroup.append(searchButton);\n const _this = this;\n searchButton.on('click', () => {\n const name = searchEdior.val();\n const rows = _this.tableBody.children('tr');\n for (let row of rows) {\n const $row = $(row);\n if (!name || name === \"\") {\n $row.show();\n continue;\n }\n const nameTD = $row.find('a');\n const tableName = $(nameTD).text();\n if (tableName.indexOf(name) > -1) {\n $row.show();\n } else {\n $row.hide();\n }\n }\n });\n const table = $(`\n \n \n \n \n \n \n \n
    ${window.i18n.dialog.sql.tableName}${window.i18n.dialog.sql.type}
    `);\n this.tableBody = $(``);\n table.append(this.tableBody);\n container.append(table);\n }\n\n initSqlEditor(body) {\n const nameRow = $(`
    ${window.i18n.dialog.sql.datasetName}
    `);\n this.nameEditor = $(``);\n nameRow.append(this.nameEditor);\n body.append(nameRow);\n\n const sqlRow = $(`
    SQL(${window.i18n.dialog.sql.desc}`);\n this.sqlEditor = $(``);\n sqlRow.append(this.sqlEditor);\n body.append(sqlRow);\n }\n\n _buildScriptLintFunction() {\n return function (text, updateLinting, options, editor) {\n if (text === '') {\n updateLinting(editor, []);\n return;\n }\n if (!text || text === '') {\n return;\n }\n const prefix = text.substring(0, 2),\n suffix = text.substring(text.length - 1, text.length);\n if (prefix === '${' && suffix === '}') {\n text = text.substring(2, text.length - 1);\n } else {\n return;\n }\n const url = window._server + '/designer/scriptValidation';\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n if (result) {\n for (let item of result) {\n item.from = {\n line: item.line - 1\n };\n item.to = {\n line: item.line - 1\n };\n }\n updateLinting(editor, result);\n } else {\n updateLinting(editor, []);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.syntaxCheckError}`);\n }\n }\n });\n };\n }\n\n initParameterEditor(body) {\n const row = $(`
    ${window.i18n.dialog.sql.fiterParam}${window.i18n.dialog.sql.paramDesc}:
    `);\n body.append(row);\n const tableRow = $(`
    `);\n body.append(tableRow);\n this.parameterTable = new _ParameterTable_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](tableRow, this.data.parameters);\n }\n\n initButton(footer) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n const previewButton = $(``);\n footer.append(previewButton);\n previewButton.on('click', () => {\n const sql = _this.codeMirror.getValue();\n const type = _this.db.type;\n const parameters = {\n sql,\n type,\n parameters: JSON.stringify(_this.data.parameters)\n };\n if (type === 'jdbc') {\n parameters.username = _this.db.username;\n parameters.password = _this.db.password;\n parameters.driver = _this.db.driver;\n parameters.url = _this.db.url;\n } else if (type === 'buildin') {\n parameters.name = _this.db.name;\n }\n const previewDialog = new _PreviewDataDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n previewDialog.show();\n const url = window._server + \"/datasource/previewData\";\n $.ajax({\n type: 'POST',\n url,\n data: parameters,\n headers: {\n 'Authorization': token\n },\n success: function (data) {\n previewDialog.showData(data);\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n previewDialog.showError(`
    ${window.i18n.dialog.sql.previewFail}
    `);\n }\n }\n });\n });\n\n const confirmButton = $(``);\n footer.append(confirmButton);\n confirmButton.on('click', () => {\n const name = _this.nameEditor.val(),\n sql = _this.codeMirror.getValue();\n if (!name || name === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.nameTip}`);\n return;\n }\n if (!sql || sql === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.sqlTip}`);\n return;\n }\n let check = false;\n if (!_this.oldName || name !== _this.oldName) {\n check = true;\n }\n if (check) {\n for (let datasource of _this.datasources) {\n let datasets = datasource.datasets;\n for (let dataset of datasets) {\n if (dataset.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.ds}[${name}]${window.i18n.dialog.sql.exist}`);\n return;\n }\n }\n }\n }\n _this.onSave.call(this, name, sql, _this.data.parameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n }\n\n show(onSave, params) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n this.onSave = onSave;\n if (params) {\n this.data = params;\n this.parameterTable.data = this.data.parameters;\n }\n this.dialog.modal('show');\n this.oldName = this.data.name;\n this.nameEditor.val(this.data.name);\n this.parameterTable.refreshData();\n setTimeout(() => {\n if (!this.codeMirror) {\n this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(this.sqlEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: this._buildScriptLintFunction(),\n async: true\n }\n });\n this.codeMirror.setSize('560px', '160px');\n }\n // 兼容写法\n this.codeMirror.setValue(this.data && this.data.sql || '');\n }, 500);\n const type = this.db.type;\n const parameters = {\n type\n };\n if (type === 'jdbc') {\n parameters.username = this.db.username;\n parameters.password = this.db.password;\n parameters.driver = this.db.driver;\n parameters.url = this.db.url;\n } else if (type === 'buildin') {\n parameters.name = this.db.name;\n }\n const _this = this;\n const url = window._server + \"/datasource/buildDatabaseTables\";\n $.ajax({\n type: \"POST\",\n data: parameters,\n url,\n headers: {\n 'Authorization': token\n },\n success: function (tables) {\n _this.tableBody.empty();\n for (let table of tables) {\n const tr = $(``);\n const nameTD = $(`${table.name}`);\n tr.append(nameTD);\n nameTD.on('click', () => {\n const sql = \"select * from \" + table.name + \"\";\n _this.codeMirror.setValue(sql);\n });\n const typeTD = $(``);\n tr.append(typeTD);\n const type = table.type;\n if (type === \"TABLE\") {\n typeTD.append(`${window.i18n.dialog.sql.table}`);\n } else {\n typeTD.append(`${window.i18n.dialog.sql.view}`);\n }\n _this.tableBody.append(tr);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.loadFail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SqlDatasetDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SqlDatasetDialog; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ParameterTable_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ParameterTable.js */ \"./src/dialog/ParameterTable.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _PreviewDataDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PreviewDataDialog.js */ \"./src/dialog/PreviewDataDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-06.\n */\n\n\n\n\n\n\n\n\nclass SqlDatasetDialog {\n constructor(db, data) {\n this.db = db;\n this.datasources = db.datasources;\n this.data = data;\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.sql.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n const container = $(`
    `);\n body.append(container);\n const leftContainer = $(`
    `);\n const rightContainer = $(`
    `);\n container.append(leftContainer);\n container.append(rightContainer);\n this.initTables(leftContainer);\n\n this.initSqlEditor(rightContainer);\n this.initParameterEditor(rightContainer);\n this.initButton(footer);\n }\n\n initTables(container) {\n const searchGroup = $(`
    `);\n container.append(searchGroup);\n const searchEdior = $(``);\n searchGroup.append(searchEdior);\n const searchButton = $(``);\n searchGroup.append(searchButton);\n const _this = this;\n searchButton.on('click', () => {\n const name = searchEdior.val();\n const rows = _this.tableBody.children('tr');\n for (let row of rows) {\n const $row = $(row);\n if (!name || name === \"\") {\n $row.show();\n continue;\n }\n const nameTD = $row.find('a');\n const tableName = $(nameTD).text();\n if (tableName.indexOf(name) > -1) {\n $row.show();\n } else {\n $row.hide();\n }\n }\n });\n const table = $(`\n \n \n \n \n \n \n \n
    ${window.i18n.dialog.sql.tableName}${window.i18n.dialog.sql.type}
    `);\n this.tableBody = $(``);\n table.append(this.tableBody);\n container.append(table);\n }\n\n initSqlEditor(body) {\n const nameRow = $(`
    ${window.i18n.dialog.sql.datasetName}
    `);\n this.nameEditor = $(``);\n nameRow.append(this.nameEditor);\n body.append(nameRow);\n\n const sqlRow = $(`
    SQL(${window.i18n.dialog.sql.desc}`);\n this.sqlEditor = $(``);\n sqlRow.append(this.sqlEditor);\n body.append(sqlRow);\n }\n\n _buildScriptLintFunction() {\n return function (text, updateLinting, options, editor) {\n if (text === '') {\n updateLinting(editor, []);\n return;\n }\n if (!text || text === '') {\n return;\n }\n const prefix = text.substring(0, 2),\n suffix = text.substring(text.length - 1, text.length);\n if (prefix === '${' && suffix === '}') {\n text = text.substring(2, text.length - 1);\n } else {\n return;\n }\n const url = window._server + '/designer/scriptValidation';\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n if (result) {\n for (let item of result) {\n item.from = {\n line: item.line - 1\n };\n item.to = {\n line: item.line - 1\n };\n }\n updateLinting(editor, result);\n } else {\n updateLinting(editor, []);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.syntaxCheckError}`);\n }\n }\n });\n };\n }\n\n initParameterEditor(body) {\n const row = $(`
    ${window.i18n.dialog.sql.fiterParam}${window.i18n.dialog.sql.paramDesc}:
    `);\n body.append(row);\n const tableRow = $(`
    `);\n body.append(tableRow);\n this.parameterTable = new _ParameterTable_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](tableRow, this.data.parameters);\n }\n\n initButton(footer) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n const previewButton = $(``);\n footer.append(previewButton);\n previewButton.on('click', () => {\n const sql = _this.codeMirror.getValue();\n const type = _this.db.type;\n const parameters = {\n sql,\n type,\n parameters: JSON.stringify(_this.data.parameters)\n };\n if (type === 'jdbc') {\n parameters.username = _this.db.username;\n parameters.password = _this.db.password;\n parameters.driver = _this.db.driver;\n parameters.url = _this.db.url;\n } else if (type === 'buildin') {\n parameters.name = _this.db.name;\n }\n const previewDialog = new _PreviewDataDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n previewDialog.show();\n const url = window._server + \"/datasource/previewData\";\n $.ajax({\n type: 'POST',\n url,\n data: parameters,\n headers: {\n 'Authorization': token\n },\n success: function (data) {\n previewDialog.showData(data);\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n previewDialog.showError(`
    ${window.i18n.dialog.sql.previewFail}
    `);\n }\n }\n });\n });\n\n const confirmButton = $(``);\n footer.append(confirmButton);\n confirmButton.on('click', () => {\n const name = _this.nameEditor.val(),\n sql = _this.codeMirror.getValue();\n if (!name || name === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.nameTip}`);\n return;\n }\n if (!sql || sql === \"\") {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.sqlTip}`);\n return;\n }\n let check = false;\n if (!_this.oldName || name !== _this.oldName) {\n check = true;\n }\n if (check) {\n for (let datasource of _this.datasources) {\n let datasets = datasource.datasets;\n for (let dataset of datasets) {\n if (dataset.name === name) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.ds}[${name}]${window.i18n.dialog.sql.exist}`);\n return;\n }\n }\n }\n }\n _this.onSave.call(this, name, sql, _this.data.parameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"setDirty\"])();\n _this.dialog.modal('hide');\n });\n }\n\n show(onSave, params) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"getUrlParam\"])('token');\n this.onSave = onSave;\n if (params) {\n this.data = params;\n this.parameterTable.data = this.data.parameters;\n }\n this.dialog.modal('show');\n this.oldName = this.data.name;\n this.nameEditor.val(this.data.name);\n this.parameterTable.refreshData();\n setTimeout(() => {\n if (!this.codeMirror) {\n this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(this.sqlEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: this._buildScriptLintFunction(),\n async: true\n }\n });\n this.codeMirror.setSize('560px', '160px');\n }\n // 兼容写法\n this.codeMirror.setValue(this.data && this.data.sql || '');\n }, 500);\n const type = this.db.type;\n const parameters = {\n type\n };\n if (type === 'jdbc') {\n parameters.username = this.db.username;\n parameters.password = this.db.password;\n parameters.driver = this.db.driver;\n parameters.url = this.db.url;\n } else if (type === 'buildin') {\n parameters.name = this.db.name;\n }\n const _this = this;\n const url = window._server + \"/datasource/buildDatabaseTables\";\n $.ajax({\n type: \"POST\",\n data: parameters,\n url,\n headers: {\n 'Authorization': token\n },\n success: function (tables) {\n _this.tableBody.empty();\n for (let table of tables) {\n const tr = $(``);\n const nameTD = $(`${table.name}`);\n tr.append(nameTD);\n nameTD.on('click', () => {\n const sql = \"select * from \" + table.name + \"\";\n _this.codeMirror.setValue(sql);\n });\n const typeTD = $(``);\n tr.append(typeTD);\n const type = table.type;\n if (type === \"TABLE\") {\n typeTD.append(`${window.i18n.dialog.sql.table}`);\n } else {\n typeTD.append(`${window.i18n.dialog.sql.view}`);\n }\n _this.tableBody.append(tr);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_4__[\"alert\"])(`${window.i18n.dialog.sql.loadFail}`);\n }\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/SqlDatasetDialog.js?"); /***/ }), @@ -5270,7 +5270,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return URLParameterDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _URLParameterItemDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./URLParameterItemDialog.js */ \"./src/dialog/URLParameterItemDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\nclass URLParameterDialog {\n constructor() {\n this.urlParameterItemDialog = new _URLParameterItemDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.urlParam.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const addButton = $(`\n `);\n const _this = this;\n addButton.on('click', () => {\n const param = {\n name: '',\n value: ''\n };\n _this.urlParameterItemDialog.show(function () {\n _this.parameters.push(param);\n const tr = $(``);\n const nameTD = $(`${param.name}`);\n const valueTD = $(`${param.value}`);\n tr.append(nameTD);\n tr.append(valueTD);\n _this.tbody.append(tr);\n const td = $(``);\n const edit = $(`编辑`);\n td.append(edit);\n edit.on('click', () => {\n _this.urlParameterItemDialog.show(function () {\n nameTD.html(param.name);\n valueTD.html(param.value);\n }, param, 'edit');\n });\n const del = $(`删除`);\n td.append(del);\n del.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"confirm\"])(`${window.i18n.dialog.urlParam.delTip}`, function () {\n const index = _this.parameters.indexOf(param);\n _this.parameters.splice(index, 1);\n tr.remove();\n });\n });\n tr.append(td);\n }, param, 'add');\n });\n body.append(addButton);\n const table = $(`\n \n \n \n \n \n \n \n
    ${window.i18n.dialog.urlParam.name}${window.i18n.dialog.urlParam.expr}${window.i18n.dialog.urlParam.op}
    `);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(parameters) {\n this.parameters = parameters;\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n for (let param of parameters) {\n const tr = $(``);\n const nameTD = $(`${param.name}`);\n const valueTD = $(`${param.value}`);\n tr.append(nameTD);\n tr.append(valueTD);\n _this.tbody.append(tr);\n const td = $(``);\n const edit = $(`编辑`);\n td.append(edit);\n edit.on('click', () => {\n _this.urlParameterItemDialog.show(function () {\n nameTD.html(param.name);\n valueTD.html(param.value);\n }, param, 'edit');\n });\n const del = $(`删除`);\n td.append(del);\n del.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"confirm\"])(`${window.i18n.dialog.urlParam.delTip}`, function () {\n const index = _this.parameters.indexOf(param);\n _this.parameters.splice(index, 1);\n tr.remove();\n });\n });\n tr.append(td);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/URLParameterDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return URLParameterDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _URLParameterItemDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./URLParameterItemDialog.js */ \"./src/dialog/URLParameterItemDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\nclass URLParameterDialog {\n constructor() {\n this.urlParameterItemDialog = new _URLParameterItemDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.urlParam.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const addButton = $(`\n `);\n const _this = this;\n addButton.on('click', () => {\n const param = {\n name: '',\n value: ''\n };\n _this.urlParameterItemDialog.show(function () {\n _this.parameters.push(param);\n const tr = $(``);\n const nameTD = $(`${param.name}`);\n const valueTD = $(`${param.value}`);\n tr.append(nameTD);\n tr.append(valueTD);\n _this.tbody.append(tr);\n const td = $(``);\n const edit = $(`编辑`);\n td.append(edit);\n edit.on('click', () => {\n _this.urlParameterItemDialog.show(function () {\n nameTD.html(param.name);\n valueTD.html(param.value);\n }, param, 'edit');\n });\n const del = $(`删除`);\n td.append(del);\n del.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"confirm\"])(`${window.i18n.dialog.urlParam.delTip}`, function () {\n const index = _this.parameters.indexOf(param);\n _this.parameters.splice(index, 1);\n tr.remove();\n });\n });\n tr.append(td);\n }, param, 'add');\n });\n body.append(addButton);\n const table = $(`\n \n \n \n \n \n \n \n
    ${window.i18n.dialog.urlParam.name}${window.i18n.dialog.urlParam.expr}${window.i18n.dialog.urlParam.op}
    `);\n this.tbody = $(``);\n table.append(this.tbody);\n body.append(table);\n }\n show(parameters) {\n this.parameters = parameters;\n this.dialog.modal('show');\n this.tbody.empty();\n const _this = this;\n for (let param of parameters) {\n const tr = $(``);\n const nameTD = $(`${param.name}`);\n const valueTD = $(`${param.value}`);\n tr.append(nameTD);\n tr.append(valueTD);\n _this.tbody.append(tr);\n const td = $(``);\n const edit = $(`编辑`);\n td.append(edit);\n edit.on('click', () => {\n _this.urlParameterItemDialog.show(function () {\n nameTD.html(param.name);\n valueTD.html(param.value);\n }, param, 'edit');\n });\n const del = $(`删除`);\n td.append(del);\n del.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"confirm\"])(`${window.i18n.dialog.urlParam.delTip}`, function () {\n const index = _this.parameters.indexOf(param);\n _this.parameters.splice(index, 1);\n tr.remove();\n });\n });\n tr.append(td);\n }\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/URLParameterDialog.js?"); /***/ }), @@ -5282,7 +5282,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return URLParameterItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\nclass URLParameterItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.paramItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const valueGroup = $(`
    `);\n body.append(valueGroup);\n this.nameEditor = $(``);\n valueGroup.append(this.nameEditor);\n const labelGroup = $(`
    `);\n this.valueEditor = $(``);\n labelGroup.append(this.valueEditor);\n body.append(labelGroup);\n\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n const name = _this.nameEditor.val(),\n value = _this.valueEditor.val();\n if (name === '' || value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.paramItem.tip}`);\n return;\n }\n _this.paramItem.name = name;\n _this.paramItem.value = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(callback, paramItem, op) {\n this.callback = callback;\n this.paramItem = paramItem;\n this.dialog.modal('show');\n if (op === 'add') {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.paramItem.add}`);\n } else {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.paramItem.edit}`);\n }\n this.nameEditor.val(paramItem.name);\n this.valueEditor.val(paramItem.value);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/URLParameterItemDialog.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return URLParameterItemDialog; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\nclass URLParameterItemDialog {\n constructor() {\n this.dialog = $(`
    \n
    \n
    \n
    \n \n

    \n ${window.i18n.dialog.paramItem.title}\n

    \n
    \n
    \n
    \n
    \n
    \n
    `);\n const body = this.dialog.find('.modal-body'),\n footer = this.dialog.find(\".modal-footer\");\n this.initBody(body, footer);\n }\n initBody(body, footer) {\n const valueGroup = $(`
    `);\n body.append(valueGroup);\n this.nameEditor = $(``);\n valueGroup.append(this.nameEditor);\n const labelGroup = $(`
    `);\n this.valueEditor = $(``);\n labelGroup.append(this.valueEditor);\n body.append(labelGroup);\n\n const saveButton = $(``);\n footer.append(saveButton);\n const _this = this;\n saveButton.on('click', () => {\n const name = _this.nameEditor.val(),\n value = _this.valueEditor.val();\n if (name === '' || value === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.dialog.paramItem.tip}`);\n return;\n }\n _this.paramItem.name = name;\n _this.paramItem.value = value;\n _this.callback.call(this);\n _this.dialog.modal('hide');\n });\n }\n show(callback, paramItem, op) {\n this.callback = callback;\n this.paramItem = paramItem;\n this.dialog.modal('show');\n if (op === 'add') {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.paramItem.add}`);\n } else {\n this.dialog.find('.modal-title').html(`${window.i18n.dialog.paramItem.edit}`);\n }\n this.nameEditor.val(paramItem.name);\n this.valueEditor.val(paramItem.value);\n }\n}\n\n//# sourceURL=webpack:///./src/dialog/URLParameterItemDialog.js?"); /***/ }), @@ -5316,7 +5316,7 @@ eval("module.exports = JSON.parse(\"{\\\"selectTargetCellFirst\\\":\\\"Please se /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildLocal; });\n/* harmony import */ var _designer_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./designer.json */ \"./src/i18n/designer.json\");\nvar _designer_json__WEBPACK_IMPORTED_MODULE_0___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./designer.json */ \"./src/i18n/designer.json\", 1);\n/* harmony import */ var _designer_en_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./designer_en.json */ \"./src/i18n/designer_en.json\");\nvar _designer_en_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./designer_en.json */ \"./src/i18n/designer_en.json\", 1);\n/**\r\n * Created by Jacky.Gao on 2017-10-01.\r\n */\n\n\nfunction buildLocal() {\n let language = window.navigator.language || window.navigator.browserLanguage;\n if (!language) {\n language = 'zh-cn';\n }\n language = language.toLowerCase();\n window.i18n = _designer_json__WEBPACK_IMPORTED_MODULE_0__;\n if (language !== 'zh-cn') {\n window.i18n = _designer_en_json__WEBPACK_IMPORTED_MODULE_1__;\n }\n}\n\n//# sourceURL=webpack:///./src/i18n/i18n.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildLocal; });\n/* harmony import */ var _designer_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./designer.json */ \"./src/i18n/designer.json\");\nvar _designer_json__WEBPACK_IMPORTED_MODULE_0___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./designer.json */ \"./src/i18n/designer.json\", 1);\n/* harmony import */ var _designer_en_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./designer_en.json */ \"./src/i18n/designer_en.json\");\nvar _designer_en_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./designer_en.json */ \"./src/i18n/designer_en.json\", 1);\n/**\n * Created by Jacky.Gao on 2017-10-01.\n */\n\n\nfunction buildLocal() {\n let language = window.navigator.language || window.navigator.browserLanguage;\n if (!language) {\n language = 'zh-cn';\n }\n language = language.toLowerCase();\n window.i18n = _designer_json__WEBPACK_IMPORTED_MODULE_0__;\n if (language !== 'zh-cn') {\n window.i18n = _designer_en_json__WEBPACK_IMPORTED_MODULE_1__;\n }\n}\n\n//# sourceURL=webpack:///./src/i18n/i18n.js?"); /***/ }), @@ -5328,7 +5328,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.css */ \"./node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.css\");\n/* harmony import */ var _node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/completer/dist/completer.min.css */ \"./node_modules/completer/dist/completer.min.css\");\n/* harmony import */ var _node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css */ \"./node_modules/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css\");\n/* harmony import */ var _node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/codemirror/lib/codemirror.css */ \"./node_modules/codemirror/lib/codemirror.css\");\n/* harmony import */ var _node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../node_modules/codemirror/addon/hint/show-hint.css */ \"./node_modules/codemirror/addon/hint/show-hint.css\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../node_modules/codemirror/addon/lint/lint.css */ \"./node_modules/codemirror/addon/lint/lint.css\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../css/iconfont.css */ \"./css/iconfont.css\");\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_css_iconfont_css__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../css/dataReport/iconfont.css */ \"./css/dataReport/iconfont.css\");\n/* harmony import */ var _css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../css/ymFont/iconfont.css */ \"./css/ymFont/iconfont.css\");\n/* harmony import */ var _css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _css_designer_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../css/designer.css */ \"./css/designer.css\");\n/* harmony import */ var _css_designer_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_css_designer_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tree/css/tree.css */ \"./src/tree/css/tree.css\");\n/* harmony import */ var _tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./jquery.draggable.js */ \"./src/jquery.draggable.js\");\n/* harmony import */ var _jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../node_modules/bootstrap/dist/js/bootstrap.js */ \"./node_modules/bootstrap/dist/js/bootstrap.js\");\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../node_modules/codemirror/mode/javascript/javascript.js */ \"./node_modules/codemirror/mode/javascript/javascript.js\");\n/* harmony import */ var _node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _designer_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./designer.js */ \"./src/designer.js\");\n/* harmony import */ var _i18n_i18n_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./i18n/i18n.js */ \"./src/i18n/i18n.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$(document).ready(function () {\n Object(_i18n_i18n_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])();\n const designer = new _designer_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"](\"container\");\n});\n\n//# sourceURL=webpack:///./src/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.css */ \"./node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.css\");\n/* harmony import */ var _node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_jquery_contextmenu_dist_jquery_contextMenu_min_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/completer/dist/completer.min.css */ \"./node_modules/completer/dist/completer.min.css\");\n/* harmony import */ var _node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_completer_dist_completer_min_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css */ \"./node_modules/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css\");\n/* harmony import */ var _node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_colorpicker_dist_css_bootstrap_colorpicker_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/codemirror/lib/codemirror.css */ \"./node_modules/codemirror/lib/codemirror.css\");\n/* harmony import */ var _node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../node_modules/codemirror/addon/hint/show-hint.css */ \"./node_modules/codemirror/addon/hint/show-hint.css\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_css__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../node_modules/codemirror/addon/lint/lint.css */ \"./node_modules/codemirror/addon/lint/lint.css\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../css/iconfont.css */ \"./css/iconfont.css\");\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_css_iconfont_css__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../css/dataReport/iconfont.css */ \"./css/dataReport/iconfont.css\");\n/* harmony import */ var _css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_css_dataReport_iconfont_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../css/ymFont/iconfont.css */ \"./css/ymFont/iconfont.css\");\n/* harmony import */ var _css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_css_ymFont_iconfont_css__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _css_designer_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../css/designer.css */ \"./css/designer.css\");\n/* harmony import */ var _css_designer_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_css_designer_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tree/css/tree.css */ \"./src/tree/css/tree.css\");\n/* harmony import */ var _tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_tree_css_tree_css__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./jquery.draggable.js */ \"./src/jquery.draggable.js\");\n/* harmony import */ var _jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jquery_draggable_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../node_modules/bootstrap/dist/js/bootstrap.js */ \"./node_modules/bootstrap/dist/js/bootstrap.js\");\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../node_modules/codemirror/mode/javascript/javascript.js */ \"./node_modules/codemirror/mode/javascript/javascript.js\");\n/* harmony import */ var _node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_mode_javascript_javascript_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _designer_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./designer.js */ \"./src/designer.js\");\n/* harmony import */ var _i18n_i18n_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./i18n/i18n.js */ \"./src/i18n/i18n.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$(document).ready(function () {\n Object(_i18n_i18n_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])();\n const designer = new _designer_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"](\"container\");\n});\n\n//# sourceURL=webpack:///./src/index.js?"); /***/ }), @@ -5339,7 +5339,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /*! no static exports found */ /***/ (function(module, exports) { -eval("/**\r\n * Created by Jacky.gao on 2016/7/12.\r\n */\n(function ($) {\n $.fn.draggable = function (options) {\n var settings = $.extend({ handle: 0, exclude: 0 }, options);\n return this.each(function () {\n var dx,\n dy,\n el = $(this),\n handle = settings.handle ? $(settings.handle, el) : el;\n handle.on({\n mousedown: function (e) {\n var target = e.target;\n var className = '',\n iscm = false;\n if (target) {\n className = target.className;\n if (className) {\n className = className.trim();\n if (className.indexOf('cm-') > -1) {\n iscm = true;\n } else if (className.indexOf('CodeMirror-') > -1) {\n iscm = true;\n }\n }\n }\n if (className && (className === 'form-control' || className === 'presentation' || iscm)) {\n return;\n }\n if (className.indexOf(\"ureport\") > -1 || className.indexOf(\"ds_name\") > -1 || className.indexOf(\"dataset_name\") > -1 || target.tagName === \"A\") {\n return;\n }\n if (target && $(target).attr('role') === 'presentation') {\n return;\n }\n if (settings.exclude && ~$.inArray(e.target, $(settings.exclude, el))) return;\n var os = el.offset();\n dx = e.pageX - os.left, dy = e.pageY - os.top;\n $(document).on('mousemove.drag', function (e) {\n el.offset({ top: e.pageY - dy, left: e.pageX - dx });\n });\n },\n mouseup: function (e) {\n $(document).off('mousemove.drag');\n }\n });\n });\n };\n})(jQuery);\n\n//# sourceURL=webpack:///./src/jquery.draggable.js?"); +eval("/**\n * Created by Jacky.gao on 2016/7/12.\n */\n(function ($) {\n $.fn.draggable = function (options) {\n var settings = $.extend({ handle: 0, exclude: 0 }, options);\n return this.each(function () {\n var dx,\n dy,\n el = $(this),\n handle = settings.handle ? $(settings.handle, el) : el;\n handle.on({\n mousedown: function (e) {\n var target = e.target;\n var className = '',\n iscm = false;\n if (target) {\n className = target.className;\n if (className) {\n className = className.trim();\n if (className.indexOf('cm-') > -1) {\n iscm = true;\n } else if (className.indexOf('CodeMirror-') > -1) {\n iscm = true;\n }\n }\n }\n if (className && (className === 'form-control' || className === 'presentation' || iscm)) {\n return;\n }\n if (className.indexOf(\"ureport\") > -1 || className.indexOf(\"ds_name\") > -1 || className.indexOf(\"dataset_name\") > -1 || target.tagName === \"A\") {\n return;\n }\n if (target && $(target).attr('role') === 'presentation') {\n return;\n }\n if (settings.exclude && ~$.inArray(e.target, $(settings.exclude, el))) return;\n var os = el.offset();\n dx = e.pageX - os.left, dy = e.pageY - os.top;\n $(document).on('mousemove.drag', function (e) {\n el.offset({ top: e.pageY - dy, left: e.pageX - dx });\n });\n },\n mouseup: function (e) {\n $(document).off('mousemove.drag');\n }\n });\n });\n };\n})(jQuery);\n\n//# sourceURL=webpack:///./src/jquery.draggable.js?"); /***/ }), @@ -5351,7 +5351,7 @@ eval("/**\r\n * Created by Jacky.gao on 2016/7/12.\r\n */\n(function ($) {\n /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasourcePanel; });\n/* harmony import */ var _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tree/DatabaseTree.js */ \"./src/tree/DatabaseTree.js\");\n/* harmony import */ var _tree_SpringTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tree/SpringTree.js */ \"./src/tree/SpringTree.js\");\n/* harmony import */ var _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tree/BuildinTree.js */ \"./src/tree/BuildinTree.js\");\n/* harmony import */ var _dialog_DatasourceDialog_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dialog/DatasourceDialog.js */ \"./src/dialog/DatasourceDialog.js\");\n/* harmony import */ var _dialog_BuildinDatasourceSelectDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dialog/BuildinDatasourceSelectDialog.js */ \"./src/dialog/BuildinDatasourceSelectDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-04.\r\n */\n\n\n\n\n// import SpringDialog from '../dialog/SpringDialog.js';\n\n\nclass DatasourcePanel {\n constructor(context) {\n this.context = context;\n context.datasourcePanel = this;\n const reportDef = context.reportDef;\n if (!reportDef.datasources) {\n reportDef.datasources = [];\n }\n this.datasources = reportDef.datasources;\n }\n buildPanel() {\n const panel = $(`
    `);\n const toolbar = $(`
    `);\n panel.append(toolbar);\n const addSqlBtn = $(``);\n toolbar.append(addSqlBtn);\n\n // 数据源树\n this.treeContainer = $(`
    `);\n panel.append(this.treeContainer);\n\n this.datasourceDialog = new _dialog_DatasourceDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.datasources);\n const _this = this;\n\n addSqlBtn.on('click', () => {\n _this.datasourceDialog.show(function (name, username, password, driver, url) {\n const ds = {\n name,\n username,\n password,\n driver,\n url\n };\n const tree = new _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](_this.treeContainer, _this.datasources, ds, _this.datasourceDialog, _this.context);\n _this.datasources.push(tree);\n });\n });\n // const addSpringBtn=$(``);\n // toolbar.append(addSpringBtn);\n // this.springDialog=new SpringDialog(this.datasources);\n // addSpringBtn.click(function(){\n // _this.springDialog.show(function(name,beanId){\n // const ds={name,beanId};\n // const tree=new SpringTree(_this.treeContainer,_this.datasources,ds,_this.springDialog,_this.context);\n // _this.datasources.push(tree);\n // });\n // });\n const addBuildinBtn = $(`\n `);\n toolbar.append(addBuildinBtn);\n const buildinDatasourceSelectDialog = new _dialog_BuildinDatasourceSelectDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.datasources);\n addBuildinBtn.on('click', () => {\n buildinDatasourceSelectDialog.show(function (name) {\n const ds = {\n name\n };\n const tree = new _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.treeContainer, _this.datasources, ds, _this.context);\n _this.datasources.push(tree);\n });\n });\n this.buildDatasources();\n return panel;\n }\n\n buildDatasources() {\n this.treeContainer.empty();\n for (let ds of this.datasources) {\n if (ds.type === 'jdbc') {\n new _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.treeContainer, this.datasources, ds, this.datasourceDialog, this.context);\n } else if (ds.type === 'spring') {\n new _tree_SpringTree_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.treeContainer, this.datasources, ds, this.springDialog, this.context);\n } else if (ds.type === 'buildin') {\n new _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.treeContainer, this.datasources, ds, this.context);\n }\n }\n }\n}\n\n//# sourceURL=webpack:///./src/panel/DatasourcePanel.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasourcePanel; });\n/* harmony import */ var _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tree/DatabaseTree.js */ \"./src/tree/DatabaseTree.js\");\n/* harmony import */ var _tree_SpringTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tree/SpringTree.js */ \"./src/tree/SpringTree.js\");\n/* harmony import */ var _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tree/BuildinTree.js */ \"./src/tree/BuildinTree.js\");\n/* harmony import */ var _dialog_DatasourceDialog_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dialog/DatasourceDialog.js */ \"./src/dialog/DatasourceDialog.js\");\n/* harmony import */ var _dialog_BuildinDatasourceSelectDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dialog/BuildinDatasourceSelectDialog.js */ \"./src/dialog/BuildinDatasourceSelectDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-04.\n */\n\n\n\n\n// import SpringDialog from '../dialog/SpringDialog.js';\n\n\nclass DatasourcePanel {\n constructor(context) {\n this.context = context;\n context.datasourcePanel = this;\n const reportDef = context.reportDef;\n if (!reportDef.datasources) {\n reportDef.datasources = [];\n }\n this.datasources = reportDef.datasources;\n }\n buildPanel() {\n const panel = $(`
    `);\n const toolbar = $(`
    `);\n panel.append(toolbar);\n const addSqlBtn = $(``);\n toolbar.append(addSqlBtn);\n\n // 数据源树\n this.treeContainer = $(`
    `);\n panel.append(this.treeContainer);\n\n this.datasourceDialog = new _dialog_DatasourceDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.datasources);\n const _this = this;\n\n addSqlBtn.on('click', () => {\n _this.datasourceDialog.show(function (name, username, password, driver, url) {\n const ds = {\n name,\n username,\n password,\n driver,\n url\n };\n const tree = new _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](_this.treeContainer, _this.datasources, ds, _this.datasourceDialog, _this.context);\n _this.datasources.push(tree);\n });\n });\n // const addSpringBtn=$(``);\n // toolbar.append(addSpringBtn);\n // this.springDialog=new SpringDialog(this.datasources);\n // addSpringBtn.click(function(){\n // _this.springDialog.show(function(name,beanId){\n // const ds={name,beanId};\n // const tree=new SpringTree(_this.treeContainer,_this.datasources,ds,_this.springDialog,_this.context);\n // _this.datasources.push(tree);\n // });\n // });\n const addBuildinBtn = $(`\n `);\n toolbar.append(addBuildinBtn);\n const buildinDatasourceSelectDialog = new _dialog_BuildinDatasourceSelectDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.datasources);\n addBuildinBtn.on('click', () => {\n buildinDatasourceSelectDialog.show(function (name) {\n const ds = {\n name\n };\n const tree = new _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.treeContainer, _this.datasources, ds, _this.context);\n _this.datasources.push(tree);\n });\n });\n this.buildDatasources();\n return panel;\n }\n\n buildDatasources() {\n this.treeContainer.empty();\n for (let ds of this.datasources) {\n if (ds.type === 'jdbc') {\n new _tree_DatabaseTree_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.treeContainer, this.datasources, ds, this.datasourceDialog, this.context);\n } else if (ds.type === 'spring') {\n new _tree_SpringTree_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.treeContainer, this.datasources, ds, this.springDialog, this.context);\n } else if (ds.type === 'buildin') {\n new _tree_BuildinTree_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.treeContainer, this.datasources, ds, this.context);\n }\n }\n }\n}\n\n//# sourceURL=webpack:///./src/panel/DatasourcePanel.js?"); /***/ }), @@ -5363,7 +5363,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyPanel; });\n/* harmony import */ var _property_SimpleValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property/SimpleValueEditor.js */ \"./src/panel/property/SimpleValueEditor.js\");\n/* harmony import */ var _property_ExpressionValueEditor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./property/ExpressionValueEditor.js */ \"./src/panel/property/ExpressionValueEditor.js\");\n/* harmony import */ var _property_DatasetValueEditor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./property/DatasetValueEditor.js */ \"./src/panel/property/DatasetValueEditor.js\");\n/* harmony import */ var _property_ImageValueEditor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./property/ImageValueEditor.js */ \"./src/panel/property/ImageValueEditor.js\");\n/* harmony import */ var _property_SlashValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./property/SlashValueEditor.js */ \"./src/panel/property/SlashValueEditor.js\");\n/* harmony import */ var _property_ZxingValueEditor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./property/ZxingValueEditor.js */ \"./src/panel/property/ZxingValueEditor.js\");\n/* harmony import */ var _dialog_URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dialog/URLParameterDialog.js */ \"./src/dialog/URLParameterDialog.js\");\n/* harmony import */ var _property_chart_BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./property/chart/BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/* harmony import */ var _property_chart_LineChartValueEditor_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./property/chart/LineChartValueEditor.js */ \"./src/panel/property/chart/LineChartValueEditor.js\");\n/* harmony import */ var _property_chart_AreaChartValueEditor_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./property/chart/AreaChartValueEditor.js */ \"./src/panel/property/chart/AreaChartValueEditor.js\");\n/* harmony import */ var _property_chart_HorizontalBarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./property/chart/HorizontalBarChartValueEditor.js */ \"./src/panel/property/chart/HorizontalBarChartValueEditor.js\");\n/* harmony import */ var _property_chart_BubbleChartValueEditor_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./property/chart/BubbleChartValueEditor.js */ \"./src/panel/property/chart/BubbleChartValueEditor.js\");\n/* harmony import */ var _property_chart_DoughnutChartValueEditor_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./property/chart/DoughnutChartValueEditor.js */ \"./src/panel/property/chart/DoughnutChartValueEditor.js\");\n/* harmony import */ var _property_chart_PieChartValueEditor_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./property/chart/PieChartValueEditor.js */ \"./src/panel/property/chart/PieChartValueEditor.js\");\n/* harmony import */ var _property_chart_PolarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./property/chart/PolarChartValueEditor.js */ \"./src/panel/property/chart/PolarChartValueEditor.js\");\n/* harmony import */ var _property_chart_RadarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./property/chart/RadarChartValueEditor.js */ \"./src/panel/property/chart/RadarChartValueEditor.js\");\n/* harmony import */ var _property_chart_ScatterChartValueEditor_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./property/chart/ScatterChartValueEditor.js */ \"./src/panel/property/chart/ScatterChartValueEditor.js\");\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-04.\r\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass PropertyPanel {\n constructor(context) {\n this.context = context;\n }\n\n buildPanel() {\n this.panel = $(`
    `);\n this._buildParentCell();\n this._buildRenderer();\n this._buildLinkConfig();\n this._buildCellType();\n this.editorMap = new Map();\n const simpleValueEditor = new _property_SimpleValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.panel, this.context);\n this.editorMap.set('simple', simpleValueEditor);\n const expressionValueEditor = new _property_ExpressionValueEditor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.panel, this.context);\n this.editorMap.set('expression', expressionValueEditor);\n const datasetValueEditor = new _property_DatasetValueEditor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.panel, this.context);\n this.editorMap.set('dataset', datasetValueEditor);\n const imageValueEditor = new _property_ImageValueEditor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.panel, this.context);\n this.editorMap.set('image', imageValueEditor);\n const slashValueEditor = new _property_SlashValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.panel, this.context);\n this.editorMap.set('slash', slashValueEditor);\n const zxingValueEditor = new _property_ZxingValueEditor_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this.panel, this.context);\n this.editorMap.set('zxing', zxingValueEditor);\n\n this.chartEditorMap = new Map();\n this.chartEditorMap.set('bar', new _property_chart_BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('line', new _property_chart_LineChartValueEditor_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('horizontalBar', new _property_chart_HorizontalBarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('area', new _property_chart_AreaChartValueEditor_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('radar', new _property_chart_RadarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('polarArea', new _property_chart_PolarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('scatter', new _property_chart_ScatterChartValueEditor_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('bubble', new _property_chart_BubbleChartValueEditor_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('doughnut', new _property_chart_DoughnutChartValueEditor_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('pie', new _property_chart_PieChartValueEditor_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"](this.panel, this.context));\n\n return this.panel;\n }\n\n _buildLinkConfig() {\n const _this = this;\n this.linkGroup = $(`
    \n ${window.i18n.property.prop.linkConfig}
    `);\n const urlGroup = $(`
    `);\n this.linkGroup.append(urlGroup);\n this.linkEditor = $(``);\n urlGroup.append(this.linkEditor);\n this.linkEditor.change(function () {\n _this.cellDef.linkUrl = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n const configGroup = $(`
    `);\n this.linkGroup.append(configGroup);\n this.targetSelect = $(``);\n configGroup.append(this.targetSelect);\n this.targetSelect.change(function () {\n _this.cellDef.linkTargetWindow = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n const urlParameterDialog = new _dialog_URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n const parameterButton = $(``);\n configGroup.append(parameterButton);\n parameterButton.on('click', () => {\n if (!_this.cellDef.linkUrl || _this.cellDef.linkUrl === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_19__[\"alert\"])(`${window.i18n.property.prop.urlTip}`);\n return;\n }\n if (!_this.cellDef.linkParameters) {\n _this.cellDef.linkParameters = [];\n }\n urlParameterDialog.show(_this.cellDef.linkParameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n this.panel.append(this.linkGroup);\n this.linkGroup.hide();\n }\n\n _buildCellType() {\n this.typeGruop = $(`
    `);\n const radioName = \"__cell_value_type\";\n this.typeSelect = $(``);\n this.typeGruop.append(this.typeSelect);\n this.panel.append(this.typeGruop);\n this.typeGruop.hide();\n const _this = this;\n this.typeSelect.change(function () {\n for (let editor of _this.editorMap.values()) {\n editor.hide();\n }\n let cellDef = _this.cellDef;\n let value = $(this).val();\n if (value === 'simple') {\n if (cellDef.value.type !== 'simple') {\n cellDef.value = {\n type: 'simple'\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('simple').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'expression') {\n if (cellDef.value.type !== 'expression') {\n cellDef.value = {\n type: 'expression',\n value: ''\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('expression').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'dataset') {\n if (cellDef.value.type !== 'dataset') {\n cellDef.value = {\n type: 'dataset',\n datasetName: '',\n property: '',\n aggregate: '',\n conditions: [],\n order: 'none'\n };\n }\n cellDef.expand = 'Down';\n _this.editorMap.get('dataset').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'image') {\n if (cellDef.value.type !== 'image') {\n cellDef.value = {\n type: 'image',\n source: 'text'\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('image').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'qrcode') {\n if (cellDef.value.type !== 'zxing' || cellDef.value.category !== 'qrcode') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n source: 'text',\n category: 'qrcode',\n data: ''\n };\n cellDef.expand = 'None';\n }\n _this.editorMap.get('zxing').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'barcode') {\n if (cellDef.value.type !== 'zxing' || cellDef.value.category !== 'barcode') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n source: 'text',\n category: 'barcode',\n data: '',\n format: 'CODE_128'\n };\n cellDef.expand = 'None';\n }\n _this.editorMap.get('zxing').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'slash') {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"](_this.context, _this.rowIndex, _this.colIndex);\n cellDef.expand = 'None';\n _this.editorMap.get('slash').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'chart') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'chart',\n chart: {\n dataset: {\n type: 'pie'\n }\n }\n };\n }\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, '');\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n }\n\n _buildParentCell() {\n this.parentGroup = $(`
    `);\n const leftParentGroup = $(`
    `);\n this.parentGroup.append(leftParentGroup);\n this.defaultLeftRadio = $(``);\n leftParentGroup.append(this.defaultLeftRadio);\n this.customLeftRadio = $(``);\n leftParentGroup.append(this.customLeftRadio);\n\n this.leftParentCellNameSelect = $(``);\n leftParentGroup.append(this.leftParentCellNameSelect);\n this.leftParentRowNumberSelect = $(``);\n leftParentGroup.append(this.leftParentRowNumberSelect);\n const _this = this;\n this.leftParentCellNameSelect.change(function () {\n let name = $(this).val();\n if (name === 'root') {\n _this.leftParentRowNumberSelect.prop('disabled', true);\n _this.leftParentRowNumberSelect.val('');\n _this._setParentCell('root', true);\n } else {\n _this.leftParentRowNumberSelect.prop('disabled', false);\n let num = _this.leftParentRowNumberSelect.val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, true);\n }\n }\n });\n this.leftParentRowNumberSelect.change(function () {\n let name = _this.leftParentCellNameSelect.val();\n if (name === 'root') {\n _this._setParentCell('root', true);\n } else {\n let num = $(this).val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, true);\n }\n }\n });\n\n this.defaultLeftRadio.children('input').on('click', () => {\n _this.leftParentCellNameSelect.prop(\"disabled\", true);\n _this.leftParentRowNumberSelect.prop(\"disabled\", true);\n _this._setParentCell(null, true);\n });\n this.customLeftRadio.children('input').on('click', () => {\n _this.leftParentCellNameSelect.prop(\"disabled\", false);\n _this.leftParentRowNumberSelect.prop(\"disabled\", false);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n\n const topParentGroup = $(`
    `);\n this.parentGroup.append(topParentGroup);\n this.defaultTopRadio = $(``);\n topParentGroup.append(this.defaultTopRadio);\n this.customTopRadio = $(``);\n topParentGroup.append(this.customTopRadio);\n\n this.topParentCellNameSelect = $(``);\n topParentGroup.append(this.topParentCellNameSelect);\n this.topParentRowNumberSelect = $(``);\n topParentGroup.append(this.topParentRowNumberSelect);\n\n this.topParentCellNameSelect.change(function () {\n let name = $(this).val();\n if (name === 'root') {\n _this.topParentRowNumberSelect.prop('disabled', true);\n _this.topParentRowNumberSelect.val('');\n _this._setParentCell('root', false);\n } else {\n _this.topParentRowNumberSelect.prop('disabled', false);\n let num = _this.topParentRowNumberSelect.val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, false);\n }\n }\n });\n this.topParentRowNumberSelect.change(function () {\n let name = _this.topParentCellNameSelect.val();\n if (name === 'root') {\n _this._setParentCell('root', false);\n } else {\n let num = $(this).val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, false);\n }\n }\n });\n\n this.defaultTopRadio.children('input').on('click', () => {\n _this.topParentCellNameSelect.prop(\"disabled\", true);\n _this.topParentRowNumberSelect.prop(\"disabled\", true);\n _this._setParentCell(null, false);\n });\n this.customTopRadio.children('input').on('click', () => {\n _this.topParentCellNameSelect.prop(\"disabled\", false);\n _this.topParentRowNumberSelect.prop(\"disabled\", false);\n });\n\n this.panel.append(this.parentGroup);\n this.parentGroup.hide();\n }\n\n _setParentCell(cellName, isLeft) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n if (isLeft) {\n if (cellName) {\n cellDef.leftParentCellName = cellName;\n } else {\n cellDef.leftParentCellName = null;\n }\n } else {\n if (cellName) {\n cellDef.topParentCellName = cellName;\n } else {\n cellDef.topParentCellName = null;\n }\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n }\n\n _buildParentCellNameOptions(select) {\n select.empty();\n const hot = this.context.hot;\n const countCols = hot.countCols();\n select.append(``);\n for (let j = 0; j < countCols; j++) {\n let name = this.context.getCellName(null, j);\n select.append(``);\n }\n }\n\n _buildParentRowNumberOptions(select) {\n select.empty();\n const hot = this.context.hot;\n const countRows = hot.countRows();\n select.append(``);\n for (let j = 0; j < countRows; j++) {\n select.append(``);\n }\n }\n\n _buildRenderer() {\n this.rendererGroup = $(`
    `);\n const rendererBeanEditorGroup = $(`
    `);\n this.rendererGroup.append(rendererBeanEditorGroup);\n this.rendererBeanEditor = $(``);\n rendererBeanEditorGroup.append(this.rendererBeanEditor);\n const addon = $(``);\n const selectButton = $(``);\n addon.append(selectButton);\n rendererBeanEditorGroup.append(addon);\n const _this = this;\n selectButton.click(function () {});\n this.panel.append(this.rendererGroup);\n this.rendererBeanEditor.change(function () {\n _this._setRenderer($(this).val());\n });\n this.rendererGroup.hide();\n }\n\n _setRenderer(renderer) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.renderer = renderer;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n }\n\n refresh(rowIndex, colIndex, row2Index, col2Index) {\n const cellDef = this.context.getCell(rowIndex, colIndex);\n if (!cellDef) {\n return;\n }\n this.cellDef = cellDef;\n let currentCellName = this.context.getCellName(rowIndex, colIndex);\n $('#__prop_tab_link').html(`${window.i18n.property.prop.prop}[${currentCellName}]`);\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.parentGroup.show();\n this.typeGruop.show();\n this.linkGroup.show();\n //this.rendererGroup.show();\n this.initialized = true;\n this.linkEditor.val(cellDef.linkUrl);\n this.targetSelect.val(cellDef.linkTargetWindow);\n\n this._buildParentCellNameOptions(this.leftParentCellNameSelect);\n this._buildParentRowNumberOptions(this.leftParentRowNumberSelect);\n this._buildParentCellNameOptions(this.topParentCellNameSelect);\n this._buildParentRowNumberOptions(this.topParentRowNumberSelect);\n const leftParentCellName = cellDef.leftParentCellName;\n if (leftParentCellName) {\n this.customLeftRadio.trigger('click');\n if (leftParentCellName === 'root') {\n this.leftParentCellNameSelect.val('root');\n this.leftParentRowNumberSelect.val('');\n } else {\n let data = this._parseCellName(leftParentCellName);\n this.leftParentCellNameSelect.val(data.name);\n this.leftParentRowNumberSelect.val(data.num);\n }\n this.leftParentCellNameSelect.prop('disabled', false);\n this.leftParentRowNumberSelect.prop('disabled', false);\n this.leftParentCellNameSelect.trigger('change');\n } else {\n this.defaultLeftRadio.trigger('click');\n if (colIndex === 0) {\n this.leftParentCellNameSelect.val('root');\n this.leftParentRowNumberSelect.val('');\n } else {\n let row = rowIndex,\n col = colIndex - 1;\n let td = this.context.hot.getCell(row, col);\n if ($(td).css('display') === 'none') {\n let mergeCells = this.context.hot.getSettings().mergeCells;\n for (let item of mergeCells) {\n let rowStart = item.row,\n rowspan = item.rowspan,\n colStart = item.col,\n colspan = item.colspan;\n let rowEnd = rowStart + rowspan - 1,\n colEnd = colStart + colspan - 1;\n if (row >= rowStart && row <= rowEnd && col >= colStart && col <= colEnd) {\n row = rowStart, col = colStart;\n break;\n }\n }\n }\n let cellName = this.context.getCellName(row, col);\n let data = this._parseCellName(cellName);\n this.leftParentCellNameSelect.val(data.name);\n this.leftParentRowNumberSelect.val(data.num);\n }\n this.leftParentCellNameSelect.prop('disabled', true);\n this.leftParentRowNumberSelect.prop('disabled', true);\n }\n const topParentCellName = cellDef.topParentCellName;\n if (topParentCellName) {\n this.customTopRadio.trigger('click');\n if (topParentCellName === 'root') {\n this.topParentCellNameSelect.val('root');\n this.topParentRowNumberSelect.val('');\n } else {\n let data = this._parseCellName(topParentCellName);\n this.topParentCellNameSelect.val(data.name);\n this.topParentRowNumberSelect.val(data.num);\n }\n this.topParentCellNameSelect.prop('disabled', false);\n this.topParentRowNumberSelect.prop('disabled', false);\n this.topParentCellNameSelect.trigger('change');\n } else {\n this.defaultTopRadio.trigger('click');\n if (rowIndex === 0) {\n this.topParentCellNameSelect.val('root');\n this.topParentRowNumberSelect.val('');\n } else {\n let row = rowIndex - 1,\n col = colIndex;\n let td = this.context.hot.getCell(row, col);\n if ($(td).css('display') === 'none') {\n let mergeCells = this.context.hot.getSettings().mergeCells;\n for (let item of mergeCells) {\n let rowStart = item.row,\n rowspan = item.rowspan,\n colStart = item.col,\n colspan = item.colspan;\n let rowEnd = rowStart + rowspan - 1,\n colEnd = colStart + colspan - 1;\n if (row >= rowStart && row <= rowEnd && col >= colStart && col <= colEnd) {\n row = rowStart, col = colStart;\n break;\n }\n }\n }\n\n let cellName = this.context.getCellName(row, col);\n let data = this._parseCellName(cellName);\n this.topParentCellNameSelect.val(data.name);\n this.topParentRowNumberSelect.val(data.num);\n }\n this.topParentCellNameSelect.prop('disabled', true);\n this.topParentRowNumberSelect.prop('disabled', true);\n }\n const cellStyle = cellDef.cellStyle;\n if (cellStyle.renderer) {\n this.rendererBeanEditor.val(cellStyle.renderer);\n } else {\n this.rendererBeanEditor.val(\"\");\n }\n let type = cellDef.value.type || 'simple';\n if (type === 'zxing') {\n const category = cellDef.value.category;\n this.typeSelect.val(category);\n } else {\n this.typeSelect.val(type);\n }\n for (let editor of this.editorMap.values()) {\n editor.hide();\n }\n for (let editor of this.chartEditorMap.values()) {\n editor.hide();\n }\n if (type === 'chart') {\n const chartType = cellDef.value.chart.dataset.type;\n this.chartEditorMap.get(chartType).show(cellDef, rowIndex, colIndex, row2Index, col2Index);\n } else {\n this.editorMap.get(type).show(cellDef, rowIndex, colIndex, row2Index, col2Index);\n }\n this.initialized = false;\n }\n\n _parseCellName(cellName) {\n let pos = -1;\n for (let i = 0; i < cellName.length; i++) {\n let char = cellName.charAt(i);\n let num = parseInt(char);\n if (!isNaN(num)) {\n pos = i;\n break;\n }\n }\n const name = cellName.substring(0, pos);\n const num = cellName.substring(pos, cellName.length);\n return {\n name,\n num\n };\n }\n\n _buildWidth(colIndex, colspan, hot) {\n let width = hot.getColWidth(colIndex) - 3;\n if (!colspan || colspan < 2) {\n return width;\n }\n let start = colIndex + 1,\n end = colIndex + colspan;\n for (let i = start; i < end; i++) {\n width += hot.getColWidth(i);\n }\n return width;\n }\n\n _buildHeight(rowIndex, rowspan, hot) {\n let height = hot.getRowHeight(rowIndex) - 3;\n if (!rowspan || rowspan < 2) {\n return height;\n }\n let start = rowIndex + 1,\n end = rowIndex + rowspan;\n for (let i = start; i < end; i++) {\n height += hot.getRowHeight(i);\n }\n return height;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/PropertyPanel.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PropertyPanel; });\n/* harmony import */ var _property_SimpleValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property/SimpleValueEditor.js */ \"./src/panel/property/SimpleValueEditor.js\");\n/* harmony import */ var _property_ExpressionValueEditor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./property/ExpressionValueEditor.js */ \"./src/panel/property/ExpressionValueEditor.js\");\n/* harmony import */ var _property_DatasetValueEditor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./property/DatasetValueEditor.js */ \"./src/panel/property/DatasetValueEditor.js\");\n/* harmony import */ var _property_ImageValueEditor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./property/ImageValueEditor.js */ \"./src/panel/property/ImageValueEditor.js\");\n/* harmony import */ var _property_SlashValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./property/SlashValueEditor.js */ \"./src/panel/property/SlashValueEditor.js\");\n/* harmony import */ var _property_ZxingValueEditor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./property/ZxingValueEditor.js */ \"./src/panel/property/ZxingValueEditor.js\");\n/* harmony import */ var _dialog_URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dialog/URLParameterDialog.js */ \"./src/dialog/URLParameterDialog.js\");\n/* harmony import */ var _property_chart_BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./property/chart/BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/* harmony import */ var _property_chart_LineChartValueEditor_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./property/chart/LineChartValueEditor.js */ \"./src/panel/property/chart/LineChartValueEditor.js\");\n/* harmony import */ var _property_chart_AreaChartValueEditor_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./property/chart/AreaChartValueEditor.js */ \"./src/panel/property/chart/AreaChartValueEditor.js\");\n/* harmony import */ var _property_chart_HorizontalBarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./property/chart/HorizontalBarChartValueEditor.js */ \"./src/panel/property/chart/HorizontalBarChartValueEditor.js\");\n/* harmony import */ var _property_chart_BubbleChartValueEditor_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./property/chart/BubbleChartValueEditor.js */ \"./src/panel/property/chart/BubbleChartValueEditor.js\");\n/* harmony import */ var _property_chart_DoughnutChartValueEditor_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./property/chart/DoughnutChartValueEditor.js */ \"./src/panel/property/chart/DoughnutChartValueEditor.js\");\n/* harmony import */ var _property_chart_PieChartValueEditor_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./property/chart/PieChartValueEditor.js */ \"./src/panel/property/chart/PieChartValueEditor.js\");\n/* harmony import */ var _property_chart_PolarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./property/chart/PolarChartValueEditor.js */ \"./src/panel/property/chart/PolarChartValueEditor.js\");\n/* harmony import */ var _property_chart_RadarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./property/chart/RadarChartValueEditor.js */ \"./src/panel/property/chart/RadarChartValueEditor.js\");\n/* harmony import */ var _property_chart_ScatterChartValueEditor_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./property/chart/ScatterChartValueEditor.js */ \"./src/panel/property/chart/ScatterChartValueEditor.js\");\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-04.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass PropertyPanel {\n constructor(context) {\n this.context = context;\n }\n\n buildPanel() {\n this.panel = $(`
    `);\n this._buildParentCell();\n this._buildRenderer();\n this._buildLinkConfig();\n this._buildCellType();\n this.editorMap = new Map();\n const simpleValueEditor = new _property_SimpleValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.panel, this.context);\n this.editorMap.set('simple', simpleValueEditor);\n const expressionValueEditor = new _property_ExpressionValueEditor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.panel, this.context);\n this.editorMap.set('expression', expressionValueEditor);\n const datasetValueEditor = new _property_DatasetValueEditor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.panel, this.context);\n this.editorMap.set('dataset', datasetValueEditor);\n const imageValueEditor = new _property_ImageValueEditor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.panel, this.context);\n this.editorMap.set('image', imageValueEditor);\n const slashValueEditor = new _property_SlashValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.panel, this.context);\n this.editorMap.set('slash', slashValueEditor);\n const zxingValueEditor = new _property_ZxingValueEditor_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this.panel, this.context);\n this.editorMap.set('zxing', zxingValueEditor);\n\n this.chartEditorMap = new Map();\n this.chartEditorMap.set('bar', new _property_chart_BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('line', new _property_chart_LineChartValueEditor_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('horizontalBar', new _property_chart_HorizontalBarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('area', new _property_chart_AreaChartValueEditor_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('radar', new _property_chart_RadarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('polarArea', new _property_chart_PolarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('scatter', new _property_chart_ScatterChartValueEditor_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('bubble', new _property_chart_BubbleChartValueEditor_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('doughnut', new _property_chart_DoughnutChartValueEditor_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](this.panel, this.context));\n this.chartEditorMap.set('pie', new _property_chart_PieChartValueEditor_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"](this.panel, this.context));\n\n return this.panel;\n }\n\n _buildLinkConfig() {\n const _this = this;\n this.linkGroup = $(`
    \n ${window.i18n.property.prop.linkConfig}
    `);\n const urlGroup = $(`
    `);\n this.linkGroup.append(urlGroup);\n this.linkEditor = $(``);\n urlGroup.append(this.linkEditor);\n this.linkEditor.change(function () {\n _this.cellDef.linkUrl = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n const configGroup = $(`
    `);\n this.linkGroup.append(configGroup);\n this.targetSelect = $(``);\n configGroup.append(this.targetSelect);\n this.targetSelect.change(function () {\n _this.cellDef.linkTargetWindow = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n const urlParameterDialog = new _dialog_URLParameterDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n const parameterButton = $(``);\n configGroup.append(parameterButton);\n parameterButton.on('click', () => {\n if (!_this.cellDef.linkUrl || _this.cellDef.linkUrl === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_19__[\"alert\"])(`${window.i18n.property.prop.urlTip}`);\n return;\n }\n if (!_this.cellDef.linkParameters) {\n _this.cellDef.linkParameters = [];\n }\n urlParameterDialog.show(_this.cellDef.linkParameters);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n this.panel.append(this.linkGroup);\n this.linkGroup.hide();\n }\n\n _buildCellType() {\n this.typeGruop = $(`
    `);\n const radioName = \"__cell_value_type\";\n this.typeSelect = $(``);\n this.typeGruop.append(this.typeSelect);\n this.panel.append(this.typeGruop);\n this.typeGruop.hide();\n const _this = this;\n this.typeSelect.change(function () {\n for (let editor of _this.editorMap.values()) {\n editor.hide();\n }\n let cellDef = _this.cellDef;\n let value = $(this).val();\n if (value === 'simple') {\n if (cellDef.value.type !== 'simple') {\n cellDef.value = {\n type: 'simple'\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('simple').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'expression') {\n if (cellDef.value.type !== 'expression') {\n cellDef.value = {\n type: 'expression',\n value: ''\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('expression').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'dataset') {\n if (cellDef.value.type !== 'dataset') {\n cellDef.value = {\n type: 'dataset',\n datasetName: '',\n property: '',\n aggregate: '',\n conditions: [],\n order: 'none'\n };\n }\n cellDef.expand = 'Down';\n _this.editorMap.get('dataset').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'image') {\n if (cellDef.value.type !== 'image') {\n cellDef.value = {\n type: 'image',\n source: 'text'\n };\n }\n cellDef.expand = 'None';\n _this.editorMap.get('image').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'qrcode') {\n if (cellDef.value.type !== 'zxing' || cellDef.value.category !== 'qrcode') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n source: 'text',\n category: 'qrcode',\n data: ''\n };\n cellDef.expand = 'None';\n }\n _this.editorMap.get('zxing').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'barcode') {\n if (cellDef.value.type !== 'zxing' || cellDef.value.category !== 'barcode') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n source: 'text',\n category: 'barcode',\n data: '',\n format: 'CODE_128'\n };\n cellDef.expand = 'None';\n }\n _this.editorMap.get('zxing').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'slash') {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"](_this.context, _this.rowIndex, _this.colIndex);\n cellDef.expand = 'None';\n _this.editorMap.get('slash').show(_this.cellDef, _this.rowIndex, _this.colIndex, _this.row2Index, _this.col2Index);\n } else if (value === 'chart') {\n const rowIndex = _this.rowIndex,\n colIndex = this.colIndex;\n const td = _this.context.hot.getCell(rowIndex, colIndex);\n const width = _this._buildWidth(colIndex, td.colSpan, _this.context.hot);\n const height = _this._buildHeight(rowIndex, td.rowSpan, _this.context.hot);\n cellDef.value = {\n width,\n height,\n type: 'chart',\n chart: {\n dataset: {\n type: 'pie'\n }\n }\n };\n }\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, '');\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n }\n\n _buildParentCell() {\n this.parentGroup = $(`
    `);\n const leftParentGroup = $(`
    `);\n this.parentGroup.append(leftParentGroup);\n this.defaultLeftRadio = $(``);\n leftParentGroup.append(this.defaultLeftRadio);\n this.customLeftRadio = $(``);\n leftParentGroup.append(this.customLeftRadio);\n\n this.leftParentCellNameSelect = $(``);\n leftParentGroup.append(this.leftParentCellNameSelect);\n this.leftParentRowNumberSelect = $(``);\n leftParentGroup.append(this.leftParentRowNumberSelect);\n const _this = this;\n this.leftParentCellNameSelect.change(function () {\n let name = $(this).val();\n if (name === 'root') {\n _this.leftParentRowNumberSelect.prop('disabled', true);\n _this.leftParentRowNumberSelect.val('');\n _this._setParentCell('root', true);\n } else {\n _this.leftParentRowNumberSelect.prop('disabled', false);\n let num = _this.leftParentRowNumberSelect.val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, true);\n }\n }\n });\n this.leftParentRowNumberSelect.change(function () {\n let name = _this.leftParentCellNameSelect.val();\n if (name === 'root') {\n _this._setParentCell('root', true);\n } else {\n let num = $(this).val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, true);\n }\n }\n });\n\n this.defaultLeftRadio.children('input').on('click', () => {\n _this.leftParentCellNameSelect.prop(\"disabled\", true);\n _this.leftParentRowNumberSelect.prop(\"disabled\", true);\n _this._setParentCell(null, true);\n });\n this.customLeftRadio.children('input').on('click', () => {\n _this.leftParentCellNameSelect.prop(\"disabled\", false);\n _this.leftParentRowNumberSelect.prop(\"disabled\", false);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n });\n\n const topParentGroup = $(`
    `);\n this.parentGroup.append(topParentGroup);\n this.defaultTopRadio = $(``);\n topParentGroup.append(this.defaultTopRadio);\n this.customTopRadio = $(``);\n topParentGroup.append(this.customTopRadio);\n\n this.topParentCellNameSelect = $(``);\n topParentGroup.append(this.topParentCellNameSelect);\n this.topParentRowNumberSelect = $(``);\n topParentGroup.append(this.topParentRowNumberSelect);\n\n this.topParentCellNameSelect.change(function () {\n let name = $(this).val();\n if (name === 'root') {\n _this.topParentRowNumberSelect.prop('disabled', true);\n _this.topParentRowNumberSelect.val('');\n _this._setParentCell('root', false);\n } else {\n _this.topParentRowNumberSelect.prop('disabled', false);\n let num = _this.topParentRowNumberSelect.val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, false);\n }\n }\n });\n this.topParentRowNumberSelect.change(function () {\n let name = _this.topParentCellNameSelect.val();\n if (name === 'root') {\n _this._setParentCell('root', false);\n } else {\n let num = $(this).val();\n if (name !== '' && num !== '') {\n _this._setParentCell(name + num, false);\n }\n }\n });\n\n this.defaultTopRadio.children('input').on('click', () => {\n _this.topParentCellNameSelect.prop(\"disabled\", true);\n _this.topParentRowNumberSelect.prop(\"disabled\", true);\n _this._setParentCell(null, false);\n });\n this.customTopRadio.children('input').on('click', () => {\n _this.topParentCellNameSelect.prop(\"disabled\", false);\n _this.topParentRowNumberSelect.prop(\"disabled\", false);\n });\n\n this.panel.append(this.parentGroup);\n this.parentGroup.hide();\n }\n\n _setParentCell(cellName, isLeft) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n if (isLeft) {\n if (cellName) {\n cellDef.leftParentCellName = cellName;\n } else {\n cellDef.leftParentCellName = null;\n }\n } else {\n if (cellName) {\n cellDef.topParentCellName = cellName;\n } else {\n cellDef.topParentCellName = null;\n }\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n }\n\n _buildParentCellNameOptions(select) {\n select.empty();\n const hot = this.context.hot;\n const countCols = hot.countCols();\n select.append(``);\n for (let j = 0; j < countCols; j++) {\n let name = this.context.getCellName(null, j);\n select.append(``);\n }\n }\n\n _buildParentRowNumberOptions(select) {\n select.empty();\n const hot = this.context.hot;\n const countRows = hot.countRows();\n select.append(``);\n for (let j = 0; j < countRows; j++) {\n select.append(``);\n }\n }\n\n _buildRenderer() {\n this.rendererGroup = $(`
    `);\n const rendererBeanEditorGroup = $(`
    `);\n this.rendererGroup.append(rendererBeanEditorGroup);\n this.rendererBeanEditor = $(``);\n rendererBeanEditorGroup.append(this.rendererBeanEditor);\n const addon = $(``);\n const selectButton = $(``);\n addon.append(selectButton);\n rendererBeanEditorGroup.append(addon);\n const _this = this;\n selectButton.click(function () {});\n this.panel.append(this.rendererGroup);\n this.rendererBeanEditor.change(function () {\n _this._setRenderer($(this).val());\n });\n this.rendererGroup.hide();\n }\n\n _setRenderer(renderer) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.renderer = renderer;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_18__[\"setDirty\"])();\n }\n\n refresh(rowIndex, colIndex, row2Index, col2Index) {\n const cellDef = this.context.getCell(rowIndex, colIndex);\n if (!cellDef) {\n return;\n }\n this.cellDef = cellDef;\n let currentCellName = this.context.getCellName(rowIndex, colIndex);\n $('#__prop_tab_link').html(`${window.i18n.property.prop.prop}[${currentCellName}]`);\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.parentGroup.show();\n this.typeGruop.show();\n this.linkGroup.show();\n //this.rendererGroup.show();\n this.initialized = true;\n this.linkEditor.val(cellDef.linkUrl);\n this.targetSelect.val(cellDef.linkTargetWindow);\n\n this._buildParentCellNameOptions(this.leftParentCellNameSelect);\n this._buildParentRowNumberOptions(this.leftParentRowNumberSelect);\n this._buildParentCellNameOptions(this.topParentCellNameSelect);\n this._buildParentRowNumberOptions(this.topParentRowNumberSelect);\n const leftParentCellName = cellDef.leftParentCellName;\n if (leftParentCellName) {\n this.customLeftRadio.trigger('click');\n if (leftParentCellName === 'root') {\n this.leftParentCellNameSelect.val('root');\n this.leftParentRowNumberSelect.val('');\n } else {\n let data = this._parseCellName(leftParentCellName);\n this.leftParentCellNameSelect.val(data.name);\n this.leftParentRowNumberSelect.val(data.num);\n }\n this.leftParentCellNameSelect.prop('disabled', false);\n this.leftParentRowNumberSelect.prop('disabled', false);\n this.leftParentCellNameSelect.trigger('change');\n } else {\n this.defaultLeftRadio.trigger('click');\n if (colIndex === 0) {\n this.leftParentCellNameSelect.val('root');\n this.leftParentRowNumberSelect.val('');\n } else {\n let row = rowIndex,\n col = colIndex - 1;\n let td = this.context.hot.getCell(row, col);\n if ($(td).css('display') === 'none') {\n let mergeCells = this.context.hot.getSettings().mergeCells;\n for (let item of mergeCells) {\n let rowStart = item.row,\n rowspan = item.rowspan,\n colStart = item.col,\n colspan = item.colspan;\n let rowEnd = rowStart + rowspan - 1,\n colEnd = colStart + colspan - 1;\n if (row >= rowStart && row <= rowEnd && col >= colStart && col <= colEnd) {\n row = rowStart, col = colStart;\n break;\n }\n }\n }\n let cellName = this.context.getCellName(row, col);\n let data = this._parseCellName(cellName);\n this.leftParentCellNameSelect.val(data.name);\n this.leftParentRowNumberSelect.val(data.num);\n }\n this.leftParentCellNameSelect.prop('disabled', true);\n this.leftParentRowNumberSelect.prop('disabled', true);\n }\n const topParentCellName = cellDef.topParentCellName;\n if (topParentCellName) {\n this.customTopRadio.trigger('click');\n if (topParentCellName === 'root') {\n this.topParentCellNameSelect.val('root');\n this.topParentRowNumberSelect.val('');\n } else {\n let data = this._parseCellName(topParentCellName);\n this.topParentCellNameSelect.val(data.name);\n this.topParentRowNumberSelect.val(data.num);\n }\n this.topParentCellNameSelect.prop('disabled', false);\n this.topParentRowNumberSelect.prop('disabled', false);\n this.topParentCellNameSelect.trigger('change');\n } else {\n this.defaultTopRadio.trigger('click');\n if (rowIndex === 0) {\n this.topParentCellNameSelect.val('root');\n this.topParentRowNumberSelect.val('');\n } else {\n let row = rowIndex - 1,\n col = colIndex;\n let td = this.context.hot.getCell(row, col);\n if ($(td).css('display') === 'none') {\n let mergeCells = this.context.hot.getSettings().mergeCells;\n for (let item of mergeCells) {\n let rowStart = item.row,\n rowspan = item.rowspan,\n colStart = item.col,\n colspan = item.colspan;\n let rowEnd = rowStart + rowspan - 1,\n colEnd = colStart + colspan - 1;\n if (row >= rowStart && row <= rowEnd && col >= colStart && col <= colEnd) {\n row = rowStart, col = colStart;\n break;\n }\n }\n }\n\n let cellName = this.context.getCellName(row, col);\n let data = this._parseCellName(cellName);\n this.topParentCellNameSelect.val(data.name);\n this.topParentRowNumberSelect.val(data.num);\n }\n this.topParentCellNameSelect.prop('disabled', true);\n this.topParentRowNumberSelect.prop('disabled', true);\n }\n const cellStyle = cellDef.cellStyle;\n if (cellStyle.renderer) {\n this.rendererBeanEditor.val(cellStyle.renderer);\n } else {\n this.rendererBeanEditor.val(\"\");\n }\n let type = cellDef.value.type || 'simple';\n if (type === 'zxing') {\n const category = cellDef.value.category;\n this.typeSelect.val(category);\n } else {\n this.typeSelect.val(type);\n }\n for (let editor of this.editorMap.values()) {\n editor.hide();\n }\n for (let editor of this.chartEditorMap.values()) {\n editor.hide();\n }\n if (type === 'chart') {\n const chartType = cellDef.value.chart.dataset.type;\n this.chartEditorMap.get(chartType).show(cellDef, rowIndex, colIndex, row2Index, col2Index);\n } else {\n this.editorMap.get(type).show(cellDef, rowIndex, colIndex, row2Index, col2Index);\n }\n this.initialized = false;\n }\n\n _parseCellName(cellName) {\n let pos = -1;\n for (let i = 0; i < cellName.length; i++) {\n let char = cellName.charAt(i);\n let num = parseInt(char);\n if (!isNaN(num)) {\n pos = i;\n break;\n }\n }\n const name = cellName.substring(0, pos);\n const num = cellName.substring(pos, cellName.length);\n return {\n name,\n num\n };\n }\n\n _buildWidth(colIndex, colspan, hot) {\n let width = hot.getColWidth(colIndex) - 3;\n if (!colspan || colspan < 2) {\n return width;\n }\n let start = colIndex + 1,\n end = colIndex + colspan;\n for (let i = start; i < end; i++) {\n width += hot.getColWidth(i);\n }\n return width;\n }\n\n _buildHeight(rowIndex, rowspan, hot) {\n let height = hot.getRowHeight(rowIndex) - 3;\n if (!rowspan || rowspan < 2) {\n return height;\n }\n let start = rowIndex + 1,\n end = rowIndex + rowspan;\n for (let i = start; i < end; i++) {\n height += hot.getRowHeight(i);\n }\n return height;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/PropertyPanel.js?"); /***/ }), @@ -5375,7 +5375,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BaseValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _dialog_PropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dialog/PropertyConditionDialog.js */ \"./src/dialog/PropertyConditionDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-03-01.\r\n */\n\n\n\nclass BaseValueEditor {\n _buildFillBlankRows(container) {\n this.fillGroup = $(`
    `);\n this.fillGroupItx = $('
    ');\n this.fillGroup.append(this.fillGroupItx);\n this.enableFillRadio = $(``);\n this.fillGroupItx.append(this.enableFillRadio);\n this.disableFillRadio = $(``);\n this.fillGroupItx.append(this.disableFillRadio);\n if (container) {\n container.append(this.fillGroup);\n } else {\n this.container.append(this.fillGroup);\n }\n const _this = this;\n this.enableFillRadio.children('input').click(function () {\n _this._setFillBlankRows(true);\n _this.multipleGroup.show();\n });\n this.disableFillRadio.children('input').click(function () {\n _this._setFillBlankRows(false);\n _this.multipleGroup.hide();\n });\n this.multipleGroup = $(`${window.i18n.property.base.rowTimes}`);\n this.fillGroup.append(this.multipleGroup);\n this.multipleEditor = $(``);\n this.multipleGroup.append(this.multipleEditor);\n this.multipleEditor.on('change', () => {\n const value = $(this).val();\n for (let i = _this.rowIndex; i <= _this.row2Index; i++) {\n for (let j = _this.colIndex; j <= _this.col2Index; j++) {\n const cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.multiple = value;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n _setFillBlankRows(value) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.fillBlankRows = value;\n if (!cellDef.multiple) {\n cellDef.multiple = 0;\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildWrapCompute(container) {\n this.wrapGroup = $(`\n
    \n \n
    \n \n \n
    \n
    `);\n // this.enableWrapComput = $(`\n // `);\n // this.wrapGroup.append(this.enableWrapComput);\n // this.disableWrapComput = $(`\n // `);\n // this.wrapGroup.append(this.disableWrapComput);\n if (container) {\n container.append(this.wrapGroup);\n } else {\n this.container.append(this.wrapGroup);\n }\n const _this = this;\n $('#__wrap_compute_radio_default').on('click', () => {\n _this._setWrapCompute(true);\n });\n $('#__wrap_compute_radio_custom').on('click', () => {\n _this._setWrapCompute(false);\n });\n }\n\n _setWrapCompute(wrapCompute) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.cellStyle.wrapCompute = wrapCompute;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildFormat(container) {\n const _this = this;\n this.formatGroup = $(`
    `);\n this.formatEditor = $(``);\n this.formatGroup.append(this.formatEditor);\n // input未渲染到页面,进行completer计算会导致计算的位置错误\n // completer改为在focus进行计算,并确保只计算一次\n this.formatEditor.on('focus', function () {\n if (!_this.formatEditor.data('init')) {\n _this.formatEditor.data('init', true);\n _this.formatEditor.completer({\n source: [\"yyyy/MM/dd\", \"yyyy/MM\", \"yyyy-MM\", \"yyyy\", \"yyyy-MM-dd HH:mm:ss\", \"yyyy年MM月dd日 HH:mm:ss\", \"yyyy-MM-dd\", \"yyyy年MM月dd日\", \"HH:mm\", \"HH:mm:ss\", \"#.##\", \"#.00\", \"##.##%\", \"##.00%\", \"##,###.##\", \"¥##,###.##\", \"$##,###.##\", \"0.00E00\", \"##0.0E0\"],\n complete: function () {\n let value = _this.formatEditor.val();\n _this._setFormat(value);\n },\n suggest: true,\n zIndex: 1200\n });\n }\n });\n if (container) {\n container.append(this.formatGroup);\n } else {\n this.container.append(this.formatGroup);\n }\n this.formatEditor.change(function () {\n _this._setFormat($(this).val());\n });\n }\n\n _buildConditionProperty(container) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n const group = $(`
    `);\n if (container) {\n container.append(group);\n } else {\n this.container.append(group);\n }\n const configButton = $(``);\n group.append(configButton);\n const propertyConditionDialog = new _dialog_PropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n configButton.on('click', () => {\n const conditionPropertyItems = _this.cellDef.conditionPropertyItems || [];\n if (!_this.cellDef.conditionPropertyItems) {\n _this.cellDef.conditionPropertyItems = conditionPropertyItems;\n }\n let datasetName = '';\n if (_this.datasetSelect) {\n datasetName = _this.datasetSelect.val();\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n } else {\n const expr = _this.codeMirror.getValue();\n if (expr && expr !== '') {\n const url = window._server + '/designer/parseDatasetName';\n $.ajax({\n url,\n type: 'POST',\n data: {\n expr\n },\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n datasetName = result.datasetName;\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n },\n error: function () {\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n }\n });\n }\n }\n });\n }\n\n _setFormat(format) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.cellStyle.format = format;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildScriptLintFunction() {\n return function (text, updateLinting, options, editor) {\n if (text === '') {\n updateLinting(editor, []);\n return;\n }\n if (!text || text === '') {\n return;\n }\n const url = window._server + '/designer/scriptValidation';\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n if (result) {\n for (let item of result) {\n item.from = {\n line: item.line - 1\n };\n item.to = {\n line: item.line - 1\n };\n }\n updateLinting(editor, result);\n } else {\n updateLinting(editor, []);\n }\n },\n error: function () {\n alert(`${window.i18n.property.base.syntaxError}`);\n }\n });\n };\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/BaseValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BaseValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _dialog_PropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dialog/PropertyConditionDialog.js */ \"./src/dialog/PropertyConditionDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-03-01.\n */\n\n\n\nclass BaseValueEditor {\n _buildFillBlankRows(container) {\n this.fillGroup = $(`
    `);\n this.fillGroupItx = $('
    ');\n this.fillGroup.append(this.fillGroupItx);\n this.enableFillRadio = $(``);\n this.fillGroupItx.append(this.enableFillRadio);\n this.disableFillRadio = $(``);\n this.fillGroupItx.append(this.disableFillRadio);\n if (container) {\n container.append(this.fillGroup);\n } else {\n this.container.append(this.fillGroup);\n }\n const _this = this;\n this.enableFillRadio.children('input').click(function () {\n _this._setFillBlankRows(true);\n _this.multipleGroup.show();\n });\n this.disableFillRadio.children('input').click(function () {\n _this._setFillBlankRows(false);\n _this.multipleGroup.hide();\n });\n this.multipleGroup = $(`${window.i18n.property.base.rowTimes}`);\n this.fillGroup.append(this.multipleGroup);\n this.multipleEditor = $(``);\n this.multipleGroup.append(this.multipleEditor);\n this.multipleEditor.on('change', () => {\n const value = $(this).val();\n for (let i = _this.rowIndex; i <= _this.row2Index; i++) {\n for (let j = _this.colIndex; j <= _this.col2Index; j++) {\n const cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.multiple = value;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n _setFillBlankRows(value) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.fillBlankRows = value;\n if (!cellDef.multiple) {\n cellDef.multiple = 0;\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildWrapCompute(container) {\n this.wrapGroup = $(`\n
    \n \n
    \n \n \n
    \n
    `);\n // this.enableWrapComput = $(`\n // `);\n // this.wrapGroup.append(this.enableWrapComput);\n // this.disableWrapComput = $(`\n // `);\n // this.wrapGroup.append(this.disableWrapComput);\n if (container) {\n container.append(this.wrapGroup);\n } else {\n this.container.append(this.wrapGroup);\n }\n const _this = this;\n $('#__wrap_compute_radio_default').on('click', () => {\n _this._setWrapCompute(true);\n });\n $('#__wrap_compute_radio_custom').on('click', () => {\n _this._setWrapCompute(false);\n });\n }\n\n _setWrapCompute(wrapCompute) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.cellStyle.wrapCompute = wrapCompute;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildFormat(container) {\n const _this = this;\n this.formatGroup = $(`
    `);\n this.formatEditor = $(``);\n this.formatGroup.append(this.formatEditor);\n // input未渲染到页面,进行completer计算会导致计算的位置错误\n // completer改为在focus进行计算,并确保只计算一次\n this.formatEditor.on('focus', function () {\n if (!_this.formatEditor.data('init')) {\n _this.formatEditor.data('init', true);\n _this.formatEditor.completer({\n source: [\"yyyy/MM/dd\", \"yyyy/MM\", \"yyyy-MM\", \"yyyy\", \"yyyy-MM-dd HH:mm:ss\", \"yyyy年MM月dd日 HH:mm:ss\", \"yyyy-MM-dd\", \"yyyy年MM月dd日\", \"HH:mm\", \"HH:mm:ss\", \"#.##\", \"#.00\", \"##.##%\", \"##.00%\", \"##,###.##\", \"¥##,###.##\", \"$##,###.##\", \"0.00E00\", \"##0.0E0\"],\n complete: function () {\n let value = _this.formatEditor.val();\n _this._setFormat(value);\n },\n suggest: true,\n zIndex: 1200\n });\n }\n });\n if (container) {\n container.append(this.formatGroup);\n } else {\n this.container.append(this.formatGroup);\n }\n this.formatEditor.change(function () {\n _this._setFormat($(this).val());\n });\n }\n\n _buildConditionProperty(container) {\n const _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n const group = $(`
    `);\n if (container) {\n container.append(group);\n } else {\n this.container.append(group);\n }\n const configButton = $(``);\n group.append(configButton);\n const propertyConditionDialog = new _dialog_PropertyConditionDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n configButton.on('click', () => {\n const conditionPropertyItems = _this.cellDef.conditionPropertyItems || [];\n if (!_this.cellDef.conditionPropertyItems) {\n _this.cellDef.conditionPropertyItems = conditionPropertyItems;\n }\n let datasetName = '';\n if (_this.datasetSelect) {\n datasetName = _this.datasetSelect.val();\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n } else {\n const expr = _this.codeMirror.getValue();\n if (expr && expr !== '') {\n const url = window._server + '/designer/parseDatasetName';\n $.ajax({\n url,\n type: 'POST',\n data: {\n expr\n },\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n datasetName = result.datasetName;\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n },\n error: function () {\n propertyConditionDialog.show(_this.datasources, datasetName, conditionPropertyItems);\n }\n });\n }\n }\n });\n }\n\n _setFormat(format) {\n if (this.initialized) {\n return;\n }\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n cellDef.cellStyle.format = format;\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n\n _buildScriptLintFunction() {\n return function (text, updateLinting, options, editor) {\n if (text === '') {\n updateLinting(editor, []);\n return;\n }\n if (!text || text === '') {\n return;\n }\n const url = window._server + '/designer/scriptValidation';\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"])('token');\n $.ajax({\n url,\n data: {\n content: text\n },\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: function (result) {\n if (result) {\n for (let item of result) {\n item.from = {\n line: item.line - 1\n };\n item.to = {\n line: item.line - 1\n };\n }\n updateLinting(editor, result);\n } else {\n updateLinting(editor, []);\n }\n },\n error: function () {\n alert(`${window.i18n.property.base.syntaxError}`);\n }\n });\n };\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/BaseValueEditor.js?"); /***/ }), @@ -5387,7 +5387,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasetValueEditor; });\n/* harmony import */ var _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dialog/ConditionDialog.js */ \"./src/dialog/ConditionDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/* harmony import */ var _dialog_CustomGroupDialog_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../dialog/CustomGroupDialog.js */ \"./src/dialog/CustomGroupDialog.js\");\n/* harmony import */ var _dialog_MappingDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../dialog/MappingDialog.js */ \"./src/dialog/MappingDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\n\n\nclass DatasetValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.mappingDialog = new _dialog_MappingDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n this._init();\n this.container.hide();\n }\n\n _init() {\n const _this = this;\n\n const tab = $(``);\n this.container.append(tab);\n const tabContainer = $(`
    `);\n this.container.append(tabContainer);\n\n const dsContainer = $(`
    `);\n tabContainer.append(dsContainer);\n const conditionContainer = $(`
    `);\n tabContainer.append(conditionContainer);\n this._buildConditionTable(conditionContainer);\n const mappingContainer = $(`
    `);\n tabContainer.append(mappingContainer);\n this._buildMappingTable(mappingContainer);\n\n const datasetGroup = $(`
    `);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n dsContainer.append(datasetGroup);\n\n const propertyGroup = $(`
    `);\n this.propertySelect = $(``);\n propertyGroup.append(this.propertySelect);\n dsContainer.append(propertyGroup);\n\n this.datasetSelect.change(function () {\n _this.propertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.propertySelect.append(``);\n }\n _this.propertySelect.append(``);\n _this._setDatasetName(dsName);\n });\n\n this.propertySelect.change(function () {\n const value = $(this).val();\n _this._setProperty(value);\n });\n\n const aggregateGroup = $(`
    `);\n this.aggregateSelect = $(``);\n aggregateGroup.append(this.aggregateSelect);\n const customGroupButton = $(``);\n this.aggregateSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.aggregate = value;\n if (value === 'customgroup') {\n customGroupButton.show();\n } else {\n customGroupButton.hide();\n }\n if (value === 'group' || value === 'select') {\n _this.mappingGroup.show();\n } else {\n _this.mappingGroup.hide();\n }\n if (value === 'sum' || value === 'count' || value === 'max' || value === 'min' || value === 'avg') {\n sortGroup.hide();\n expandGroup.hide();\n } else {\n expandGroup.show();\n sortGroup.show();\n }\n _this._setAggregate(value);\n });\n const customGroupDialog = new _dialog_CustomGroupDialog_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n customGroupButton.on('click', () => {\n if (!_this.cellDef.value.groupItems) {\n _this.cellDef.value.groupItems = [];\n }\n let fields = _this._buildFields();\n customGroupDialog.show(_this.cellDef, fields);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n aggregateGroup.append(customGroupButton);\n dsContainer.append(aggregateGroup);\n\n const sortGroup = $(`
    `);\n this.sortGroupItx = $(`
    `);\n sortGroup.append(this.sortGroupItx);\n\n this.noneSortRadio = $(``);\n this.sortGroupItx.append(this.noneSortRadio);\n this.noneSortRadio.children('input').on('click', () => {\n _this._setOrder('none');\n });\n this.ascSortRadio = $(``);\n this.sortGroupItx.append(this.ascSortRadio);\n this.ascSortRadio.children('input').on('click', () => {\n _this._setOrder('asc');\n });\n this.descSortRadio = $(``);\n this.sortGroupItx.append(this.descSortRadio);\n this.descSortRadio.children('input').on('click', () => {\n _this._setOrder('desc');\n });\n dsContainer.append(sortGroup);\n\n const expandGroup = $(`
    `);\n this.expandItx = $(`
    `);\n expandGroup.append(this.expandItx);\n this.downExpandRadio = $(``);\n this.expandItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').on('click', () => {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').on('click', () => {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').on('click', () => {\n _this._setExpand('None');\n });\n dsContainer.append(expandGroup);\n dsContainer.append(this.buildLineHeight());\n\n this._buildWrapCompute(dsContainer);\n this._buildFormat(dsContainer);\n this._buildFillBlankRows(dsContainer);\n this._buildConditionProperty(dsContainer);\n }\n\n buildLineHeight() {\n const _this = this;\n const group = $(`
    `);\n this.lineHeightEditor = $(``);\n group.append(this.lineHeightEditor);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.lineHeightEditor.change(function () {\n this.lineHeightEditor.on('input', function () {\n const value = $(this).val();\n _this.cellDef.cellStyle.lineHeight = value;\n let td = _this.context.hot.getCell(_this.rowIndex, _this.colIndex);\n if (value === '') {\n $(td).css(\"line-height\", '');\n } else {\n $(td).css(\"line-height\", value);\n }\n _this.context.hot.render();\n });\n return group;\n }\n\n _setDatasetName(datasetName) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.datasetName = datasetName;\n }\n }\n }\n this._updateTableData();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setProperty(property) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.property = property;\n }\n }\n }\n this._updateTableData();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setAggregate(aggregate) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n let none = false;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.aggregate = aggregate;\n if (aggregate === 'sum' || aggregate === 'count' || aggregate === 'max' || aggregate === 'min' || aggregate === 'avg') {\n cellDef.value.order = 'none';\n cellDef.expand = 'None';\n none = true;\n }\n }\n }\n }\n if (none) {\n this.noneSortRadio.children('input').trigger('click');\n this.noneExpandRadio.children('input').trigger('click');\n }\n this._updateTableData();\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setOrder(order) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.order = order;\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setExpand(expand) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset' || valueType === 'expression') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _buildConditionTable(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(``);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', () => {\n let fields = _this._buildFields();\n if (!fields) {\n return;\n }\n const conditions = _this.cellDef.value.conditions;\n const conditionDialog = new _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](conditions);\n conditionDialog.show(function (left, op, right, join) {\n const c = {\n left,\n operation: op,\n right,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_2___default.a.v1()\n };\n conditions.push(c);\n let text = left + \" \" + op + \" \" + right;\n if (join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(c);\n _this.conditionList.append(option);\n }, fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.selectFilterConditionTip}`);\n return;\n }\n const condition = option.data();\n let fields = _this._buildFields();\n if (!fields) {\n return;\n }\n const conditions = _this.cellDef.value.conditions;\n const conditionDialog = new _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](conditions);\n conditionDialog.show(function (left, op, right, join) {\n let targetCondition = null;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n targetCondition = c;\n break;\n }\n }\n targetCondition.left = left;\n targetCondition.operation = op;\n targetCondition.right = right;\n targetCondition.join = join;\n let text = left + \" \" + op + \" \" + right;\n if (join) {\n text = join + \" \" + text;\n }\n option.data(targetCondition);\n option.html(text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }, fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.delFilterConditionTip}`);\n return;\n }\n const condition = option.data();\n const conditions = _this.cellDef.value.conditions;\n let index = -1;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n index = i;\n break;\n }\n }\n conditions.splice(index, 1);\n option.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n _buildMappingTable(container) {\n this.mappingGroup = $(`
    `);\n const _this = this;\n\n const typeGroup = $(`
    `);\n this.typeGroupItx = $(`
    `);\n this.mappingGroup.append(typeGroup);\n typeGroup.append(this.typeGroupItx);\n this.simpleMappingRadio = $(``);\n this.typeGroupItx.append(this.simpleMappingRadio);\n this.simpleMappingRadio.children('input').on('click', () => {\n _this.sampleMappingGroup.show();\n _this.datasetMappingGroup.hide();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingType = 'simple';\n });\n this.datasetMappingRadio = $(``);\n this.typeGroupItx.append(this.datasetMappingRadio);\n this.datasetMappingRadio.children('input').on('click', () => {\n _this.sampleMappingGroup.hide();\n _this.datasetMappingGroup.show();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingType = 'dataset';\n });\n\n this.sampleMappingGroup = $(`
    `);\n this.mappingGroup.append(this.sampleMappingGroup);\n const addButton = $(``);\n this.sampleMappingGroup.append(addButton);\n addButton.on('click', () => {\n const newItem = {\n value: '',\n label: ''\n };\n _this.mappingDialog.show(function () {\n const datasetValue = _this.cellDef.value;\n if (!datasetValue.mappingItems) {\n datasetValue.mappingItems = [];\n }\n datasetValue.mappingItems.push(newItem);\n const tr = $(``);\n const valueTd = $(`${newItem.value}`);\n const labelTd = $(`${newItem.label}`);\n tr.append(valueTd);\n tr.append(labelTd);\n _this.mappingTbody.append(tr);\n const td = $(``);\n tr.append(td);\n const delLink = $(`删除`);\n td.append(delLink);\n delLink.click(function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.property.dataset.delConfirm}`, function () {\n const index = datasetValue.mappingItems.indexOf(newItem);\n datasetValue.mappingItems.splice(index, 1);\n tr.remove();\n });\n });\n\n const editLink = $(`编辑`);\n td.append(editLink);\n editLink.on('click', () => {\n _this.mappingDialog.show(function () {\n valueTd.html(newItem.value);\n labelTd.html(newItem.label);\n }, newItem, 'edit');\n });\n }, newItem, 'add');\n });\n const mappingTable = $(`\n \n \n \n \n \n \n \n \n
    ${window.i18n.property.dataset.realValue}${window.i18n.property.dataset.displayValue}${window.i18n.property.dataset.op}
    `);\n this.mappingTbody = $(``);\n mappingTable.append(this.mappingTbody);\n this.sampleMappingGroup.append(mappingTable);\n\n this.datasetMappingGroup = $(`
    `);\n this.mappingGroup.append(this.datasetMappingGroup);\n\n const datasetGroup = $(`
    `);\n this.mappingDatasetSelect = $(``);\n datasetGroup.append(this.mappingDatasetSelect);\n this.datasetMappingGroup.append(datasetGroup);\n\n const keyPropertyGroup = $(`
    `);\n this.mappingKeyPropertySelect = $(``);\n keyPropertyGroup.append(this.mappingKeyPropertySelect);\n this.datasetMappingGroup.append(keyPropertyGroup);\n\n const valuePropertyGroup = $(`
    `);\n this.mappingValuePropertySelect = $(``);\n valuePropertyGroup.append(this.mappingValuePropertySelect);\n this.datasetMappingGroup.append(valuePropertyGroup);\n\n this.mappingDatasetSelect.change(function () {\n _this.mappingKeyPropertySelect.empty();\n _this.mappingValuePropertySelect.empty();\n const dsName = $(this).val();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingDataset = dsName;\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.mappingKeyPropertySelect.append(``);\n _this.mappingValuePropertySelect.append(``);\n }\n _this.mappingKeyPropertySelect.append(``);\n _this.mappingValuePropertySelect.append(``);\n });\n\n this.mappingKeyPropertySelect.change(function () {\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingKeyProperty = $(this).val();\n });\n this.mappingValuePropertySelect.change(function () {\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingValueProperty = $(this).val();\n });\n\n container.append(this.mappingGroup);\n }\n\n _buildFields() {\n const _this = this;\n let fields = [],\n datasetName = _this.datasetSelect.val();\n if (datasetName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.bindDatasetTip}`);\n return null;\n }\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === datasetName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n return fields;\n }\n\n _updateTableData() {\n const hot = this.context.hot,\n cellList = this.context.cellList;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const value = cellDef.value,\n valueType = cellDef.value.type;\n let data = '';\n if (valueType === 'simple') {\n data = value.value;\n } else if (valueType === 'dataset') {\n data = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n } else if (valueType === 'expression') {\n data = value.value;\n }\n hot.setDataAtCell(cellDef.rowNumber - 1, cellDef.columnNumber - 1, data);\n }\n }\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n let cellStyle = cellDef.cellStyle;\n if (cellStyle.wrapCompute) {\n $('#__wrap_compute_radio_default').prop('checked', true);\n // this.enableWrapComput.children('input').prop('checked', true);\n } else {\n $('#__wrap_compute_radio_custom').prop('checked', true);\n // this.disableWrapComput.children('input').prop('checked', true);\n }\n if (cellStyle.lineHeight) {\n this.lineHeightEditor.val(cellStyle.lineHeight);\n } else {\n this.lineHeightEditor.val('');\n }\n if (cellStyle.format) {\n this.formatEditor.val(cellStyle.format);\n } else {\n this.formatEditor.val('');\n }\n this.initialized = true;\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.datasetSelect.empty();\n this.mappingDatasetSelect.empty();\n this.propertySelect.empty();\n this.mappingKeyPropertySelect.empty();\n this.mappingValuePropertySelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n this.mappingDatasetSelect.append(``);\n }\n }\n if (cellDef.fillBlankRows) {\n this.enableFillRadio.trigger(\"click\");\n this.multipleEditor.val(cellDef.multiple);\n this.multipleGroup.show();\n } else {\n this.disableFillRadio.trigger(\"click\");\n this.multipleGroup.hide();\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n const value = cellDef.value;\n this.datasetSelect.val(value.datasetName);\n this.datasetSelect.trigger('change');\n this.propertySelect.val(value.property);\n this.aggregateSelect.val(value.aggregate);\n this.aggregateSelect.trigger('change');\n this.mappingDatasetSelect.val(value.mappingDataset);\n this.mappingDatasetSelect.trigger('change');\n this.mappingKeyPropertySelect.val(value.mappingKeyProperty);\n this.mappingValuePropertySelect.val(value.mappingValueProperty);\n if (!value.mappingType || value.mappingType === 'simple') {\n this.simpleMappingRadio.trigger('click');\n } else {\n this.datasetMappingRadio.trigger('click');\n }\n const order = value.order;\n if (order === 'none') {\n this.noneSortRadio.trigger('click');\n } else if (order === 'desc') {\n this.descSortRadio.trigger('click');\n } else if (order === 'asc') {\n this.ascSortRadio.trigger('click');\n }\n this.initialized = false;\n this.conditionList.empty();\n const conditions = this.cellDef.value.conditions;\n for (let condition of conditions) {\n if (!condition.id) {\n condition.id = node_uuid__WEBPACK_IMPORTED_MODULE_2___default.a.v1();\n }\n const op = condition.operation;\n let text = condition.left + ' ' + op + \" \" + condition.right;\n if (condition.join) {\n text = condition.join + ' ' + text;\n }\n const option = $(``);\n option.data(condition);\n this.conditionList.append(option);\n }\n this.mappingTbody.empty();\n const datasetValue = this.cellDef.value;\n const mappingItems = datasetValue.mappingItems || [];\n const _this = this;\n for (let item of mappingItems) {\n const tr = $(``);\n const valueTd = $(`${item.value}`);\n const labelTd = $(`${item.label}`);\n tr.append(valueTd);\n tr.append(labelTd);\n this.mappingTbody.append(tr);\n const td = $(``);\n tr.append(td);\n const delLink = $(``);\n td.append(delLink);\n delLink.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.property.dataset.delConfirm}`, function () {\n const index = datasetValue.mappingItems.indexOf(item);\n datasetValue.mappingItems.splice(index, 1);\n tr.remove();\n });\n });\n\n const editLink = $(``);\n td.append(editLink);\n editLink.on('click', () => {\n _this.mappingDialog.show(function () {\n valueTd.html(item.value);\n labelTd.html(item.label);\n }, item, 'edit');\n });\n }\n if (!value.mappingType || value.mappingType === 'simple') {\n this.sampleMappingGroup.show();\n this.datasetMappingGroup.hide();\n } else {\n this.sampleMappingGroup.hide();\n this.datasetMappingGroup.show();\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/DatasetValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatasetValueEditor; });\n/* harmony import */ var _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dialog/ConditionDialog.js */ \"./src/dialog/ConditionDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/* harmony import */ var _dialog_CustomGroupDialog_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../dialog/CustomGroupDialog.js */ \"./src/dialog/CustomGroupDialog.js\");\n/* harmony import */ var _dialog_MappingDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../dialog/MappingDialog.js */ \"./src/dialog/MappingDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\n\n\nclass DatasetValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.mappingDialog = new _dialog_MappingDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n this._init();\n this.container.hide();\n }\n\n _init() {\n const _this = this;\n\n const tab = $(``);\n this.container.append(tab);\n const tabContainer = $(`
    `);\n this.container.append(tabContainer);\n\n const dsContainer = $(`
    `);\n tabContainer.append(dsContainer);\n const conditionContainer = $(`
    `);\n tabContainer.append(conditionContainer);\n this._buildConditionTable(conditionContainer);\n const mappingContainer = $(`
    `);\n tabContainer.append(mappingContainer);\n this._buildMappingTable(mappingContainer);\n\n const datasetGroup = $(`
    `);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n dsContainer.append(datasetGroup);\n\n const propertyGroup = $(`
    `);\n this.propertySelect = $(``);\n propertyGroup.append(this.propertySelect);\n dsContainer.append(propertyGroup);\n\n this.datasetSelect.change(function () {\n _this.propertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.propertySelect.append(``);\n }\n _this.propertySelect.append(``);\n _this._setDatasetName(dsName);\n });\n\n this.propertySelect.change(function () {\n const value = $(this).val();\n _this._setProperty(value);\n });\n\n const aggregateGroup = $(`
    `);\n this.aggregateSelect = $(``);\n aggregateGroup.append(this.aggregateSelect);\n const customGroupButton = $(``);\n this.aggregateSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.aggregate = value;\n if (value === 'customgroup') {\n customGroupButton.show();\n } else {\n customGroupButton.hide();\n }\n if (value === 'group' || value === 'select') {\n _this.mappingGroup.show();\n } else {\n _this.mappingGroup.hide();\n }\n if (value === 'sum' || value === 'count' || value === 'max' || value === 'min' || value === 'avg') {\n sortGroup.hide();\n expandGroup.hide();\n } else {\n expandGroup.show();\n sortGroup.show();\n }\n _this._setAggregate(value);\n });\n const customGroupDialog = new _dialog_CustomGroupDialog_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n customGroupButton.on('click', () => {\n if (!_this.cellDef.value.groupItems) {\n _this.cellDef.value.groupItems = [];\n }\n let fields = _this._buildFields();\n customGroupDialog.show(_this.cellDef, fields);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n aggregateGroup.append(customGroupButton);\n dsContainer.append(aggregateGroup);\n\n const sortGroup = $(`
    `);\n this.sortGroupItx = $(`
    `);\n sortGroup.append(this.sortGroupItx);\n\n this.noneSortRadio = $(``);\n this.sortGroupItx.append(this.noneSortRadio);\n this.noneSortRadio.children('input').on('click', () => {\n _this._setOrder('none');\n });\n this.ascSortRadio = $(``);\n this.sortGroupItx.append(this.ascSortRadio);\n this.ascSortRadio.children('input').on('click', () => {\n _this._setOrder('asc');\n });\n this.descSortRadio = $(``);\n this.sortGroupItx.append(this.descSortRadio);\n this.descSortRadio.children('input').on('click', () => {\n _this._setOrder('desc');\n });\n dsContainer.append(sortGroup);\n\n const expandGroup = $(`
    `);\n this.expandItx = $(`
    `);\n expandGroup.append(this.expandItx);\n this.downExpandRadio = $(``);\n this.expandItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').on('click', () => {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').on('click', () => {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').on('click', () => {\n _this._setExpand('None');\n });\n dsContainer.append(expandGroup);\n dsContainer.append(this.buildLineHeight());\n\n this._buildWrapCompute(dsContainer);\n this._buildFormat(dsContainer);\n this._buildFillBlankRows(dsContainer);\n this._buildConditionProperty(dsContainer);\n }\n\n buildLineHeight() {\n const _this = this;\n const group = $(`
    `);\n this.lineHeightEditor = $(``);\n group.append(this.lineHeightEditor);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.lineHeightEditor.change(function () {\n this.lineHeightEditor.on('input', function () {\n const value = $(this).val();\n _this.cellDef.cellStyle.lineHeight = value;\n let td = _this.context.hot.getCell(_this.rowIndex, _this.colIndex);\n if (value === '') {\n $(td).css(\"line-height\", '');\n } else {\n $(td).css(\"line-height\", value);\n }\n _this.context.hot.render();\n });\n return group;\n }\n\n _setDatasetName(datasetName) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.datasetName = datasetName;\n }\n }\n }\n this._updateTableData();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setProperty(property) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.property = property;\n }\n }\n }\n this._updateTableData();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setAggregate(aggregate) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n let none = false;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.aggregate = aggregate;\n if (aggregate === 'sum' || aggregate === 'count' || aggregate === 'max' || aggregate === 'min' || aggregate === 'avg') {\n cellDef.value.order = 'none';\n cellDef.expand = 'None';\n none = true;\n }\n }\n }\n }\n if (none) {\n this.noneSortRadio.children('input').trigger('click');\n this.noneExpandRadio.children('input').trigger('click');\n }\n this._updateTableData();\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setOrder(order) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset') {\n cellDef.value.order = order;\n }\n }\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _setExpand(expand) {\n if (this.initialized) {\n return;\n }\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const valueType = cellDef.value.type;\n if (valueType === 'dataset' || valueType === 'expression') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n _buildConditionTable(container) {\n const _this = this;\n const group = $(`
    `);\n const conditionGroup = $(``);\n group.append(conditionGroup);\n const addButton = $(``);\n conditionGroup.append(addButton);\n this.conditionList = $(``);\n addButton.on('click', () => {\n let fields = _this._buildFields();\n if (!fields) {\n return;\n }\n const conditions = _this.cellDef.value.conditions;\n const conditionDialog = new _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](conditions);\n conditionDialog.show(function (left, op, right, join) {\n const c = {\n left,\n operation: op,\n right,\n join,\n id: node_uuid__WEBPACK_IMPORTED_MODULE_2___default.a.v1()\n };\n conditions.push(c);\n let text = left + \" \" + op + \" \" + right;\n if (join) {\n text = join + \" \" + text;\n }\n const option = $(``);\n option.data(c);\n _this.conditionList.append(option);\n }, fields);\n });\n const editButton = $(``);\n conditionGroup.append(editButton);\n editButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.selectFilterConditionTip}`);\n return;\n }\n const condition = option.data();\n let fields = _this._buildFields();\n if (!fields) {\n return;\n }\n const conditions = _this.cellDef.value.conditions;\n const conditionDialog = new _dialog_ConditionDialog_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](conditions);\n conditionDialog.show(function (left, op, right, join) {\n let targetCondition = null;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n targetCondition = c;\n break;\n }\n }\n targetCondition.left = left;\n targetCondition.operation = op;\n targetCondition.right = right;\n targetCondition.join = join;\n let text = left + \" \" + op + \" \" + right;\n if (join) {\n text = join + \" \" + text;\n }\n option.data(targetCondition);\n option.html(text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }, fields, condition);\n });\n\n const delButton = $(``);\n conditionGroup.append(delButton);\n delButton.on('click', () => {\n const option = _this.conditionList.find('option:selected');\n if (option.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.delFilterConditionTip}`);\n return;\n }\n const condition = option.data();\n const conditions = _this.cellDef.value.conditions;\n let index = -1;\n for (let i = 0; i < conditions.length; i++) {\n let c = conditions[i];\n if (c.id === condition.id) {\n index = i;\n break;\n }\n }\n conditions.splice(index, 1);\n option.remove();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n group.append(this.conditionList);\n container.append(group);\n }\n\n _buildMappingTable(container) {\n this.mappingGroup = $(`
    `);\n const _this = this;\n\n const typeGroup = $(`
    `);\n this.typeGroupItx = $(`
    `);\n this.mappingGroup.append(typeGroup);\n typeGroup.append(this.typeGroupItx);\n this.simpleMappingRadio = $(``);\n this.typeGroupItx.append(this.simpleMappingRadio);\n this.simpleMappingRadio.children('input').on('click', () => {\n _this.sampleMappingGroup.show();\n _this.datasetMappingGroup.hide();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingType = 'simple';\n });\n this.datasetMappingRadio = $(``);\n this.typeGroupItx.append(this.datasetMappingRadio);\n this.datasetMappingRadio.children('input').on('click', () => {\n _this.sampleMappingGroup.hide();\n _this.datasetMappingGroup.show();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingType = 'dataset';\n });\n\n this.sampleMappingGroup = $(`
    `);\n this.mappingGroup.append(this.sampleMappingGroup);\n const addButton = $(``);\n this.sampleMappingGroup.append(addButton);\n addButton.on('click', () => {\n const newItem = {\n value: '',\n label: ''\n };\n _this.mappingDialog.show(function () {\n const datasetValue = _this.cellDef.value;\n if (!datasetValue.mappingItems) {\n datasetValue.mappingItems = [];\n }\n datasetValue.mappingItems.push(newItem);\n const tr = $(``);\n const valueTd = $(`${newItem.value}`);\n const labelTd = $(`${newItem.label}`);\n tr.append(valueTd);\n tr.append(labelTd);\n _this.mappingTbody.append(tr);\n const td = $(``);\n tr.append(td);\n const delLink = $(`删除`);\n td.append(delLink);\n delLink.click(function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.property.dataset.delConfirm}`, function () {\n const index = datasetValue.mappingItems.indexOf(newItem);\n datasetValue.mappingItems.splice(index, 1);\n tr.remove();\n });\n });\n\n const editLink = $(`编辑`);\n td.append(editLink);\n editLink.on('click', () => {\n _this.mappingDialog.show(function () {\n valueTd.html(newItem.value);\n labelTd.html(newItem.label);\n }, newItem, 'edit');\n });\n }, newItem, 'add');\n });\n const mappingTable = $(`\n \n \n \n \n \n \n \n \n
    ${window.i18n.property.dataset.realValue}${window.i18n.property.dataset.displayValue}${window.i18n.property.dataset.op}
    `);\n this.mappingTbody = $(``);\n mappingTable.append(this.mappingTbody);\n this.sampleMappingGroup.append(mappingTable);\n\n this.datasetMappingGroup = $(`
    `);\n this.mappingGroup.append(this.datasetMappingGroup);\n\n const datasetGroup = $(`
    `);\n this.mappingDatasetSelect = $(``);\n datasetGroup.append(this.mappingDatasetSelect);\n this.datasetMappingGroup.append(datasetGroup);\n\n const keyPropertyGroup = $(`
    `);\n this.mappingKeyPropertySelect = $(``);\n keyPropertyGroup.append(this.mappingKeyPropertySelect);\n this.datasetMappingGroup.append(keyPropertyGroup);\n\n const valuePropertyGroup = $(`
    `);\n this.mappingValuePropertySelect = $(``);\n valuePropertyGroup.append(this.mappingValuePropertySelect);\n this.datasetMappingGroup.append(valuePropertyGroup);\n\n this.mappingDatasetSelect.change(function () {\n _this.mappingKeyPropertySelect.empty();\n _this.mappingValuePropertySelect.empty();\n const dsName = $(this).val();\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingDataset = dsName;\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.mappingKeyPropertySelect.append(``);\n _this.mappingValuePropertySelect.append(``);\n }\n _this.mappingKeyPropertySelect.append(``);\n _this.mappingValuePropertySelect.append(``);\n });\n\n this.mappingKeyPropertySelect.change(function () {\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingKeyProperty = $(this).val();\n });\n this.mappingValuePropertySelect.change(function () {\n const datasetValue = _this.cellDef.value;\n datasetValue.mappingValueProperty = $(this).val();\n });\n\n container.append(this.mappingGroup);\n }\n\n _buildFields() {\n const _this = this;\n let fields = [],\n datasetName = _this.datasetSelect.val();\n if (datasetName === '') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.property.dataset.bindDatasetTip}`);\n return null;\n }\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === datasetName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n return fields;\n }\n\n _updateTableData() {\n const hot = this.context.hot,\n cellList = this.context.cellList;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const value = cellDef.value,\n valueType = cellDef.value.type;\n let data = '';\n if (valueType === 'simple') {\n data = value.value;\n } else if (valueType === 'dataset') {\n data = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n } else if (valueType === 'expression') {\n data = value.value;\n }\n hot.setDataAtCell(cellDef.rowNumber - 1, cellDef.columnNumber - 1, data);\n }\n }\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n let cellStyle = cellDef.cellStyle;\n if (cellStyle.wrapCompute) {\n $('#__wrap_compute_radio_default').prop('checked', true);\n // this.enableWrapComput.children('input').prop('checked', true);\n } else {\n $('#__wrap_compute_radio_custom').prop('checked', true);\n // this.disableWrapComput.children('input').prop('checked', true);\n }\n if (cellStyle.lineHeight) {\n this.lineHeightEditor.val(cellStyle.lineHeight);\n } else {\n this.lineHeightEditor.val('');\n }\n if (cellStyle.format) {\n this.formatEditor.val(cellStyle.format);\n } else {\n this.formatEditor.val('');\n }\n this.initialized = true;\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.datasetSelect.empty();\n this.mappingDatasetSelect.empty();\n this.propertySelect.empty();\n this.mappingKeyPropertySelect.empty();\n this.mappingValuePropertySelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n this.mappingDatasetSelect.append(``);\n }\n }\n if (cellDef.fillBlankRows) {\n this.enableFillRadio.trigger(\"click\");\n this.multipleEditor.val(cellDef.multiple);\n this.multipleGroup.show();\n } else {\n this.disableFillRadio.trigger(\"click\");\n this.multipleGroup.hide();\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n const value = cellDef.value;\n this.datasetSelect.val(value.datasetName);\n this.datasetSelect.trigger('change');\n this.propertySelect.val(value.property);\n this.aggregateSelect.val(value.aggregate);\n this.aggregateSelect.trigger('change');\n this.mappingDatasetSelect.val(value.mappingDataset);\n this.mappingDatasetSelect.trigger('change');\n this.mappingKeyPropertySelect.val(value.mappingKeyProperty);\n this.mappingValuePropertySelect.val(value.mappingValueProperty);\n if (!value.mappingType || value.mappingType === 'simple') {\n this.simpleMappingRadio.trigger('click');\n } else {\n this.datasetMappingRadio.trigger('click');\n }\n const order = value.order;\n if (order === 'none') {\n this.noneSortRadio.trigger('click');\n } else if (order === 'desc') {\n this.descSortRadio.trigger('click');\n } else if (order === 'asc') {\n this.ascSortRadio.trigger('click');\n }\n this.initialized = false;\n this.conditionList.empty();\n const conditions = this.cellDef.value.conditions;\n for (let condition of conditions) {\n if (!condition.id) {\n condition.id = node_uuid__WEBPACK_IMPORTED_MODULE_2___default.a.v1();\n }\n const op = condition.operation;\n let text = condition.left + ' ' + op + \" \" + condition.right;\n if (condition.join) {\n text = condition.join + ' ' + text;\n }\n const option = $(``);\n option.data(condition);\n this.conditionList.append(option);\n }\n this.mappingTbody.empty();\n const datasetValue = this.cellDef.value;\n const mappingItems = datasetValue.mappingItems || [];\n const _this = this;\n for (let item of mappingItems) {\n const tr = $(``);\n const valueTd = $(`${item.value}`);\n const labelTd = $(`${item.label}`);\n tr.append(valueTd);\n tr.append(labelTd);\n this.mappingTbody.append(tr);\n const td = $(``);\n tr.append(td);\n const delLink = $(``);\n td.append(delLink);\n delLink.on('click', () => {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.property.dataset.delConfirm}`, function () {\n const index = datasetValue.mappingItems.indexOf(item);\n datasetValue.mappingItems.splice(index, 1);\n tr.remove();\n });\n });\n\n const editLink = $(``);\n td.append(editLink);\n editLink.on('click', () => {\n _this.mappingDialog.show(function () {\n valueTd.html(item.value);\n labelTd.html(item.label);\n }, item, 'edit');\n });\n }\n if (!value.mappingType || value.mappingType === 'simple') {\n this.sampleMappingGroup.show();\n this.datasetMappingGroup.hide();\n } else {\n this.sampleMappingGroup.hide();\n this.datasetMappingGroup.show();\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/DatasetValueEditor.js?"); /***/ }), @@ -5399,7 +5399,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ExpressionValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\nclass ExpressionValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._buildWrapCompute(this.container);\n this._buildExpand();\n this._buildFormat();\n this._buildConditionProperty();\n this._initCodeEditor();\n }\n _initCodeEditor() {\n this.container.append(`\n
    \n \n
     
    \n
    `);\n const editorContainer = $(`
    `);\n this.container.append(editorContainer);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '160px');\n _this.codeMirror.on('change', function (cm, changes) {\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, expr);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.container.hide();\n }, 100);\n }\n _buildExpand() {\n const _this = this;\n const expandGroup = $(`\n
    \n \n
    `);\n this.expandIpt = $(`\n
    \n `);\n expandGroup.append(this.expandIpt);\n this.downExpandRadio = $(``);\n this.expandIpt.append(this.downExpandRadio);\n this.downExpandRadio.children('input').click(function () {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandIpt.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').click(function () {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandIpt.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').click(function () {\n _this._setExpand('None');\n });\n this.container.append(expandGroup);\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.datasources = this.context.reportDef.datasources;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.codeMirror.setValue(cellDef.value.value);\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n const cellStyle = cellDef.cellStyle;\n if (cellStyle.format) {\n this.formatEditor.val(cellStyle.format);\n } else {\n this.formatEditor.val('');\n }\n if (cellStyle.wrapCompute) {\n $('#__wrap_compute_radio_default').prop('checked', true);\n // this.enableWrapComput.children('input').prop('checked',true);\n } else {\n $('#__wrap_compute_radio_custom').prop('checked', true);\n // this.disableWrapComput.children('input').prop('checked', true);\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ExpressionValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ExpressionValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\nclass ExpressionValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._buildWrapCompute(this.container);\n this._buildExpand();\n this._buildFormat();\n this._buildConditionProperty();\n this._initCodeEditor();\n }\n _initCodeEditor() {\n this.container.append(`\n
    \n \n
     
    \n
    `);\n const editorContainer = $(`
    `);\n this.container.append(editorContainer);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '160px');\n _this.codeMirror.on('change', function (cm, changes) {\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, expr);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.container.hide();\n }, 100);\n }\n _buildExpand() {\n const _this = this;\n const expandGroup = $(`\n
    \n \n
    `);\n this.expandIpt = $(`\n
    \n `);\n expandGroup.append(this.expandIpt);\n this.downExpandRadio = $(``);\n this.expandIpt.append(this.downExpandRadio);\n this.downExpandRadio.children('input').click(function () {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandIpt.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').click(function () {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandIpt.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').click(function () {\n _this._setExpand('None');\n });\n this.container.append(expandGroup);\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.datasources = this.context.reportDef.datasources;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.codeMirror.setValue(cellDef.value.value);\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n const cellStyle = cellDef.cellStyle;\n if (cellStyle.format) {\n this.formatEditor.val(cellStyle.format);\n } else {\n this.formatEditor.val('');\n }\n if (cellStyle.wrapCompute) {\n $('#__wrap_compute_radio_default').prop('checked', true);\n // this.enableWrapComput.children('input').prop('checked',true);\n } else {\n $('#__wrap_compute_radio_custom').prop('checked', true);\n // this.disableWrapComput.children('input').prop('checked', true);\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ExpressionValueEditor.js?"); /***/ }), @@ -5411,7 +5411,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImageValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\nclass ImageValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._initSizeGroup();\n this._initTypeSelect();\n this._buildExpand();\n this._initExpressionEditor();\n this._initPathEditor();\n }\n _initSizeGroup() {\n const _this = this;\n const widthGroup = $(`
    `);\n this.widthEditor = $(``);\n widthGroup.append(this.widthEditor);\n //this.widthEditor.change(function () {\n this.widthEditor.on('input', function () {\n _this.cellDef.value.width = $(this).val();\n _this.context.hot.render();\n });\n this.container.append(widthGroup);\n const heightGroup = $(`
    `);\n this.heightEditor = $(``);\n heightGroup.append(this.heightEditor);\n // this.heightEditor.change(function () {\n this.heightEditor.on('input', function () {\n _this.cellDef.value.height = $(this).val();\n _this.context.hot.render();\n });\n this.container.append(heightGroup);\n }\n _initTypeSelect() {\n const imageSourceGroup = $(`
    `);\n this.sourceSelect = $(``);\n imageSourceGroup.append(this.sourceSelect);\n const _this = this;\n this.sourceSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.source = value;\n if (value === 'text') {\n _this.pathEditorGroup.show();\n _this.expressionEditorGroup.hide();\n _this.expandGroup.hide();\n } else {\n _this.expressionEditorGroup.show();\n _this.expandGroup.show();\n _this.pathEditorGroup.hide();\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.container.append(imageSourceGroup);\n }\n\n _initPathEditor() {\n const _this = this;\n this.pathEditorGroup = $(`
    `);\n this.pathEditor = $(``);\n this.pathEditorGroup.append(this.pathEditor);\n this.pathEditor.change(function () {\n _this.cellDef.value.value = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.pathEditorGroup.hide();\n this.container.append(this.pathEditorGroup);\n }\n\n _initExpressionEditor() {\n this.expressionEditorGroup = $(`
     
    `);\n this.container.append(this.expressionEditorGroup);\n const editorContainer = $(`
    `);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n this.expressionEditorGroup.append(editorContainer);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '120px');\n _this.codeMirror.on('change', function (cm, changes) {\n if (_this.initialize) {\n return;\n }\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.expressionEditorGroup.hide();\n _this.container.hide();\n }, 100);\n }\n _buildExpand() {\n const _this = this;\n this.expandGroup = $(`
    `);\n this.expandGroupItx = $(`
    `);\n this.expandGroup.append(this.expandGroupItx);\n this.downExpandRadio = $(``);\n this.expandGroupItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').click(function () {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandGroupItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').click(function () {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandGroupItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').click(function () {\n _this._setExpand('None');\n });\n this.container.append(this.expandGroup);\n this.expandGroup.hide();\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression' || type === 'image') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.initialize = true;\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.widthEditor.val(cellDef.value.width);\n this.heightEditor.val(cellDef.value.height);\n const source = cellDef.value.source;\n this.sourceSelect.val(source);\n this.pathEditor.val('');\n this.codeMirror.setValue('');\n if (source === 'text') {\n this.pathEditorGroup.show();\n this.expressionEditorGroup.hide();\n this.pathEditor.val(cellDef.value.value || '');\n } else {\n this.expressionEditorGroup.show();\n this.pathEditorGroup.hide();\n this.codeMirror.setValue(cellDef.value.value || '');\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n this.initialize = false;\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ImageValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImageValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\nclass ImageValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._initSizeGroup();\n this._initTypeSelect();\n this._buildExpand();\n this._initExpressionEditor();\n this._initPathEditor();\n }\n _initSizeGroup() {\n const _this = this;\n const widthGroup = $(`
    `);\n this.widthEditor = $(``);\n widthGroup.append(this.widthEditor);\n //this.widthEditor.change(function () {\n this.widthEditor.on('input', function () {\n _this.cellDef.value.width = $(this).val();\n _this.context.hot.render();\n });\n this.container.append(widthGroup);\n const heightGroup = $(`
    `);\n this.heightEditor = $(``);\n heightGroup.append(this.heightEditor);\n // this.heightEditor.change(function () {\n this.heightEditor.on('input', function () {\n _this.cellDef.value.height = $(this).val();\n _this.context.hot.render();\n });\n this.container.append(heightGroup);\n }\n _initTypeSelect() {\n const imageSourceGroup = $(`
    `);\n this.sourceSelect = $(``);\n imageSourceGroup.append(this.sourceSelect);\n const _this = this;\n this.sourceSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.source = value;\n if (value === 'text') {\n _this.pathEditorGroup.show();\n _this.expressionEditorGroup.hide();\n _this.expandGroup.hide();\n } else {\n _this.expressionEditorGroup.show();\n _this.expandGroup.show();\n _this.pathEditorGroup.hide();\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.container.append(imageSourceGroup);\n }\n\n _initPathEditor() {\n const _this = this;\n this.pathEditorGroup = $(`
    `);\n this.pathEditor = $(``);\n this.pathEditorGroup.append(this.pathEditor);\n this.pathEditor.change(function () {\n _this.cellDef.value.value = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.pathEditorGroup.hide();\n this.container.append(this.pathEditorGroup);\n }\n\n _initExpressionEditor() {\n this.expressionEditorGroup = $(`
     
    `);\n this.container.append(this.expressionEditorGroup);\n const editorContainer = $(`
    `);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n this.expressionEditorGroup.append(editorContainer);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '120px');\n _this.codeMirror.on('change', function (cm, changes) {\n if (_this.initialize) {\n return;\n }\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.expressionEditorGroup.hide();\n _this.container.hide();\n }, 100);\n }\n _buildExpand() {\n const _this = this;\n this.expandGroup = $(`
    `);\n this.expandGroupItx = $(`
    `);\n this.expandGroup.append(this.expandGroupItx);\n this.downExpandRadio = $(``);\n this.expandGroupItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').click(function () {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandGroupItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').click(function () {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandGroupItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').click(function () {\n _this._setExpand('None');\n });\n this.container.append(this.expandGroup);\n this.expandGroup.hide();\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression' || type === 'image') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.initialize = true;\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n this.widthEditor.val(cellDef.value.width);\n this.heightEditor.val(cellDef.value.height);\n const source = cellDef.value.source;\n this.sourceSelect.val(source);\n this.pathEditor.val('');\n this.codeMirror.setValue('');\n if (source === 'text') {\n this.pathEditorGroup.show();\n this.expressionEditorGroup.hide();\n this.pathEditor.val(cellDef.value.value || '');\n } else {\n this.expressionEditorGroup.show();\n this.pathEditorGroup.hide();\n this.codeMirror.setValue(cellDef.value.value || '');\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n this.initialize = false;\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ImageValueEditor.js?"); /***/ }), @@ -5423,7 +5423,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SimpleValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\nclass SimpleValueEditor {\n constructor(parentContainer, context) {\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.container.hide();\n this.init();\n }\n\n init() {\n const _this = this;\n this.container.append(this.buildLineHeight());\n this.simpleContent = $(`
    `);\n this.editor = $(``);\n this.simpleContent.append(this.editor);\n this.container.append(this.simpleContent);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.editor.change(function () {\n this.editor.on('input', function () {\n const value = $(this).val();\n // console.log(_this.context, _this.rowIndex, _this.colIndex)\n _this.cellDef.value.value = value;\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n buildLineHeight() {\n const _this = this;\n const group = $(`
    `);\n this.lineHeightEditor = $(``);\n group.append(this.lineHeightEditor);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.lineHeightEditor.change(function () {\n this.lineHeightEditor.on('input', function () {\n const value = $(this).val();\n _this.cellDef.cellStyle.lineHeight = value;\n let td = _this.context.hot.getCell(_this.rowIndex, _this.colIndex);\n if (value === '') {\n $(td).css(\"line-height\", '');\n } else {\n $(td).css(\"line-height\", value);\n }\n _this.context.hot.render();\n });\n return group;\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n $('.panel-base-tx').val(cellDef.value.value);\n this.lineHeightEditor.val(cellDef.cellStyle.lineHeight);\n // 切换单元重新赋值内容输入框\n this.editor.val(this.context.hot.getDataAtCell(this.rowIndex, this.colIndex));\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/SimpleValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SimpleValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\nclass SimpleValueEditor {\n constructor(parentContainer, context) {\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.container.hide();\n this.init();\n }\n\n init() {\n const _this = this;\n this.container.append(this.buildLineHeight());\n this.simpleContent = $(`
    `);\n this.editor = $(``);\n this.simpleContent.append(this.editor);\n this.container.append(this.simpleContent);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.editor.change(function () {\n this.editor.on('input', function () {\n const value = $(this).val();\n // console.log(_this.context, _this.rowIndex, _this.colIndex)\n _this.cellDef.value.value = value;\n _this.context.hot.setDataAtCell(_this.rowIndex, _this.colIndex, value);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n buildLineHeight() {\n const _this = this;\n const group = $(`
    `);\n this.lineHeightEditor = $(``);\n group.append(this.lineHeightEditor);\n // 原来的change方法存在值变化不触发,兼容用on.input\n // this.lineHeightEditor.change(function () {\n this.lineHeightEditor.on('input', function () {\n const value = $(this).val();\n _this.cellDef.cellStyle.lineHeight = value;\n let td = _this.context.hot.getCell(_this.rowIndex, _this.colIndex);\n if (value === '') {\n $(td).css(\"line-height\", '');\n } else {\n $(td).css(\"line-height\", value);\n }\n _this.context.hot.render();\n });\n return group;\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n $('.panel-base-tx').val(cellDef.value.value);\n this.lineHeightEditor.val(cellDef.cellStyle.lineHeight);\n // 切换单元重新赋值内容输入框\n this.editor.val(this.context.hot.getDataAtCell(this.rowIndex, this.colIndex));\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/SimpleValueEditor.js?"); /***/ }), @@ -5435,7 +5435,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SlashValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\nclass SlashValueEditor {\n constructor(parentContainer, context) {\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.headerContainer = $(`
    `);\n this.container.append(this.headerContainer);\n this.container.hide();\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n this.headerContainer.empty();\n const slashContainer = $(`
    `);\n this.headerContainer.append(slashContainer);\n this._buildSlashes(cellDef, slashContainer);\n const _this = this;\n const refreshButton = $(``);\n refreshButton.click(function () {\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.refreshCell();\n crossTabWidget.doDraw(cellDef, rowIndex, colIndex);\n slashContainer.empty();\n _this._buildSlashes(cellDef, slashContainer);\n });\n this.headerContainer.append(refreshButton);\n }\n\n _buildSlashes(cellDef, slashContainer) {\n const slashes = cellDef.value.slashes;\n for (let slash of slashes) {\n const itemContainer = $(`
    `);\n slashContainer.append(itemContainer);\n const nameContainer = $(`${window.i18n.property.slash.name}`);\n itemContainer.append(nameContainer);\n const nameEditor = $(`
    `);\n nameContainer.append(nameEditor);\n nameEditor.val(slash.text);\n nameEditor.change(function () {\n slash.text = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const xContainer = $(`X:`);\n itemContainer.append(xContainer);\n const xEditor = $(``);\n xContainer.append(xEditor);\n xEditor.change(function () {\n slash.x = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n xEditor.val(slash.x);\n\n const yContainer = $(`Y:`);\n itemContainer.append(yContainer);\n const yEditor = $(``);\n yContainer.append(yEditor);\n yEditor.change(function () {\n slash.y = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n yEditor.val(slash.y);\n\n const degreeContainer = $(`${window.i18n.property.slash.angle}`);\n itemContainer.append(degreeContainer);\n const degreeEditor = $(``);\n degreeContainer.append(degreeEditor);\n degreeEditor.change(function () {\n slash.degree = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n degreeEditor.val(slash.degree);\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/SlashValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SlashValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\nclass SlashValueEditor {\n constructor(parentContainer, context) {\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this.headerContainer = $(`
    `);\n this.container.append(this.headerContainer);\n this.container.hide();\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n this.headerContainer.empty();\n const slashContainer = $(`
    `);\n this.headerContainer.append(slashContainer);\n this._buildSlashes(cellDef, slashContainer);\n const _this = this;\n const refreshButton = $(``);\n refreshButton.click(function () {\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.refreshCell();\n crossTabWidget.doDraw(cellDef, rowIndex, colIndex);\n slashContainer.empty();\n _this._buildSlashes(cellDef, slashContainer);\n });\n this.headerContainer.append(refreshButton);\n }\n\n _buildSlashes(cellDef, slashContainer) {\n const slashes = cellDef.value.slashes;\n for (let slash of slashes) {\n const itemContainer = $(`
    `);\n slashContainer.append(itemContainer);\n const nameContainer = $(`${window.i18n.property.slash.name}`);\n itemContainer.append(nameContainer);\n const nameEditor = $(`
    `);\n nameContainer.append(nameEditor);\n nameEditor.val(slash.text);\n nameEditor.change(function () {\n slash.text = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const xContainer = $(`X:`);\n itemContainer.append(xContainer);\n const xEditor = $(``);\n xContainer.append(xEditor);\n xEditor.change(function () {\n slash.x = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n xEditor.val(slash.x);\n\n const yContainer = $(`Y:`);\n itemContainer.append(yContainer);\n const yEditor = $(``);\n yContainer.append(yEditor);\n yEditor.change(function () {\n slash.y = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n yEditor.val(slash.y);\n\n const degreeContainer = $(`${window.i18n.property.slash.angle}`);\n itemContainer.append(degreeContainer);\n const degreeEditor = $(``);\n degreeContainer.append(degreeEditor);\n degreeEditor.change(function () {\n slash.degree = $(this).val();\n const crossTabWidget = cellDef.crossTabWidget;\n crossTabWidget.doDraw(cellDef);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n degreeEditor.val(slash.degree);\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/SlashValueEditor.js?"); /***/ }), @@ -5447,7 +5447,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ZxingValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-07.\r\n */\n\n\n\n\n\n\nclass ZxingValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._initSize();\n this._initFormat();\n //this._initCodeDisplay();\n this._initTypeSelect();\n this._buildExpand();\n this._initExpressionEditor();\n this._initTextEditor();\n }\n\n _initSize() {\n const _this = this;\n const sizeGroupWidh = $(`
    `);\n this.container.append(sizeGroupWidh);\n this.widthEditor = $(``);\n sizeGroupWidh.append(this.widthEditor);\n // this.widthEditor.change(function () {\n this.widthEditor.on('input', function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n alert(`${window.i18n.property.zxing.numberTip}`);\n return;\n }\n _this.cellDef.value.width = value;\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n\n const sizeGroupHeight = $(`
    `);\n this.container.append(sizeGroupHeight);\n this.heightEditor = $(``);\n sizeGroupHeight.append(this.heightEditor);\n // this.heightEditor.change(function () {\n this.heightEditor.on('input', function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n alert(`${window.i18n.property.zxing.numberTip}`);\n return;\n }\n _this.cellDef.value.height = value;\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n }\n\n _initFormat() {\n this.formatGroup = $(`
    `);\n this.container.append(this.formatGroup);\n this.formatSelect = $(``);\n const _this = this;\n this.formatSelect.change(function () {\n _this.cellDef.value.format = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.formatGroup.append(this.formatSelect);\n }\n\n _initCodeDisplay() {\n this.codeDisplayGroup = $(`
    `);\n this.container.append(this.codeDisplayGroup);\n this.enabledCodeDisplayRadio = $(``);\n const _this = this;\n this.codeDisplayGroup.append(this.enabledCodeDisplayRadio);\n this.enabledCodeDisplayRadio.children('input').on('click', () => {\n _this.cellDef.value.codeDisplay = true;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.disabledCodeDisplayRadio = $(``);\n this.codeDisplayGroup.append(this.disabledCodeDisplayRadio);\n this.disabledCodeDisplayRadio.children('input').on('click', () => {\n _this.cellDef.value.codeDisplay = false;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n }\n\n _initTypeSelect() {\n const imageSourceGroup = $(`
    `);\n this.sourceSelect = $(``);\n imageSourceGroup.append(this.sourceSelect);\n const _this = this;\n this.sourceSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.source = value;\n if (value === 'text') {\n _this.textEditorGroup.show();\n _this.expressionEditorGroup.hide();\n _this.expandGroup.hide();\n } else {\n _this.expressionEditorGroup.show();\n _this.expandGroup.show();\n _this.textEditorGroup.hide();\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.container.append(imageSourceGroup);\n }\n\n _initTextEditor() {\n const _this = this;\n this.textEditorGroup = $(`
    `);\n this.textEditor = $(``);\n this.textEditorGroup.append(this.textEditor);\n this.textEditor.change(function () {\n _this.cellDef.value.value = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.textEditorGroup.hide();\n this.container.append(this.textEditorGroup);\n }\n\n _initExpressionEditor() {\n this.expressionEditorGroup = $(`
    `);\n this.container.append(this.expressionEditorGroup);\n const editorContainer = $(`
    `);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n this.expressionEditorGroup.append(editorContainer);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '120px');\n _this.codeMirror.on('change', function (cm, changes) {\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.expressionEditorGroup.hide();\n _this.container.hide();\n }, 100);\n }\n\n _buildExpand() {\n const _this = this;\n this.expandGroup = $(`
    `);\n this.expandGroupItx = $(`
    `);\n this.expandGroup.append(this.expandGroupItx);\n this.downExpandRadio = $(``);\n this.expandGroupItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').on('click', () => {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandGroupItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').on('click', () => {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandGroupItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').on('click', () => {\n _this._setExpand('None');\n });\n this.container.append(this.expandGroup);\n this.expandGroup.hide();\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression' || type === 'image' || type === 'zxing') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n const source = cellDef.value.source;\n this.widthEditor.val(cellDef.value.width);\n this.heightEditor.val(cellDef.value.height);\n this.sourceSelect.val(source);\n this.textEditor.val('');\n if (source === 'text') {\n this.textEditorGroup.show();\n this.expressionEditorGroup.hide();\n this.textEditor.val(cellDef.value.value || '');\n this.expandGroup.hide();\n } else {\n this.expressionEditorGroup.show();\n this.textEditorGroup.hide();\n // 兼容判断\n this.codeMirror.setValue(cellDef.value.value || '');\n this.expandGroup.show();\n }\n if (cellDef.value.category === 'qrcode') {\n this.formatGroup.hide();\n //this.codeDisplayGroup.hide();\n } else {\n this.formatGroup.show();\n this.formatSelect.val(cellDef.value.format);\n /*this.codeDisplayGroup.show();\r\n if(cellDef.value.codeDisplay){\r\n this.enabledCodeDisplayRadio.children('input').trigger('click');\r\n }else{\r\n this.disabledCodeDisplayRadio.children('input').trigger('click');\r\n }*/\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ZxingValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ZxingValueEditor; });\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/hint/show-hint.js */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_hint_show_hint_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/codemirror/addon/lint/lint.js */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var _node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_codemirror_addon_lint_lint_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseValueEditor.js */ \"./src/panel/property/BaseValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-02-07.\n */\n\n\n\n\n\n\nclass ZxingValueEditor extends _BaseValueEditor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n this._initSize();\n this._initFormat();\n //this._initCodeDisplay();\n this._initTypeSelect();\n this._buildExpand();\n this._initExpressionEditor();\n this._initTextEditor();\n }\n\n _initSize() {\n const _this = this;\n const sizeGroupWidh = $(`
    `);\n this.container.append(sizeGroupWidh);\n this.widthEditor = $(``);\n sizeGroupWidh.append(this.widthEditor);\n // this.widthEditor.change(function () {\n this.widthEditor.on('input', function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n alert(`${window.i18n.property.zxing.numberTip}`);\n return;\n }\n _this.cellDef.value.width = value;\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n\n const sizeGroupHeight = $(`
    `);\n this.container.append(sizeGroupHeight);\n this.heightEditor = $(``);\n sizeGroupHeight.append(this.heightEditor);\n // this.heightEditor.change(function () {\n this.heightEditor.on('input', function () {\n let value = $(this).val();\n if (!value || isNaN(value)) {\n alert(`${window.i18n.property.zxing.numberTip}`);\n return;\n }\n _this.cellDef.value.height = value;\n _this.context.hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n }\n\n _initFormat() {\n this.formatGroup = $(`
    `);\n this.container.append(this.formatGroup);\n this.formatSelect = $(``);\n const _this = this;\n this.formatSelect.change(function () {\n _this.cellDef.value.format = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.formatGroup.append(this.formatSelect);\n }\n\n _initCodeDisplay() {\n this.codeDisplayGroup = $(`
    `);\n this.container.append(this.codeDisplayGroup);\n this.enabledCodeDisplayRadio = $(``);\n const _this = this;\n this.codeDisplayGroup.append(this.enabledCodeDisplayRadio);\n this.enabledCodeDisplayRadio.children('input').on('click', () => {\n _this.cellDef.value.codeDisplay = true;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.disabledCodeDisplayRadio = $(``);\n this.codeDisplayGroup.append(this.disabledCodeDisplayRadio);\n this.disabledCodeDisplayRadio.children('input').on('click', () => {\n _this.cellDef.value.codeDisplay = false;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n }\n\n _initTypeSelect() {\n const imageSourceGroup = $(`
    `);\n this.sourceSelect = $(``);\n imageSourceGroup.append(this.sourceSelect);\n const _this = this;\n this.sourceSelect.change(function () {\n const value = $(this).val();\n _this.cellDef.value.source = value;\n if (value === 'text') {\n _this.textEditorGroup.show();\n _this.expressionEditorGroup.hide();\n _this.expandGroup.hide();\n } else {\n _this.expressionEditorGroup.show();\n _this.expandGroup.show();\n _this.textEditorGroup.hide();\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.container.append(imageSourceGroup);\n }\n\n _initTextEditor() {\n const _this = this;\n this.textEditorGroup = $(`
    `);\n this.textEditor = $(``);\n this.textEditorGroup.append(this.textEditor);\n this.textEditor.change(function () {\n _this.cellDef.value.value = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n this.textEditorGroup.hide();\n this.container.append(this.textEditorGroup);\n }\n\n _initExpressionEditor() {\n this.expressionEditorGroup = $(`
    `);\n this.container.append(this.expressionEditorGroup);\n const editorContainer = $(`
    `);\n const codeEditor = $(``);\n editorContainer.append(codeEditor);\n this.expressionEditorGroup.append(editorContainer);\n const _this = this;\n setTimeout(function () {\n _this.codeMirror = codemirror__WEBPACK_IMPORTED_MODULE_0___default.a.fromTextArea(codeEditor.get(0), {\n mode: 'javascript',\n lineNumbers: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-lint-markers\"],\n lint: {\n getAnnotations: _this._buildScriptLintFunction(),\n async: true\n }\n });\n _this.codeMirror.setSize('auto', '120px');\n _this.codeMirror.on('change', function (cm, changes) {\n let expr = cm.getValue();\n _this.cellDef.value.value = expr;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n });\n _this.expressionEditorGroup.hide();\n _this.container.hide();\n }, 100);\n }\n\n _buildExpand() {\n const _this = this;\n this.expandGroup = $(`
    `);\n this.expandGroupItx = $(`
    `);\n this.expandGroup.append(this.expandGroupItx);\n this.downExpandRadio = $(``);\n this.expandGroupItx.append(this.downExpandRadio);\n this.downExpandRadio.children('input').on('click', () => {\n _this._setExpand('Down');\n });\n this.rightExpandRadio = $(``);\n this.expandGroupItx.append(this.rightExpandRadio);\n this.rightExpandRadio.children('input').on('click', () => {\n _this._setExpand('Right');\n });\n this.noneExpandRadio = $(``);\n this.expandGroupItx.append(this.noneExpandRadio);\n this.noneExpandRadio.children('input').on('click', () => {\n _this._setExpand('None');\n });\n this.container.append(this.expandGroup);\n this.expandGroup.hide();\n }\n\n _setExpand(expand) {\n const hot = this.context.hot;\n for (let i = this.rowIndex; i <= this.row2Index; i++) {\n for (let j = this.colIndex; j <= this.col2Index; j++) {\n const cellDef = hot.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const type = cellDef.value.type;\n if (type === 'dataset' || type === 'expression' || type === 'image' || type === 'zxing') {\n cellDef.expand = expand;\n }\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n }\n\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.row2Index = row2Index;\n this.col2Index = col2Index;\n this.container.show();\n const source = cellDef.value.source;\n this.widthEditor.val(cellDef.value.width);\n this.heightEditor.val(cellDef.value.height);\n this.sourceSelect.val(source);\n this.textEditor.val('');\n if (source === 'text') {\n this.textEditorGroup.show();\n this.expressionEditorGroup.hide();\n this.textEditor.val(cellDef.value.value || '');\n this.expandGroup.hide();\n } else {\n this.expressionEditorGroup.show();\n this.textEditorGroup.hide();\n // 兼容判断\n this.codeMirror.setValue(cellDef.value.value || '');\n this.expandGroup.show();\n }\n if (cellDef.value.category === 'qrcode') {\n this.formatGroup.hide();\n //this.codeDisplayGroup.hide();\n } else {\n this.formatGroup.show();\n this.formatSelect.val(cellDef.value.format);\n /*this.codeDisplayGroup.show();\n if(cellDef.value.codeDisplay){\n this.enabledCodeDisplayRadio.children('input').trigger('click');\n }else{\n this.disabledCodeDisplayRadio.children('input').trigger('click');\n }*/\n }\n const expand = cellDef.expand;\n if (expand === 'None') {\n this.noneExpandRadio.trigger('click');\n } else if (expand === 'Down') {\n this.downExpandRadio.trigger('click');\n } else if (expand === 'Right') {\n this.rightExpandRadio.trigger('click');\n }\n }\n\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/ZxingValueEditor.js?"); /***/ }), @@ -5459,7 +5459,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AreaChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass AreaChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'area');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/AreaChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AreaChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass AreaChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'area');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/AreaChartValueEditor.js?"); /***/ }), @@ -5471,7 +5471,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BarChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-23.\r\n */\n\n\nclass BarChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context, id) {\n super();\n if (id) {\n this.id = id;\n } else {\n this.id = 'bar';\n }\n this.context = context;\n this.container = $(`
    `);\n parentContainer.append(this.container);\n const tabUL = $(`
      `);\n this.container.append(tabUL);\n const dsLI = $(`
    • ${window.i18n.chart.datasetBind}
    • `);\n tabUL.append(dsLI);\n const optionLI = $(`
    • ${window.i18n.chart.option}
    • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
    • ${window.i18n.chart.axisConfig}
    • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
      `);\n this.container.append(tabContent);\n\n const dsContent = $(`
      `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
      `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
      `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n this.initCategoryDataset(dsContent);\n }\n _initOptionTab(optionContent) {\n const group = $(`
      `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initDataLabelsOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.seriesPropertySelect.val(dataset.seriesProperty);\n this.seriesTextEditor.val(dataset.seriesText);\n this.valuePropertySelect.val(dataset.valueProperty);\n this.aggregateSelect.val(dataset.collectType);\n if (dataset.seriesType === 'property') {\n this.propertySeriesRadio.children('input').attr('checked', true);\n this.propertySeriesRadio.children('input').trigger('click');\n } else {\n this.textSeriesRadio.children('input').attr('checked', true);\n this.textSeriesRadio.children('input').trigger('click');\n }\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || { rotation: 0, xposition: 'left' };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.yaxes || { rotation: 0, yposition: 'bottom' };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n this.hideDataLabelsRadio.children('input').attr('checked', true);\n const plugins = chart.plugins || [];\n for (let plugin of plugins) {\n if (plugin.name === 'data-labels' && plugin.display) {\n this.showDataLabelsRadio.children('input').attr('checked', true);\n }\n }\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || { left: 0, right: 0, top: 0, bottom: 0 };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/BarChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BarChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-23.\n */\n\n\nclass BarChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context, id) {\n super();\n if (id) {\n this.id = id;\n } else {\n this.id = 'bar';\n }\n this.context = context;\n this.container = $(`
      `);\n parentContainer.append(this.container);\n const tabUL = $(`
        `);\n this.container.append(tabUL);\n const dsLI = $(`
      • ${window.i18n.chart.datasetBind}
      • `);\n tabUL.append(dsLI);\n const optionLI = $(`
      • ${window.i18n.chart.option}
      • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
      • ${window.i18n.chart.axisConfig}
      • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
        `);\n this.container.append(tabContent);\n\n const dsContent = $(`
        `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
        `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
        `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n this.initCategoryDataset(dsContent);\n }\n _initOptionTab(optionContent) {\n const group = $(`
        `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initDataLabelsOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.seriesPropertySelect.val(dataset.seriesProperty);\n this.seriesTextEditor.val(dataset.seriesText);\n this.valuePropertySelect.val(dataset.valueProperty);\n this.aggregateSelect.val(dataset.collectType);\n if (dataset.seriesType === 'property') {\n this.propertySeriesRadio.children('input').attr('checked', true);\n this.propertySeriesRadio.children('input').trigger('click');\n } else {\n this.textSeriesRadio.children('input').attr('checked', true);\n this.textSeriesRadio.children('input').trigger('click');\n }\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || { rotation: 0, xposition: 'left' };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.yaxes || { rotation: 0, yposition: 'bottom' };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n this.hideDataLabelsRadio.children('input').attr('checked', true);\n const plugins = chart.plugins || [];\n for (let plugin of plugins) {\n if (plugin.name === 'data-labels' && plugin.display) {\n this.showDataLabelsRadio.children('input').attr('checked', true);\n }\n }\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || { left: 0, right: 0, top: 0, bottom: 0 };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/BarChartValueEditor.js?"); /***/ }), @@ -5483,7 +5483,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ScatterChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\n\n\nclass ScatterChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
        `);\n parentContainer.append(this.container);\n const tabUL = $(`
          `);\n this.container.append(tabUL);\n const dsLI = $(`
        • ${window.i18n.chart.datasetBind}
        • `);\n tabUL.append(dsLI);\n const optionLI = $(`
        • ${window.i18n.chart.option}
        • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
        • ${window.i18n.chart.axisConfig}
        • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
          `);\n this.container.append(tabContent);\n\n const dsContent = $(`
          `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
          `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
          `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n const _this = this;\n const legendGroup = $(`
          \n ${window.i18n.chart.propBindConfig}
          `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
          `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
          `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n });\n const xPropertyGroup = $(`
          `);\n this.xPropertySelect = $(``);\n xPropertyGroup.append(this.xPropertySelect);\n xPropertyGroup.append(xPropertyGroup);\n this.xPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.xProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(xPropertyGroup);\n\n const yPropertyGroup = $(`
          `);\n this.yPropertySelect = $(``);\n yPropertyGroup.append(this.yPropertySelect);\n yPropertyGroup.append(yPropertyGroup);\n this.yPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.yProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(yPropertyGroup);\n\n const rPropertyGroup = $(`
          `);\n this.rPropertySelect = $(``);\n rPropertyGroup.append(this.rPropertySelect);\n rPropertyGroup.append(rPropertyGroup);\n this.rPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.rProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(rPropertyGroup);\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.xPropertySelect.empty();\n _this.yPropertySelect.empty();\n _this.rPropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n _this.rPropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n _this.rPropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n });\n }\n _initOptionTab(optionContent) {\n const group = $(`
          `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.xPropertySelect.val(dataset.xProperty);\n this.yPropertySelect.val(dataset.yProperty);\n this.rPropertySelect.val(dataset.rProperty);\n\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || {\n rotation: 0,\n xposition: 'left'\n };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.yaxes || {\n rotation: 0,\n yposition: 'bottom'\n };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/BubbleChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ScatterChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\n\n\nclass ScatterChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
          `);\n parentContainer.append(this.container);\n const tabUL = $(`
            `);\n this.container.append(tabUL);\n const dsLI = $(`
          • ${window.i18n.chart.datasetBind}
          • `);\n tabUL.append(dsLI);\n const optionLI = $(`
          • ${window.i18n.chart.option}
          • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
          • ${window.i18n.chart.axisConfig}
          • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
            `);\n this.container.append(tabContent);\n\n const dsContent = $(`
            `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
            `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
            `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.propBindConfig}
            `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
            `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
            `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n });\n const xPropertyGroup = $(`
            `);\n this.xPropertySelect = $(``);\n xPropertyGroup.append(this.xPropertySelect);\n xPropertyGroup.append(xPropertyGroup);\n this.xPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.xProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(xPropertyGroup);\n\n const yPropertyGroup = $(`
            `);\n this.yPropertySelect = $(``);\n yPropertyGroup.append(this.yPropertySelect);\n yPropertyGroup.append(yPropertyGroup);\n this.yPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.yProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(yPropertyGroup);\n\n const rPropertyGroup = $(`
            `);\n this.rPropertySelect = $(``);\n rPropertyGroup.append(this.rPropertySelect);\n rPropertyGroup.append(rPropertyGroup);\n this.rPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.rProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(rPropertyGroup);\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.xPropertySelect.empty();\n _this.yPropertySelect.empty();\n _this.rPropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n _this.rPropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n _this.rPropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n });\n }\n _initOptionTab(optionContent) {\n const group = $(`
            `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.xPropertySelect.val(dataset.xProperty);\n this.yPropertySelect.val(dataset.yProperty);\n this.rPropertySelect.val(dataset.rProperty);\n\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || {\n rotation: 0,\n xposition: 'left'\n };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.yaxes || {\n rotation: 0,\n yposition: 'bottom'\n };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/BubbleChartValueEditor.js?"); /***/ }), @@ -5495,7 +5495,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CategoryChartValueEditor; });\n/* harmony import */ var _ChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChartValueEditor.js */ \"./src/panel/property/chart/ChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-25.\r\n */\n\n\n\nclass CategoryChartValueEditor extends _ChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super();\n }\n initCategoryDataset(dsContent) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.propBindConfig}
            `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
            `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
            `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const valuePropertyGroup = $(`
            `);\n this.valuePropertySelect = $(``);\n valuePropertyGroup.append(this.valuePropertySelect);\n legendGroup.append(valuePropertyGroup);\n this.valuePropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.valueProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const seriesGroup = $(`
            `);\n this.seriesGroupItx = $(`
            `);\n seriesGroup.append(this.seriesGroupItx);\n legendGroup.append(seriesGroup);\n this.propertySeriesRadio = $(``);\n this.seriesGroupItx.append(this.propertySeriesRadio);\n this.textSeriesRadio = $(``);\n this.seriesGroupItx.append(this.textSeriesRadio);\n this.propertySeriesRadio.children('input').click(function () {\n _this.seriesPropertyGroup.show();\n _this.seriesTextGroup.hide();\n const dataset = _this.getDatasetConfig();\n dataset.seriesType = 'property';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.textSeriesRadio.children('input').click(function () {\n _this.seriesPropertyGroup.hide();\n _this.seriesTextGroup.show();\n const dataset = _this.getDatasetConfig();\n dataset.seriesType = 'text';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.seriesPropertyGroup = $(`
            `);\n this.seriesPropertySelect = $(``);\n this.seriesPropertyGroup.append(this.seriesPropertySelect);\n legendGroup.append(this.seriesPropertyGroup);\n this.seriesPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.seriesProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.seriesPropertyGroup.hide();\n this.seriesTextGroup = $(`
            `);\n this.seriesTextEditor = $(``);\n this.seriesTextGroup.append(this.seriesTextEditor);\n legendGroup.append(this.seriesTextGroup);\n this.seriesTextEditor.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.seriesText = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.seriesPropertySelect.empty();\n _this.valuePropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.seriesPropertySelect.append(``);\n _this.valuePropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.seriesPropertySelect.append(``);\n _this.valuePropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const aggregateGroup = $(`
            `);\n legendGroup.append(aggregateGroup);\n this.aggregateSelect = $(``);\n aggregateGroup.append(this.aggregateSelect);\n this.aggregateSelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.collectType = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initXAxes(container) {\n const legendGroup = $(`
            \n ${window.i18n.chart.xAxis}
            `);\n container.append(legendGroup);\n const _this = this;\n const rotationGroup = $(`
            `);\n legendGroup.append(rotationGroup);\n this.xAxesRotationEditor = $(``);\n rotationGroup.append(this.xAxesRotationEditor);\n this.xAxesRotationEditor.change(function () {\n const xaxes = _this.getXAxesConfig();\n xaxes.rotation = $(this).val();\n const targetTicks = _this.getXTicks();\n targetTicks.minRotation = xaxes.rotation;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const formatGroup = $(`
            `);\n legendGroup.append(formatGroup);\n\n this.formatEditor = $(``);\n formatGroup.append(this.formatEditor);\n this.formatEditor.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.format = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showXTitleRadio = $(``);\n this.displayGroupItx.append(this.showXTitleRadio);\n this.hideXTitleRadio = $(``);\n this.displayGroupItx.append(this.hideXTitleRadio);\n this.showXTitleRadio.children('input').change(function () {\n _this.xTitleGroup.show();\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = true;\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.display = true;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.hideXTitleRadio.children('input').change(function () {\n _this.xTitleGroup.hide();\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = false;\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.display = false;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.xTitleGroup = $(`
            `);\n legendGroup.append(this.xTitleGroup);\n this.xTitleEditor = $(``);\n this.xTitleGroup.append(this.xTitleEditor);\n this.xTitleEditor.change(function () {\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.labelString = $(this).val();\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.labelString = $(this).val();\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.xTitleGroup.hide();\n }\n initYAxes(container) {\n const legendGroup = $(`
            \n ${window.i18n.chart.yAxisConfig}
            `);\n container.append(legendGroup);\n const _this = this;\n const rotationGroup = $(`
            `);\n legendGroup.append(rotationGroup);\n this.yAxesRotationEditor = $(``);\n rotationGroup.append(this.yAxesRotationEditor);\n this.yAxesRotationEditor.change(function () {\n const yaxes = _this.getYAxesConfig();\n yaxes.rotation = $(this).val();\n\n const targetTicks = _this.getYTicks();\n targetTicks.minRotation = yaxes.rotation;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showYTitleRadio = $(``);\n this.displayGroupItx.append(this.showYTitleRadio);\n this.hideYTitleRadio = $(``);\n this.displayGroupItx.append(this.hideYTitleRadio);\n this.showYTitleRadio.children('input').change(function () {\n _this.yTitleGroup.show();\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = true;\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.display = true;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.hideYTitleRadio.children('input').change(function () {\n _this.yTitleGroup.hide();\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = false;\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.display = false;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.yTitleGroup = $(`
            `);\n legendGroup.append(this.yTitleGroup);\n this.yTitleEditor = $(``);\n this.yTitleGroup.append(this.yTitleEditor);\n this.yTitleEditor.change(function () {\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.labelString = $(this).val();\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.labelString = $(this).val();\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.yTitleGroup.hide();\n }\n\n getXTicks() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let xAxes = scales.xAxes;\n if (!xAxes) {\n xAxes = [];\n scales.xAxes = xAxes;\n }\n let targetTicks = null;\n for (let axes of xAxes) {\n if (axes.ticks) {\n targetTicks = axes.ticks;\n break;\n }\n }\n if (!targetTicks) {\n targetTicks = {};\n xAxes.push(targetTicks);\n }\n return targetTicks;\n }\n\n getYTicks() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let yAxes = scales.yAxes;\n if (!yAxes) {\n yAxes = [];\n scales.yAxes = yAxes;\n }\n let targetTicks = null;\n for (let axes of yAxes) {\n if (axes.ticks) {\n targetTicks = axes.ticks;\n break;\n }\n }\n if (!targetTicks) {\n targetTicks = {};\n yAxes.push(targetTicks);\n }\n return targetTicks;\n }\n\n getXScaleLabel() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let xAxes = scales.xAxes;\n if (!xAxes) {\n xAxes = [];\n scales.xAxes = xAxes;\n }\n let targetScaleLabel = null;\n for (let axes of xAxes) {\n if (axes.scaleLabel) {\n targetScaleLabel = axes.scaleLabel;\n break;\n }\n }\n if (!targetScaleLabel) {\n targetScaleLabel = {};\n xAxes.push(targetScaleLabel);\n }\n return targetScaleLabel;\n }\n\n getYScaleLabel() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let yAxes = scales.yAxes;\n if (!yAxes) {\n yAxes = [];\n scales.yAxes = yAxes;\n }\n let targetScaleLabel = null;\n for (let axes of yAxes) {\n if (axes.scaleLabel) {\n targetScaleLabel = axes.scaleLabel;\n break;\n }\n }\n if (!targetScaleLabel) {\n targetScaleLabel = {};\n yAxes.push(targetScaleLabel);\n }\n return targetScaleLabel;\n }\n\n getXAxesConfig() {\n let xaxes = this.cellDef.value.chart.xaxes;\n if (!xaxes) {\n xaxes = {};\n this.cellDef.value.chart.xaxes = xaxes;\n }\n return xaxes;\n }\n getYAxesConfig() {\n let yaxes = this.cellDef.value.chart.yaxes;\n if (!yaxes) {\n yaxes = {};\n this.cellDef.value.chart.yaxes = yaxes;\n }\n return yaxes;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/CategoryChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CategoryChartValueEditor; });\n/* harmony import */ var _ChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChartValueEditor.js */ \"./src/panel/property/chart/ChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-06-25.\n */\n\n\n\nclass CategoryChartValueEditor extends _ChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super();\n }\n initCategoryDataset(dsContent) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.propBindConfig}
            `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
            `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
            `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const valuePropertyGroup = $(`
            `);\n this.valuePropertySelect = $(``);\n valuePropertyGroup.append(this.valuePropertySelect);\n legendGroup.append(valuePropertyGroup);\n this.valuePropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.valueProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const seriesGroup = $(`
            `);\n this.seriesGroupItx = $(`
            `);\n seriesGroup.append(this.seriesGroupItx);\n legendGroup.append(seriesGroup);\n this.propertySeriesRadio = $(``);\n this.seriesGroupItx.append(this.propertySeriesRadio);\n this.textSeriesRadio = $(``);\n this.seriesGroupItx.append(this.textSeriesRadio);\n this.propertySeriesRadio.children('input').click(function () {\n _this.seriesPropertyGroup.show();\n _this.seriesTextGroup.hide();\n const dataset = _this.getDatasetConfig();\n dataset.seriesType = 'property';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.textSeriesRadio.children('input').click(function () {\n _this.seriesPropertyGroup.hide();\n _this.seriesTextGroup.show();\n const dataset = _this.getDatasetConfig();\n dataset.seriesType = 'text';\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.seriesPropertyGroup = $(`
            `);\n this.seriesPropertySelect = $(``);\n this.seriesPropertyGroup.append(this.seriesPropertySelect);\n legendGroup.append(this.seriesPropertyGroup);\n this.seriesPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.seriesProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.seriesPropertyGroup.hide();\n this.seriesTextGroup = $(`
            `);\n this.seriesTextEditor = $(``);\n this.seriesTextGroup.append(this.seriesTextEditor);\n legendGroup.append(this.seriesTextGroup);\n this.seriesTextEditor.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.seriesText = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.seriesPropertySelect.empty();\n _this.valuePropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.seriesPropertySelect.append(``);\n _this.valuePropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.seriesPropertySelect.append(``);\n _this.valuePropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const aggregateGroup = $(`
            `);\n legendGroup.append(aggregateGroup);\n this.aggregateSelect = $(``);\n aggregateGroup.append(this.aggregateSelect);\n this.aggregateSelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.collectType = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n initXAxes(container) {\n const legendGroup = $(`
            \n ${window.i18n.chart.xAxis}
            `);\n container.append(legendGroup);\n const _this = this;\n const rotationGroup = $(`
            `);\n legendGroup.append(rotationGroup);\n this.xAxesRotationEditor = $(``);\n rotationGroup.append(this.xAxesRotationEditor);\n this.xAxesRotationEditor.change(function () {\n const xaxes = _this.getXAxesConfig();\n xaxes.rotation = $(this).val();\n const targetTicks = _this.getXTicks();\n targetTicks.minRotation = xaxes.rotation;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const formatGroup = $(`
            `);\n legendGroup.append(formatGroup);\n\n this.formatEditor = $(``);\n formatGroup.append(this.formatEditor);\n this.formatEditor.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.format = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showXTitleRadio = $(``);\n this.displayGroupItx.append(this.showXTitleRadio);\n this.hideXTitleRadio = $(``);\n this.displayGroupItx.append(this.hideXTitleRadio);\n this.showXTitleRadio.children('input').change(function () {\n _this.xTitleGroup.show();\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = true;\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.display = true;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.hideXTitleRadio.children('input').change(function () {\n _this.xTitleGroup.hide();\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = false;\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.display = false;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.xTitleGroup = $(`
            `);\n legendGroup.append(this.xTitleGroup);\n this.xTitleEditor = $(``);\n this.xTitleGroup.append(this.xTitleEditor);\n this.xTitleEditor.change(function () {\n const xaxes = _this.getXAxesConfig();\n let scaleLabel = xaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n xaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.labelString = $(this).val();\n\n const targetScaleLabel = _this.getXScaleLabel();\n targetScaleLabel.labelString = $(this).val();\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.xTitleGroup.hide();\n }\n initYAxes(container) {\n const legendGroup = $(`
            \n ${window.i18n.chart.yAxisConfig}
            `);\n container.append(legendGroup);\n const _this = this;\n const rotationGroup = $(`
            `);\n legendGroup.append(rotationGroup);\n this.yAxesRotationEditor = $(``);\n rotationGroup.append(this.yAxesRotationEditor);\n this.yAxesRotationEditor.change(function () {\n const yaxes = _this.getYAxesConfig();\n yaxes.rotation = $(this).val();\n\n const targetTicks = _this.getYTicks();\n targetTicks.minRotation = yaxes.rotation;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showYTitleRadio = $(``);\n this.displayGroupItx.append(this.showYTitleRadio);\n this.hideYTitleRadio = $(``);\n this.displayGroupItx.append(this.hideYTitleRadio);\n this.showYTitleRadio.children('input').change(function () {\n _this.yTitleGroup.show();\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = true;\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.display = true;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.hideYTitleRadio.children('input').change(function () {\n _this.yTitleGroup.hide();\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.display = false;\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.display = false;\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n\n this.yTitleGroup = $(`
            `);\n legendGroup.append(this.yTitleGroup);\n this.yTitleEditor = $(``);\n this.yTitleGroup.append(this.yTitleEditor);\n this.yTitleEditor.change(function () {\n const yaxes = _this.getYAxesConfig();\n let scaleLabel = yaxes.scaleLabel;\n if (!scaleLabel) {\n scaleLabel = {};\n yaxes.scaleLabel = scaleLabel;\n }\n scaleLabel.labelString = $(this).val();\n\n const targetScaleLabel = _this.getYScaleLabel();\n targetScaleLabel.labelString = $(this).val();\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.yTitleGroup.hide();\n }\n\n getXTicks() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let xAxes = scales.xAxes;\n if (!xAxes) {\n xAxes = [];\n scales.xAxes = xAxes;\n }\n let targetTicks = null;\n for (let axes of xAxes) {\n if (axes.ticks) {\n targetTicks = axes.ticks;\n break;\n }\n }\n if (!targetTicks) {\n targetTicks = {};\n xAxes.push(targetTicks);\n }\n return targetTicks;\n }\n\n getYTicks() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let yAxes = scales.yAxes;\n if (!yAxes) {\n yAxes = [];\n scales.yAxes = yAxes;\n }\n let targetTicks = null;\n for (let axes of yAxes) {\n if (axes.ticks) {\n targetTicks = axes.ticks;\n break;\n }\n }\n if (!targetTicks) {\n targetTicks = {};\n yAxes.push(targetTicks);\n }\n return targetTicks;\n }\n\n getXScaleLabel() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let xAxes = scales.xAxes;\n if (!xAxes) {\n xAxes = [];\n scales.xAxes = xAxes;\n }\n let targetScaleLabel = null;\n for (let axes of xAxes) {\n if (axes.scaleLabel) {\n targetScaleLabel = axes.scaleLabel;\n break;\n }\n }\n if (!targetScaleLabel) {\n targetScaleLabel = {};\n xAxes.push(targetScaleLabel);\n }\n return targetScaleLabel;\n }\n\n getYScaleLabel() {\n const chart = this.cellDef.chartWidget.chart;\n let scales = chart.options.scales;\n if (!scales) {\n scales = {};\n chart.options.scales = scales;\n }\n let yAxes = scales.yAxes;\n if (!yAxes) {\n yAxes = [];\n scales.yAxes = yAxes;\n }\n let targetScaleLabel = null;\n for (let axes of yAxes) {\n if (axes.scaleLabel) {\n targetScaleLabel = axes.scaleLabel;\n break;\n }\n }\n if (!targetScaleLabel) {\n targetScaleLabel = {};\n yAxes.push(targetScaleLabel);\n }\n return targetScaleLabel;\n }\n\n getXAxesConfig() {\n let xaxes = this.cellDef.value.chart.xaxes;\n if (!xaxes) {\n xaxes = {};\n this.cellDef.value.chart.xaxes = xaxes;\n }\n return xaxes;\n }\n getYAxesConfig() {\n let yaxes = this.cellDef.value.chart.yaxes;\n if (!yaxes) {\n yaxes = {};\n this.cellDef.value.chart.yaxes = yaxes;\n }\n return yaxes;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/CategoryChartValueEditor.js?"); /***/ }), @@ -5507,7 +5507,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ChartValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-23.\r\n */\n\n\nclass ChartValueEditor {\n constructor() {}\n initAnimationsOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.motionConfig}
            `);\n container.append(legendGroup);\n const g = $(`
            `);\n legendGroup.append(g);\n this.durationEditor = $(``);\n g.append(this.durationEditor);\n this.durationEditor.change(function () {\n const targetOption = _this.getTargetOption('animation');\n targetOption.duration = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const easingGroup = $(`
            `);\n // g.append(easingGroup);\n\n const easingType = 'linear,easeInQuad,easeOutQuad,easeInOutQuad,easeInCubic,easeOutCubic,easeInOutCubic,easeInQuart,easeOutQuart,easeInOutQuart,easeInQuint,easeOutQuint,easeInOutQuint,easeInSine,easeOutSine,easeInOutSine,easeInExpo,easeOutExpo,easeInOutExpo,easeInCirc,easeOutCirc,easeInOutCirc,easeInElastic,easeOutElastic,easeInOutElastic,easeInBack,easeOutBack,easeInOutBack,easeInBounce,easeOutBounce,easeInOutBounce';\n this.easingSelect = $(``);\n\n for (let type of easingType.split(',')) {\n if (type === 'easeOutQuart') {\n this.easingSelect.append(``);\n } else {\n this.easingSelect.append(``);\n }\n }\n easingGroup.append(this.easingSelect);\n legendGroup.append(easingGroup);\n this.easingSelect.change(function () {\n const targetOption = _this.getTargetOption('animation');\n targetOption.easing = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n initPaddingOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.margin}
            `);\n container.append(legendGroup);\n const upGroup = $(`上:`);\n legendGroup.append(upGroup);\n this.upPaddingEditor = $(``);\n upGroup.append(this.upPaddingEditor);\n this.upPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.top = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const downGroup = $(`${window.i18n.chart.down}:`);\n legendGroup.append(downGroup);\n this.downPaddingEditor = $(``);\n downGroup.append(this.downPaddingEditor);\n this.downPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.bottom = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const leftGroup = $(`${window.i18n.chart.left}:`);\n legendGroup.append(leftGroup);\n this.leftPaddingEditor = $(``);\n leftGroup.append(this.leftPaddingEditor);\n this.leftPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.left = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const rightGroup = $(`${window.i18n.chart.right}:`);\n legendGroup.append(rightGroup);\n this.rightPaddingEditor = $(``);\n rightGroup.append(this.rightPaddingEditor);\n this.rightPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.right = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n initLegendOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.legendConfig}
            `);\n container.append(legendGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showLegendRadio = $(``);\n this.displayGroupItx.append(this.showLegendRadio);\n this.hideLegendRadio = $(``);\n this.displayGroupItx.append(this.hideLegendRadio);\n\n this.showLegendRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.display = true;\n targetOption.position = 'top';\n _this.legendPositionGroup.show();\n _this.legendPositionSelect.val(targetOption.position);\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: true,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.hideLegendRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.display = false;\n _this.legendPositionGroup.hide();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: false\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.legendPositionGroup = $(`${window.i18n.chart.position}`);\n this.displayGroupItx.append(this.legendPositionGroup);\n this.legendPositionSelect = $(``);\n this.legendPositionGroup.append(this.legendPositionSelect);\n this.legendPositionSelect.change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.position = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: true,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n initDataLabelsOption(container) {\n const _this = this;\n const dataLabelsGroup = $(`
            \n 数据标签配置
            `);\n container.append(dataLabelsGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n dataLabelsGroup.append(displayGroup);\n this.showDataLabelsRadio = $(``);\n this.displayGroupItx.append(this.showDataLabelsRadio);\n this.showDataLabelsRadio.children('input').click(function () {\n const dataLabels = _this.getTargetPlugin(\"data-labels\");\n dataLabels.display = true;\n });\n this.hideDataLabelsRadio = $(``);\n this.displayGroupItx.append(this.hideDataLabelsRadio);\n this.hideDataLabelsRadio.children('input').click(function () {\n const dataLabels = _this.getTargetPlugin(\"data-labels\");\n dataLabels.display = false;\n });\n }\n\n initTitleOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.titleConfig}
            `);\n container.append(legendGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showTitleRadio = $(``);\n this.displayGroupItx.append(this.showTitleRadio);\n this.hideTitleRadio = $(``);\n this.displayGroupItx.append(this.hideTitleRadio);\n this.showTitleRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.display = true;\n targetOption.text = '';\n targetOption.position = 'top';\n _this.titleTextGroup.show();\n _this.titleTextEditor.val(targetOption.text);\n _this.titlePositionGroup.show();\n _this.titlePositionSelect.val(targetOption.position);\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: '',\n fontSize: 14,\n position: 'top'\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.hideTitleRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.display = false;\n _this.titleTextGroup.hide();\n _this.titlePositionGroup.hide();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: false\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.titlePositionGroup = $(`${window.i18n.chart.position}`);\n this.displayGroupItx.append(this.titlePositionGroup);\n this.titlePositionSelect = $(``);\n this.titlePositionGroup.append(this.titlePositionSelect);\n this.titlePositionSelect.change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.position = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: targetOption.text,\n fontSize: 14,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.titleTextGroup = $(`
            `);\n displayGroup.append(this.titleTextGroup);\n this.titleTextEditor = $(``);\n this.titleTextGroup.append(this.titleTextEditor);\n this.titleTextEditor.change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.text = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: targetOption.text,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n\n getTargetPlugin(name) {\n let plugins = this.cellDef.value.chart.plugins;\n if (!plugins) {\n plugins = [];\n this.cellDef.value.chart.plugins = plugins;\n }\n let targetPlugin = null;\n for (let plugin of plugins) {\n if (plugin.name === name) {\n targetPlugin = plugin;\n break;\n }\n }\n if (!targetPlugin) {\n targetPlugin = {\n name: name,\n display: false\n };\n plugins.push(targetPlugin);\n }\n return targetPlugin;\n }\n\n getTargetOption(type) {\n let options = this.cellDef.value.chart.options;\n if (!options) {\n options = [];\n this.cellDef.value.chart.options = options;\n }\n let targetOption = null;\n for (let option of options) {\n if (option.type === type) {\n targetOption = option;\n break;\n }\n }\n if (!targetOption) {\n targetOption = {\n type\n };\n options.push(targetOption);\n }\n return targetOption;\n }\n getDatasetConfig() {\n let dataset = this.cellDef.value.chart.dataset;\n if (!dataset) {\n dataset = {};\n this.cellDef.value.chart.dataset = dataset;\n }\n return dataset;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/ChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ChartValueEditor; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-06-23.\n */\n\n\nclass ChartValueEditor {\n constructor() {}\n initAnimationsOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.motionConfig}
            `);\n container.append(legendGroup);\n const g = $(`
            `);\n legendGroup.append(g);\n this.durationEditor = $(``);\n g.append(this.durationEditor);\n this.durationEditor.change(function () {\n const targetOption = _this.getTargetOption('animation');\n targetOption.duration = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const easingGroup = $(`
            `);\n // g.append(easingGroup);\n\n const easingType = 'linear,easeInQuad,easeOutQuad,easeInOutQuad,easeInCubic,easeOutCubic,easeInOutCubic,easeInQuart,easeOutQuart,easeInOutQuart,easeInQuint,easeOutQuint,easeInOutQuint,easeInSine,easeOutSine,easeInOutSine,easeInExpo,easeOutExpo,easeInOutExpo,easeInCirc,easeOutCirc,easeInOutCirc,easeInElastic,easeOutElastic,easeInOutElastic,easeInBack,easeOutBack,easeInOutBack,easeInBounce,easeOutBounce,easeInOutBounce';\n this.easingSelect = $(``);\n\n for (let type of easingType.split(',')) {\n if (type === 'easeOutQuart') {\n this.easingSelect.append(``);\n } else {\n this.easingSelect.append(``);\n }\n }\n easingGroup.append(this.easingSelect);\n legendGroup.append(easingGroup);\n this.easingSelect.change(function () {\n const targetOption = _this.getTargetOption('animation');\n targetOption.easing = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n initPaddingOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.margin}
            `);\n container.append(legendGroup);\n const upGroup = $(`上:`);\n legendGroup.append(upGroup);\n this.upPaddingEditor = $(``);\n upGroup.append(this.upPaddingEditor);\n this.upPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.top = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const downGroup = $(`${window.i18n.chart.down}:`);\n legendGroup.append(downGroup);\n this.downPaddingEditor = $(``);\n downGroup.append(this.downPaddingEditor);\n this.downPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.bottom = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const leftGroup = $(`${window.i18n.chart.left}:`);\n legendGroup.append(leftGroup);\n this.leftPaddingEditor = $(``);\n leftGroup.append(this.leftPaddingEditor);\n this.leftPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.left = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n const rightGroup = $(`${window.i18n.chart.right}:`);\n legendGroup.append(rightGroup);\n this.rightPaddingEditor = $(``);\n rightGroup.append(this.rightPaddingEditor);\n this.rightPaddingEditor.change(function () {\n const targetOption = _this.getTargetOption('layout');\n if (!targetOption.padding) {\n targetOption.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n targetOption.padding.right = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.layout = {\n padding: targetOption.padding\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n initLegendOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.legendConfig}
            `);\n container.append(legendGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showLegendRadio = $(``);\n this.displayGroupItx.append(this.showLegendRadio);\n this.hideLegendRadio = $(``);\n this.displayGroupItx.append(this.hideLegendRadio);\n\n this.showLegendRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.display = true;\n targetOption.position = 'top';\n _this.legendPositionGroup.show();\n _this.legendPositionSelect.val(targetOption.position);\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: true,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.hideLegendRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.display = false;\n _this.legendPositionGroup.hide();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: false\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.legendPositionGroup = $(`${window.i18n.chart.position}`);\n this.displayGroupItx.append(this.legendPositionGroup);\n this.legendPositionSelect = $(``);\n this.legendPositionGroup.append(this.legendPositionSelect);\n this.legendPositionSelect.change(function () {\n const targetOption = _this.getTargetOption('legend');\n targetOption.position = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.legend = {\n display: true,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n }\n\n initDataLabelsOption(container) {\n const _this = this;\n const dataLabelsGroup = $(`
            \n 数据标签配置
            `);\n container.append(dataLabelsGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n dataLabelsGroup.append(displayGroup);\n this.showDataLabelsRadio = $(``);\n this.displayGroupItx.append(this.showDataLabelsRadio);\n this.showDataLabelsRadio.children('input').click(function () {\n const dataLabels = _this.getTargetPlugin(\"data-labels\");\n dataLabels.display = true;\n });\n this.hideDataLabelsRadio = $(``);\n this.displayGroupItx.append(this.hideDataLabelsRadio);\n this.hideDataLabelsRadio.children('input').click(function () {\n const dataLabels = _this.getTargetPlugin(\"data-labels\");\n dataLabels.display = false;\n });\n }\n\n initTitleOption(container) {\n const _this = this;\n const legendGroup = $(`
            \n ${window.i18n.chart.titleConfig}
            `);\n container.append(legendGroup);\n const displayGroup = $(`
            `);\n this.displayGroupItx = $(`
            `);\n displayGroup.append(this.displayGroupItx);\n legendGroup.append(displayGroup);\n this.showTitleRadio = $(``);\n this.displayGroupItx.append(this.showTitleRadio);\n this.hideTitleRadio = $(``);\n this.displayGroupItx.append(this.hideTitleRadio);\n this.showTitleRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.display = true;\n targetOption.text = '';\n targetOption.position = 'top';\n _this.titleTextGroup.show();\n _this.titleTextEditor.val(targetOption.text);\n _this.titlePositionGroup.show();\n _this.titlePositionSelect.val(targetOption.position);\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: '',\n fontSize: 14,\n position: 'top'\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.hideTitleRadio.children('input').change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.display = false;\n _this.titleTextGroup.hide();\n _this.titlePositionGroup.hide();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: false\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.titlePositionGroup = $(`${window.i18n.chart.position}`);\n this.displayGroupItx.append(this.titlePositionGroup);\n this.titlePositionSelect = $(``);\n this.titlePositionGroup.append(this.titlePositionSelect);\n this.titlePositionSelect.change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.position = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: targetOption.text,\n fontSize: 14,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n\n this.titleTextGroup = $(`
            `);\n displayGroup.append(this.titleTextGroup);\n this.titleTextEditor = $(``);\n this.titleTextGroup.append(this.titleTextEditor);\n this.titleTextEditor.change(function () {\n const targetOption = _this.getTargetOption('title');\n targetOption.text = $(this).val();\n const chart = _this.cellDef.chartWidget.chart;\n chart.options.title = {\n display: true,\n text: targetOption.text,\n position: targetOption.position\n };\n _this.cellDef.chartWidget.chart.update();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n });\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n\n getTargetPlugin(name) {\n let plugins = this.cellDef.value.chart.plugins;\n if (!plugins) {\n plugins = [];\n this.cellDef.value.chart.plugins = plugins;\n }\n let targetPlugin = null;\n for (let plugin of plugins) {\n if (plugin.name === name) {\n targetPlugin = plugin;\n break;\n }\n }\n if (!targetPlugin) {\n targetPlugin = {\n name: name,\n display: false\n };\n plugins.push(targetPlugin);\n }\n return targetPlugin;\n }\n\n getTargetOption(type) {\n let options = this.cellDef.value.chart.options;\n if (!options) {\n options = [];\n this.cellDef.value.chart.options = options;\n }\n let targetOption = null;\n for (let option of options) {\n if (option.type === type) {\n targetOption = option;\n break;\n }\n }\n if (!targetOption) {\n targetOption = {\n type\n };\n options.push(targetOption);\n }\n return targetOption;\n }\n getDatasetConfig() {\n let dataset = this.cellDef.value.chart.dataset;\n if (!dataset) {\n dataset = {};\n this.cellDef.value.chart.dataset = dataset;\n }\n return dataset;\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/ChartValueEditor.js?"); /***/ }), @@ -5519,7 +5519,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DoughnutChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass DoughnutChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'doughnut');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/DoughnutChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DoughnutChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass DoughnutChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'doughnut');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/DoughnutChartValueEditor.js?"); /***/ }), @@ -5531,7 +5531,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HorizontalBarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass HorizontalBarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'horbar');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/HorizontalBarChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HorizontalBarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass HorizontalBarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'horbar');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/HorizontalBarChartValueEditor.js?"); /***/ }), @@ -5543,7 +5543,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return LineChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass LineChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'line');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/LineChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return LineChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass LineChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'line');\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/LineChartValueEditor.js?"); /***/ }), @@ -5555,7 +5555,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PieChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass PieChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'pie');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/PieChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PieChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass PieChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'pie');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/PieChartValueEditor.js?"); /***/ }), @@ -5567,7 +5567,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PolarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass PolarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'polar');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/PolarChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PolarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass PolarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'polar');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/PolarChartValueEditor.js?"); /***/ }), @@ -5579,7 +5579,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RadarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\nclass RadarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'radar');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/RadarChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RadarChartValueEditor; });\n/* harmony import */ var _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BarChartValueEditor.js */ \"./src/panel/property/chart/BarChartValueEditor.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\nclass RadarChartValueEditor extends _BarChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super(parentContainer, context, 'radar');\n this.axisLI.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/RadarChartValueEditor.js?"); /***/ }), @@ -5591,7 +5591,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ScatterChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-06-27.\r\n */\n\n\n\nclass ScatterChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
            `);\n parentContainer.append(this.container);\n const tabUL = $(`
              `);\n this.container.append(tabUL);\n const dsLI = $(`
            • ${window.i18n.chart.datasetBind}
            • `);\n tabUL.append(dsLI);\n const optionLI = $(`
            • ${window.i18n.chart.option}
            • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
            • ${window.i18n.chart.axisConfig}
            • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
              `);\n this.container.append(tabContent);\n\n const dsContent = $(`
              `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
              `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
              `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n const _this = this;\n const legendGroup = $(`
              \n ${window.i18n.chart.propBindConfig}
              `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
              `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
              `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const xPropertyGroup = $(`
              `);\n this.xPropertySelect = $(``);\n xPropertyGroup.append(this.xPropertySelect);\n xPropertyGroup.append(xPropertyGroup);\n this.xPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.xProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(xPropertyGroup);\n\n const yPropertyGroup = $(`
              `);\n this.yPropertySelect = $(``);\n yPropertyGroup.append(this.yPropertySelect);\n yPropertyGroup.append(yPropertyGroup);\n this.yPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.yProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(yPropertyGroup);\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.xPropertySelect.empty();\n _this.yPropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n _initOptionTab(optionContent) {\n const group = $(`
              `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initDataLabelsOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.xPropertySelect.val(dataset.xProperty);\n this.yPropertySelect.val(dataset.yProperty);\n\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || {\n rotation: 0,\n xposition: 'left'\n };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.xaxes || {\n rotation: 0,\n yposition: 'bottom'\n };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/ScatterChartValueEditor.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ScatterChartValueEditor; });\n/* harmony import */ var _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CategoryChartValueEditor.js */ \"./src/panel/property/chart/CategoryChartValueEditor.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-06-27.\n */\n\n\n\nclass ScatterChartValueEditor extends _CategoryChartValueEditor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(parentContainer, context) {\n super();\n this.context = context;\n this.container = $(`
              `);\n parentContainer.append(this.container);\n const tabUL = $(`
                `);\n this.container.append(tabUL);\n const dsLI = $(`
              • ${window.i18n.chart.datasetBind}
              • `);\n tabUL.append(dsLI);\n const optionLI = $(`
              • ${window.i18n.chart.option}
              • `);\n tabUL.append(optionLI);\n this.axisLI = $(`
              • ${window.i18n.chart.axisConfig}
              • `);\n tabUL.append(this.axisLI);\n const tabContent = $(`
                `);\n this.container.append(tabContent);\n\n const dsContent = $(`
                `);\n tabContent.append(dsContent);\n this._initDatasetTab(dsContent);\n\n const optionContent = $(`
                `);\n tabContent.append(optionContent);\n this._initOptionTab(optionContent);\n\n const axisContent = $(`
                `);\n tabContent.append(axisContent);\n this._initAxisTab(axisContent);\n this.container.hide();\n }\n _initDatasetTab(dsContent) {\n const _this = this;\n const legendGroup = $(`
                \n ${window.i18n.chart.propBindConfig}
                `);\n dsContent.append(legendGroup);\n\n const datasetGroup = $(`
                `);\n legendGroup.append(datasetGroup);\n this.datasetSelect = $(``);\n datasetGroup.append(this.datasetSelect);\n\n const categoryPropertyGroup = $(`
                `);\n this.categoryPropertySelect = $(``);\n categoryPropertyGroup.append(this.categoryPropertySelect);\n datasetGroup.append(categoryPropertyGroup);\n this.categoryPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.categoryProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const xPropertyGroup = $(`
                `);\n this.xPropertySelect = $(``);\n xPropertyGroup.append(this.xPropertySelect);\n xPropertyGroup.append(xPropertyGroup);\n this.xPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.xProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(xPropertyGroup);\n\n const yPropertyGroup = $(`
                `);\n this.yPropertySelect = $(``);\n yPropertyGroup.append(this.yPropertySelect);\n yPropertyGroup.append(yPropertyGroup);\n this.yPropertySelect.change(function () {\n const dataset = _this.getDatasetConfig();\n dataset.yProperty = $(this).val();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n legendGroup.append(yPropertyGroup);\n\n this.datasetSelect.change(function () {\n _this.categoryPropertySelect.empty();\n _this.xPropertySelect.empty();\n _this.yPropertySelect.empty();\n const dsName = $(this).val();\n let fields = [];\n for (let ds of _this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n if (dataset.name === dsName) {\n fields = dataset.fields || [];\n break;\n }\n }\n if (fields.length > 0) {\n break;\n }\n }\n for (let field of fields) {\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n }\n _this.categoryPropertySelect.append(``);\n _this.xPropertySelect.append(``);\n _this.yPropertySelect.append(``);\n const dataset = _this.getDatasetConfig();\n dataset.datasetName = dsName;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n _initOptionTab(optionContent) {\n const group = $(`
                `);\n optionContent.append(group);\n this.initTitleOption(group);\n this.initLegendOption(group);\n this.initDataLabelsOption(group);\n this.initAnimationsOption(group);\n }\n _initAxisTab(axisContent) {\n this.initXAxes(axisContent);\n this.initYAxes(axisContent);\n }\n show(cellDef, rowIndex, colIndex, row2Index, col2Index) {\n this.cellDef = cellDef;\n this.rowIndex = rowIndex;\n this.colIndex = colIndex;\n this.container.show();\n const chart = cellDef.value.chart;\n this.datasetSelect.empty();\n this.datasources = this.context.reportDef.datasources;\n for (let ds of this.datasources) {\n let datasets = ds.datasets || [];\n for (let dataset of datasets) {\n this.datasetSelect.append(``);\n }\n }\n this.datasetSelect.append(``);\n const dataset = chart.dataset;\n this.datasetSelect.val(dataset.datasetName);\n this.datasetSelect.trigger('change');\n this.categoryPropertySelect.val(dataset.categoryProperty);\n this.xPropertySelect.val(dataset.xProperty);\n this.yPropertySelect.val(dataset.yProperty);\n\n this.formatEditor.val(dataset.format);\n\n const xaxes = chart.xaxes || {\n rotation: 0,\n xposition: 'left'\n };\n this.xAxesRotationEditor.val(xaxes.rotation);\n const xScaleLabel = xaxes.scaleLabel || {};\n if (xScaleLabel.display) {\n this.showXTitleRadio.trigger('click');\n this.xTitleEditor.val(xScaleLabel.labelString);\n } else {\n this.hideXTitleRadio.trigger('click');\n }\n\n const yaxes = chart.xaxes || {\n rotation: 0,\n yposition: 'bottom'\n };\n this.yAxesRotationEditor.val(yaxes.rotation);\n const yScaleLabel = yaxes.scaleLabel || {};\n if (yScaleLabel.display) {\n this.showYTitleRadio.trigger('click');\n this.yTitleEditor.val(yScaleLabel.labelString);\n } else {\n this.hideYTitleRadio.trigger('click');\n }\n\n const options = chart.options || [];\n for (let option of options) {\n switch (option.type) {\n case \"animation\":\n this.durationEditor.val(option.duration);\n this.easingSelect.val(option.easing);\n break;\n case \"title\":\n if (option.display) {\n this.showTitleRadio.children('input').attr('checked', true);\n this.titlePositionSelect.val(option.position);\n this.titleTextEditor.val(option.text);\n this.titleTextGroup.show();\n this.titlePositionGroup.show();\n } else {\n this.hideTitleRadio.children('input').attr('checked', true);\n this.titleTextGroup.hide();\n this.titlePositionGroup.hide();\n }\n break;\n case \"layout\":\n const layout = option.layout || {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.upPaddingEditor.val(layout.top);\n this.downPaddingEditor.val(layout.bottom);\n this.leftPaddingEditor.val(layout.left);\n this.rightPaddingEditor.val(layout.right);\n break;\n case \"legend\":\n if (option.display) {\n this.showLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.show();\n this.legendPositionSelect.val(option.position);\n } else {\n this.hideLegendRadio.children('input').attr('checked', true);\n this.legendPositionGroup.hide();\n }\n break;\n }\n }\n }\n hide() {\n this.container.hide();\n }\n}\n\n//# sourceURL=webpack:///./src/panel/property/chart/ScatterChartValueEditor.js?"); /***/ }), @@ -5603,7 +5603,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"afterRenderer\", function() { return afterRenderer; });\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var _widget_ChartWidget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget/ChartWidget.js */ \"./src/widget/ChartWidget.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-31.\r\n */\n\n\n\nfunction afterRenderer(td, row, col, prop, value, cellProperties) {\n if (!this.context) {\n return;\n }\n let cellDef = this.context.getCell(row, col);\n if (!cellDef) {\n return;\n }\n\n const cellStyle = cellDef.cellStyle,\n cellValue = cellDef.value;\n const $td = $(td),\n valueType = cellValue.type;\n let tip = '';\n if (valueType === 'dataset') {\n tip = cellValue.datasetName + \".\" + cellValue.aggregate + \"(\";\n let prop = cellValue.property;\n tip += prop + \")\";\n if ($td.html() === '') {\n $td.html(tip);\n }\n } else if (valueType === 'expression') {\n tip = cellValue.value || '';\n if ($td.html() === '') {\n $td.html(tip);\n }\n } else if (valueType === 'image') {\n tip = `${window.i18n.table.render.image}` + cellValue.value;\n const imagePath = './icons/image.svg';\n const image = $(``);\n $td.empty();\n $td.append(image);\n } else if (valueType === 'slash') {\n tip = `${window.i18n.table.render.slash}`;\n if (!cellDef.crossTabWidget) {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.context, row, col, cellDef);\n }\n cellDef.crossTabWidget.doDraw(cellDef, row, col);\n } else if (valueType === 'zxing') {\n let imagePath = './icons/qrcode.svg';\n tip = `${window.i18n.table.render.qrcode}`;\n if (cellValue.category === 'barcode') {\n tip = `${window.i18n.table.render.barcode}`;\n imagePath = './icons/barcode.svg';\n }\n const width = cellValue.width,\n height = cellValue.height;\n const image = $(``);\n $td.empty();\n $td.append(image);\n } else if (valueType === 'chart') {\n tip = `${window.i18n.table.render.chart}`;\n if (!cellDef.chartWidget) {\n cellDef.chartWidget = new _widget_ChartWidget_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]($td, cellDef);\n }\n cellDef.chartWidget.renderChart($td, this.context, row, col);\n } else {\n tip = cellValue.value || \"\";\n if ($td.html() === '') {\n $td.html(tip);\n }\n }\n $td.prop('title', tip);\n if (valueType === \"simple\") {\n let text = $td.text();\n if (text && text !== \"\") {\n text = text.replace(new RegExp('<', 'gm'), '<');\n text = text.replace(new RegExp('>', 'gm'), '>');\n text = text.replace(new RegExp('\\r\\n', 'gm'), '
                ');\n text = text.replace(new RegExp('\\n', 'gm'), '
                ');\n text = text.replace(new RegExp(' ', 'gm'), ' ');\n $td.html(text);\n }\n }\n $td.css({\n 'word-break': 'break-all',\n 'line-height': 'normal',\n 'white-space': 'nowrap',\n padding: '0 1px'\n });\n if (cellDef.expand === 'Down') {\n let url = \"./icons/expr-expand-down.svg\";\n if (valueType === 'dataset') {\n url = \"./icons/expand-down.svg\";\n }\n $td.prepend(``);\n } else if (cellDef.expand === 'Right') {\n let url = \"./icons/expr-expand-right.svg\";\n if (valueType === 'dataset') {\n url = \"./icons/expand-right.svg\";\n }\n $td.prepend(``);\n } else {\n if (valueType === 'dataset') {\n let url = \"./icons/property.svg\";\n $td.prepend(``);\n } else if (valueType === 'expression') {\n let url = \"./icons/expression.svg\";\n $td.prepend(``);\n }\n }\n if (cellStyle.align) {\n $td.css(\"text-align\", cellStyle.align);\n }\n if (cellStyle.valign) {\n $td.css(\"vertical-align\", cellStyle.valign);\n }\n if (cellStyle.bold) {\n $td.css(\"font-weight\", 'bold');\n }\n if (cellStyle.italic) {\n $td.css(\"font-style\", 'italic');\n }\n if (cellStyle.underline) {\n $td.css(\"text-decoration\", 'underline');\n }\n if (cellStyle.forecolor) {\n $td.css(\"color\", \"rgb(\" + cellStyle.forecolor + \")\");\n }\n if (cellStyle.bgcolor) {\n $td.css(\"background-color\", \"rgb(\" + cellStyle.bgcolor + \")\");\n }\n if (cellStyle.fontSize) {\n $td.css(\"font-size\", cellStyle.fontSize + \"pt\");\n }\n if (cellStyle.fontFamily) {\n $td.css(\"font-family\", cellStyle.fontFamily);\n }\n if (cellStyle.lineHeight) {\n $td.css('line-height', cellStyle.lineHeight);\n } else {\n $td.css('line-height', '');\n }\n\n const leftBorder = cellStyle.leftBorder;\n if (leftBorder) {\n if (leftBorder === '' || leftBorder.style === \"none\") {\n $td.css({\n 'border-left': ''\n });\n } else {\n let borderStyle = 'double';\n let borderWidth = leftBorder.width;\n if (borderWidth === null || borderWidth === undefined || borderWidth === '') {\n borderWidth = 0;\n } else {\n borderWidth = parseInt(borderWidth);\n }\n if (leftBorder.style !== 'solid' && borderWidth > 0) {\n borderStyle = leftBorder.style;\n borderWidth++;\n }\n let style = borderStyle + \" \" + borderWidth + \"px rgb(\" + leftBorder.color + \")\";\n $td.css({\n 'border-left': style\n });\n }\n }\n\n const rightBorder = cellStyle.rightBorder;\n if (rightBorder) {\n if (rightBorder === '' || rightBorder.style === \"none\") {\n $td.css({\n 'border-right': ''\n });\n } else {\n let style = rightBorder.style + \" \" + rightBorder.width + \"px rgb(\" + rightBorder.color + \")\";\n $td.css({\n 'border-right': style\n });\n }\n }\n const topBorder = cellStyle.topBorder;\n if (topBorder) {\n if (topBorder === '' || topBorder.style === \"none\") {\n $td.css({\n 'border-top': ''\n });\n } else {\n let borderStyle = 'double';\n let borderWidth = topBorder.width;\n if (borderWidth === null || borderWidth === undefined || borderWidth === '') {\n borderWidth = 0;\n } else {\n borderWidth = parseInt(borderWidth);\n }\n if (topBorder.style !== 'solid' && borderWidth > 0) {\n borderStyle = topBorder.style;\n borderWidth++;\n }\n let style = borderStyle + \" \" + borderWidth + \"px rgb(\" + topBorder.color + \")\";\n $td.css({\n 'border-top': style\n });\n }\n }\n const bottomBorder = cellStyle.bottomBorder;\n if (bottomBorder) {\n if (bottomBorder === '' || bottomBorder.style === \"none\") {\n $td.css({\n 'border-bottom': ''\n });\n } else {\n let style = bottomBorder.style + \" \" + bottomBorder.width + \"px rgb(\" + bottomBorder.color + \")\";\n $td.css({\n 'border-bottom': style\n });\n }\n }\n};\n\n//# sourceURL=webpack:///./src/table/CellRenderer.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"afterRenderer\", function() { return afterRenderer; });\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var _widget_ChartWidget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget/ChartWidget.js */ \"./src/widget/ChartWidget.js\");\n/**\n * Created by Jacky.Gao on 2017-01-31.\n */\n\n\n\nfunction afterRenderer(td, row, col, prop, value, cellProperties) {\n if (!this.context) {\n return;\n }\n let cellDef = this.context.getCell(row, col);\n if (!cellDef) {\n return;\n }\n\n const cellStyle = cellDef.cellStyle,\n cellValue = cellDef.value;\n const $td = $(td),\n valueType = cellValue.type;\n let tip = '';\n if (valueType === 'dataset') {\n tip = cellValue.datasetName + \".\" + cellValue.aggregate + \"(\";\n let prop = cellValue.property;\n tip += prop + \")\";\n if ($td.html() === '') {\n $td.html(tip);\n }\n } else if (valueType === 'expression') {\n tip = cellValue.value || '';\n if ($td.html() === '') {\n $td.html(tip);\n }\n } else if (valueType === 'image') {\n tip = `${window.i18n.table.render.image}` + cellValue.value;\n const imagePath = './icons/image.svg';\n const image = $(``);\n $td.empty();\n $td.append(image);\n } else if (valueType === 'slash') {\n tip = `${window.i18n.table.render.slash}`;\n if (!cellDef.crossTabWidget) {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.context, row, col, cellDef);\n }\n cellDef.crossTabWidget.doDraw(cellDef, row, col);\n } else if (valueType === 'zxing') {\n let imagePath = './icons/qrcode.svg';\n tip = `${window.i18n.table.render.qrcode}`;\n if (cellValue.category === 'barcode') {\n tip = `${window.i18n.table.render.barcode}`;\n imagePath = './icons/barcode.svg';\n }\n const width = cellValue.width,\n height = cellValue.height;\n const image = $(``);\n $td.empty();\n $td.append(image);\n } else if (valueType === 'chart') {\n tip = `${window.i18n.table.render.chart}`;\n if (!cellDef.chartWidget) {\n cellDef.chartWidget = new _widget_ChartWidget_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]($td, cellDef);\n }\n cellDef.chartWidget.renderChart($td, this.context, row, col);\n } else {\n tip = cellValue.value || \"\";\n if ($td.html() === '') {\n $td.html(tip);\n }\n }\n $td.prop('title', tip);\n if (valueType === \"simple\") {\n let text = $td.text();\n if (text && text !== \"\") {\n text = text.replace(new RegExp('<', 'gm'), '<');\n text = text.replace(new RegExp('>', 'gm'), '>');\n text = text.replace(new RegExp('\\r\\n', 'gm'), '
                ');\n text = text.replace(new RegExp('\\n', 'gm'), '
                ');\n text = text.replace(new RegExp(' ', 'gm'), ' ');\n $td.html(text);\n }\n }\n $td.css({\n 'word-break': 'break-all',\n 'line-height': 'normal',\n 'white-space': 'nowrap',\n padding: '0 1px'\n });\n if (cellDef.expand === 'Down') {\n let url = \"./icons/expr-expand-down.svg\";\n if (valueType === 'dataset') {\n url = \"./icons/expand-down.svg\";\n }\n $td.prepend(``);\n } else if (cellDef.expand === 'Right') {\n let url = \"./icons/expr-expand-right.svg\";\n if (valueType === 'dataset') {\n url = \"./icons/expand-right.svg\";\n }\n $td.prepend(``);\n } else {\n if (valueType === 'dataset') {\n let url = \"./icons/property.svg\";\n $td.prepend(``);\n } else if (valueType === 'expression') {\n let url = \"./icons/expression.svg\";\n $td.prepend(``);\n }\n }\n if (cellStyle.align) {\n $td.css(\"text-align\", cellStyle.align);\n }\n if (cellStyle.valign) {\n $td.css(\"vertical-align\", cellStyle.valign);\n }\n if (cellStyle.bold) {\n $td.css(\"font-weight\", 'bold');\n }\n if (cellStyle.italic) {\n $td.css(\"font-style\", 'italic');\n }\n if (cellStyle.underline) {\n $td.css(\"text-decoration\", 'underline');\n }\n if (cellStyle.forecolor) {\n $td.css(\"color\", \"rgb(\" + cellStyle.forecolor + \")\");\n }\n if (cellStyle.bgcolor) {\n $td.css(\"background-color\", \"rgb(\" + cellStyle.bgcolor + \")\");\n }\n if (cellStyle.fontSize) {\n $td.css(\"font-size\", cellStyle.fontSize + \"pt\");\n }\n if (cellStyle.fontFamily) {\n $td.css(\"font-family\", cellStyle.fontFamily);\n }\n if (cellStyle.lineHeight) {\n $td.css('line-height', cellStyle.lineHeight);\n } else {\n $td.css('line-height', '');\n }\n\n const leftBorder = cellStyle.leftBorder;\n if (leftBorder) {\n if (leftBorder === '' || leftBorder.style === \"none\") {\n $td.css({\n 'border-left': ''\n });\n } else {\n let borderStyle = 'double';\n let borderWidth = leftBorder.width;\n if (borderWidth === null || borderWidth === undefined || borderWidth === '') {\n borderWidth = 0;\n } else {\n borderWidth = parseInt(borderWidth);\n }\n if (leftBorder.style !== 'solid' && borderWidth > 0) {\n borderStyle = leftBorder.style;\n borderWidth++;\n }\n let style = borderStyle + \" \" + borderWidth + \"px rgb(\" + leftBorder.color + \")\";\n $td.css({\n 'border-left': style\n });\n }\n }\n\n const rightBorder = cellStyle.rightBorder;\n if (rightBorder) {\n if (rightBorder === '' || rightBorder.style === \"none\") {\n $td.css({\n 'border-right': ''\n });\n } else {\n let style = rightBorder.style + \" \" + rightBorder.width + \"px rgb(\" + rightBorder.color + \")\";\n $td.css({\n 'border-right': style\n });\n }\n }\n const topBorder = cellStyle.topBorder;\n if (topBorder) {\n if (topBorder === '' || topBorder.style === \"none\") {\n $td.css({\n 'border-top': ''\n });\n } else {\n let borderStyle = 'double';\n let borderWidth = topBorder.width;\n if (borderWidth === null || borderWidth === undefined || borderWidth === '') {\n borderWidth = 0;\n } else {\n borderWidth = parseInt(borderWidth);\n }\n if (topBorder.style !== 'solid' && borderWidth > 0) {\n borderStyle = topBorder.style;\n borderWidth++;\n }\n let style = borderStyle + \" \" + borderWidth + \"px rgb(\" + topBorder.color + \")\";\n $td.css({\n 'border-top': style\n });\n }\n }\n const bottomBorder = cellStyle.bottomBorder;\n if (bottomBorder) {\n if (bottomBorder === '' || bottomBorder.style === \"none\") {\n $td.css({\n 'border-bottom': ''\n });\n } else {\n let style = bottomBorder.style + \" \" + bottomBorder.width + \"px rgb(\" + bottomBorder.color + \")\";\n $td.css({\n 'border-bottom': style\n });\n }\n }\n};\n\n//# sourceURL=webpack:///./src/table/CellRenderer.js?"); /***/ }), @@ -5615,7 +5615,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMenuConfigure; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./operation/InsertRowOperation.js */ \"./src/table/operation/InsertRowOperation.js\");\n/* harmony import */ var _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operation/InsertColOperation.js */ \"./src/table/operation/InsertColOperation.js\");\n/* harmony import */ var _operation_DeleteRowOperation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./operation/DeleteRowOperation.js */ \"./src/table/operation/DeleteRowOperation.js\");\n/* harmony import */ var _operation_DeleteColOperation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./operation/DeleteColOperation.js */ \"./src/table/operation/DeleteColOperation.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dialog/RowColWidthHeightDialog.js */ \"./src/dialog/RowColWidthHeightDialog.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_7__);\n/**\r\n * Created by Jacky.Gao on 2017-01-31.\r\n */\n\n\n\n\n\n\n\n\n\nfunction buildMenuConfigure() {\n return {\n callback: function (key, options) {\n const _this = this;\n if (key === 'insert_row_above') {\n _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"doInsertRow\"].call(this, true);\n } else if (key === 'insert_row_below') {\n _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"doInsertRow\"].call(this);\n } else if (key === 'insert_col_left') {\n _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__[\"doInsertCol\"].call(this, true);\n } else if (key === 'insert_col_right') {\n _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__[\"doInsertCol\"].call(this);\n } else if (key === 'del_row') {\n _operation_DeleteRowOperation_js__WEBPACK_IMPORTED_MODULE_3__[\"doDeleteRow\"].call(this);\n } else if (key === 'del_col') {\n _operation_DeleteColOperation_js__WEBPACK_IMPORTED_MODULE_4__[\"doDeleteCol\"].call(this);\n } else if (key === 'clean_content') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'content');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'content');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'content');\n }\n });\n } else if (key === 'clean_style') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'style');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'style');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'style');\n }\n });\n } else if (key === 'clean') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'all');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'all');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'all');\n }\n });\n } else if (key === 'repeat_row_header') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'headerrepeat');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'title_row') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'title');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'repeat_row_footer') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'footerrepeat');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'summary_row') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'summary');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'repeat_cancel') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.adjustDelRowHeaders(rowNumber);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'row_height') {\n const selected = this.getSelected();\n const startRow = selected[0];\n const rowHeight = this.getRowHeight(startRow);\n const dialog = new _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n dialog.show(function (newHeight) {\n const rowHeights = _this.getSettings().rowHeights;\n rowHeights.splice(startRow, 1, newHeight);\n _this.updateSettings({\n rowHeights: rowHeights,\n manualRowResize: rowHeights\n });\n }, rowHeight, false);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'col_width') {\n const selected = this.getSelected();\n const startCol = selected[1];\n const colWidth = this.getColWidth(startCol);\n const dialog = new _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n dialog.show(function (newColWidth) {\n const colWidths = _this.getSettings().colWidths;\n colWidths.splice(startCol, 1, newColWidth);\n _this.updateSettings({\n colWidths: colWidths,\n manualColumnResize: colWidths\n });\n }, colWidth, true);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'copy_style') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let cell = _this.context.getCell(startRow, startCol);\n if (!cell) {\n alert(\"请先选中目标单元格!\");\n return;\n }\n window.__copy_cell_style__ = cell.cellStyle;\n } else if (key === 'paste_style') {\n if (!window.__copy_cell_style__) {\n alert('请先复制目标单元格样式');\n return;\n }\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let oldCellsStyleMap = pasteStyle(_this.context, startRow, endRow, startCol, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n oldCellsStyleMap = pasteStyle(_this.context, startRow, endRow, startCol, endCol);\n },\n undo: function () {\n undoPasteStyle(_this.context, startRow, endRow, startCol, endCol, oldCellsStyleMap);\n }\n });\n }\n },\n items: {\n \"insert_row_above\": {\n name: ` ${window.i18n.table.contextMenu.insertRowUp}`\n },\n \"insert_row_below\": {\n name: ` ${window.i18n.table.contextMenu.insertRowDown}`\n },\n \"insert_col_left\": {\n name: ` ${window.i18n.table.contextMenu.insertColBefore}`\n },\n \"insert_col_right\": {\n name: ` ${window.i18n.table.contextMenu.insertColAfter}`\n },\n \"del_row\": {\n name: ` ${window.i18n.table.contextMenu.delRow}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"del_col\": {\n name: ` ${window.i18n.table.contextMenu.delCol}`,\n disabled: checkColDeleteOperationDisabled\n },\n \"row_height\": {\n name: ` ${window.i18n.table.contextMenu.rowHeight}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"col_width\": {\n name: ` ${window.i18n.table.contextMenu.colWidth}`,\n disabled: checkColDeleteOperationDisabled\n },\n \"title_row\": {\n name: ` ${window.i18n.table.contextMenu.title}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_row_header\": {\n name: ` ${window.i18n.table.contextMenu.repeatHeader}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_row_footer\": {\n name: ` ${window.i18n.table.contextMenu.repeatFooter}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"summary_row\": {\n name: ` ${window.i18n.table.contextMenu.summary}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_cancel\": {\n name: ` ${window.i18n.table.contextMenu.cancel}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"copy_style\": {\n name: ` ${window.i18n.table.contextMenu.copy}`,\n disabled: checkCopyOperationDisabled\n },\n \"paste_style\": {\n name: ` ${window.i18n.table.contextMenu.paste}`,\n disabled: checkPasteOperationDisabled\n },\n \"clean_content\": {\n name: ` ${window.i18n.table.contextMenu.clearContent}`,\n disabled: checkCleanOperationDisabled\n },\n \"clean_style\": {\n name: ` ${window.i18n.table.contextMenu.clearStyle}`,\n disabled: checkCleanOperationDisabled\n },\n \"clean\": {\n name: ` ${window.i18n.table.contextMenu.clearAll}`,\n disabled: checkCleanOperationDisabled\n }\n }\n };\n\n function undoCleanCells(context, startRow, endRow, startCol, endCol, removeCellsMap, type) {\n let cellsMap = context.cellsMap,\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (type === 'content') {\n let orgValue = removeCellsMap.get(key);\n if (!orgValue) {\n alert(`${window.i18n.table.contextMenu.cancelConetntFail}`);\n return;\n }\n cell.value = orgValue;\n let value = cell.value;\n let valueType = value.type;\n let text = value.value;\n if (valueType === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n }\n hot.setDataAtCell(i, j, text);\n } else if (type === 'style') {\n let orgStyle = removeCellsMap.get(key);\n if (!orgStyle) {\n alert(`${window.i18n.table.contextMenu.cancelStyleFail}`);\n return;\n }\n cell.cellStyle = orgStyle;\n } else if (type === 'all') {\n context.removeCell(cell);\n let orgCell = removeCellsMap.get(key);\n if (!orgCell) {\n alert(`${window.i18n.table.contextMenu.cancelClearFail}`);\n return;\n }\n context.addCell(orgCell);\n let value = orgCell.value;\n let valueType = value.type;\n let text = value.value;\n if (valueType === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n }\n hot.setDataAtCell(i, j, text);\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n };\n\n function undoPasteStyle(context, startRow, endRow, startCol, endCol, oldStyleMap) {\n const style = window.__copy_cell_style__;\n let cellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n const oldStyle = oldStyleMap.get(key);\n if (oldStyle) {\n cell.cellStyle = oldStyle;\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return cellsMap;\n };\n\n function pasteStyle(context, startRow, endRow, startCol, endCol) {\n const style = window.__copy_cell_style__;\n let cellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (!cell.cellStyle) {\n cell.cellStyle = {};\n }\n const oldStyle = JSON.parse(JSON.stringify(cell.cellStyle));\n cellsMap.set(key, oldStyle);\n cell.cellStyle.fontSize = style.fontSize;\n cell.cellStyle.forecolor = style.forecolor;\n cell.cellStyle.fontFamily = style.fontFamily;\n cell.cellStyle.valign = style.valign;\n cell.cellStyle.align = style.align;\n cell.cellStyle.bgcolor = style.bgcolor;\n cell.cellStyle.bold = style.bold;\n cell.cellStyle.italic = style.italic;\n cell.cellStyle.underline = style.underline;\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return cellsMap;\n };\n\n function cleanCells(context, startRow, endRow, startCol, endCol, type) {\n let removeCellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n cell.cellStyle.format = null;\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (type === 'content') {\n removeCellsMap.set(key, cell.value);\n cell.value = {\n type: 'simple',\n value: ''\n };\n cell.expand = 'None';\n cell.conditionPropertyItems = null;\n hot.setDataAtCell(i, j, '');\n } else if (type === 'style') {\n removeCellsMap.set(key, cell.cellStyle);\n cell.cellStyle = { fontSize: 9, forecolor: '0,0,0', fontFamily: '宋体', align: 'center', valign: 'middle' };\n } else if (type === 'all') {\n context.removeCell(cell);\n removeCellsMap.set(key, cell);\n let newCell = {\n rowNumber: cell.rowNumber,\n columnNumber: cell.columnNumber,\n expand: 'None',\n value: {\n type: 'simple',\n value: ''\n },\n cellStyle: { fontSize: 9, forecolor: '0,0,0', fontFamily: '宋体', align: 'center', valign: 'middle' }\n };\n context.addCell(newCell);\n hot.setDataAtCell(i, j, '');\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return removeCellsMap;\n };\n\n function checkCopyOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n return false;\n };\n function checkPasteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n if (window.__copy_cell_style__) {\n return false;\n }\n return true;\n };\n function checkRowDeleteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n const startRow = selected[0],\n endRow = selected[2];\n let dif = Math.abs(startRow - endRow) + 1;\n const countRows = this.countRows();\n if (dif >= countRows) {\n return true;\n } else {\n return false;\n }\n };\n\n function checkColDeleteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n const startCol = selected[1],\n endCol = selected[3];\n let dif = Math.abs(startCol - endCol) + 1;\n const countCols = this.countCols();\n if (dif >= countCols) {\n return true;\n } else {\n return false;\n }\n };\n function checkCleanOperationDisabled() {\n const selected = this.getSelected();\n if (!selected || selected.length === 0) {\n return true;\n }\n return false;\n };\n}\n\n//# sourceURL=webpack:///./src/table/ContextMenu.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMenuConfigure; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./operation/InsertRowOperation.js */ \"./src/table/operation/InsertRowOperation.js\");\n/* harmony import */ var _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operation/InsertColOperation.js */ \"./src/table/operation/InsertColOperation.js\");\n/* harmony import */ var _operation_DeleteRowOperation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./operation/DeleteRowOperation.js */ \"./src/table/operation/DeleteRowOperation.js\");\n/* harmony import */ var _operation_DeleteColOperation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./operation/DeleteColOperation.js */ \"./src/table/operation/DeleteColOperation.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dialog/RowColWidthHeightDialog.js */ \"./src/dialog/RowColWidthHeightDialog.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_7__);\n/**\n * Created by Jacky.Gao on 2017-01-31.\n */\n\n\n\n\n\n\n\n\n\nfunction buildMenuConfigure() {\n return {\n callback: function (key, options) {\n const _this = this;\n if (key === 'insert_row_above') {\n _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"doInsertRow\"].call(this, true);\n } else if (key === 'insert_row_below') {\n _operation_InsertRowOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"doInsertRow\"].call(this);\n } else if (key === 'insert_col_left') {\n _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__[\"doInsertCol\"].call(this, true);\n } else if (key === 'insert_col_right') {\n _operation_InsertColOperation_js__WEBPACK_IMPORTED_MODULE_2__[\"doInsertCol\"].call(this);\n } else if (key === 'del_row') {\n _operation_DeleteRowOperation_js__WEBPACK_IMPORTED_MODULE_3__[\"doDeleteRow\"].call(this);\n } else if (key === 'del_col') {\n _operation_DeleteColOperation_js__WEBPACK_IMPORTED_MODULE_4__[\"doDeleteCol\"].call(this);\n } else if (key === 'clean_content') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'content');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'content');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'content');\n }\n });\n } else if (key === 'clean_style') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'style');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'style');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'style');\n }\n });\n } else if (key === 'clean') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'all');\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n removeCellsMap = cleanCells(_this.context, startRow, endRow, startCol, endCol, 'all');\n },\n undo: function () {\n undoCleanCells(_this.context, startRow, endRow, startCol, endCol, removeCellsMap, 'all');\n }\n });\n } else if (key === 'repeat_row_header') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'headerrepeat');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'title_row') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'title');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'repeat_row_footer') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'footerrepeat');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'summary_row') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.addRowHeader(rowNumber, 'summary');\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'repeat_cancel') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2];\n const context = this.context;\n for (let rowNumber = startRow; rowNumber <= endRow; rowNumber++) {\n context.adjustDelRowHeaders(rowNumber);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_5__[\"renderRowHeader\"])(this, context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'row_height') {\n const selected = this.getSelected();\n const startRow = selected[0];\n const rowHeight = this.getRowHeight(startRow);\n const dialog = new _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n dialog.show(function (newHeight) {\n const rowHeights = _this.getSettings().rowHeights;\n rowHeights.splice(startRow, 1, newHeight);\n _this.updateSettings({\n rowHeights: rowHeights,\n manualRowResize: rowHeights\n });\n }, rowHeight, false);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'col_width') {\n const selected = this.getSelected();\n const startCol = selected[1];\n const colWidth = this.getColWidth(startCol);\n const dialog = new _dialog_RowColWidthHeightDialog_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n dialog.show(function (newColWidth) {\n const colWidths = _this.getSettings().colWidths;\n colWidths.splice(startCol, 1, newColWidth);\n _this.updateSettings({\n colWidths: colWidths,\n manualColumnResize: colWidths\n });\n }, colWidth, true);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n } else if (key === 'copy_style') {\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let cell = _this.context.getCell(startRow, startCol);\n if (!cell) {\n alert(\"请先选中目标单元格!\");\n return;\n }\n window.__copy_cell_style__ = cell.cellStyle;\n } else if (key === 'paste_style') {\n if (!window.__copy_cell_style__) {\n alert('请先复制目标单元格样式');\n return;\n }\n const selected = this.getSelected();\n const startRow = selected[0],\n endRow = selected[2],\n startCol = selected[1],\n endCol = selected[3];\n let oldCellsStyleMap = pasteStyle(_this.context, startRow, endRow, startCol, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n oldCellsStyleMap = pasteStyle(_this.context, startRow, endRow, startCol, endCol);\n },\n undo: function () {\n undoPasteStyle(_this.context, startRow, endRow, startCol, endCol, oldCellsStyleMap);\n }\n });\n }\n },\n items: {\n \"insert_row_above\": {\n name: ` ${window.i18n.table.contextMenu.insertRowUp}`\n },\n \"insert_row_below\": {\n name: ` ${window.i18n.table.contextMenu.insertRowDown}`\n },\n \"insert_col_left\": {\n name: ` ${window.i18n.table.contextMenu.insertColBefore}`\n },\n \"insert_col_right\": {\n name: ` ${window.i18n.table.contextMenu.insertColAfter}`\n },\n \"del_row\": {\n name: ` ${window.i18n.table.contextMenu.delRow}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"del_col\": {\n name: ` ${window.i18n.table.contextMenu.delCol}`,\n disabled: checkColDeleteOperationDisabled\n },\n \"row_height\": {\n name: ` ${window.i18n.table.contextMenu.rowHeight}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"col_width\": {\n name: ` ${window.i18n.table.contextMenu.colWidth}`,\n disabled: checkColDeleteOperationDisabled\n },\n \"title_row\": {\n name: ` ${window.i18n.table.contextMenu.title}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_row_header\": {\n name: ` ${window.i18n.table.contextMenu.repeatHeader}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_row_footer\": {\n name: ` ${window.i18n.table.contextMenu.repeatFooter}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"summary_row\": {\n name: ` ${window.i18n.table.contextMenu.summary}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"repeat_cancel\": {\n name: ` ${window.i18n.table.contextMenu.cancel}`,\n disabled: checkRowDeleteOperationDisabled\n },\n \"copy_style\": {\n name: ` ${window.i18n.table.contextMenu.copy}`,\n disabled: checkCopyOperationDisabled\n },\n \"paste_style\": {\n name: ` ${window.i18n.table.contextMenu.paste}`,\n disabled: checkPasteOperationDisabled\n },\n \"clean_content\": {\n name: ` ${window.i18n.table.contextMenu.clearContent}`,\n disabled: checkCleanOperationDisabled\n },\n \"clean_style\": {\n name: ` ${window.i18n.table.contextMenu.clearStyle}`,\n disabled: checkCleanOperationDisabled\n },\n \"clean\": {\n name: ` ${window.i18n.table.contextMenu.clearAll}`,\n disabled: checkCleanOperationDisabled\n }\n }\n };\n\n function undoCleanCells(context, startRow, endRow, startCol, endCol, removeCellsMap, type) {\n let cellsMap = context.cellsMap,\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (type === 'content') {\n let orgValue = removeCellsMap.get(key);\n if (!orgValue) {\n alert(`${window.i18n.table.contextMenu.cancelConetntFail}`);\n return;\n }\n cell.value = orgValue;\n let value = cell.value;\n let valueType = value.type;\n let text = value.value;\n if (valueType === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n }\n hot.setDataAtCell(i, j, text);\n } else if (type === 'style') {\n let orgStyle = removeCellsMap.get(key);\n if (!orgStyle) {\n alert(`${window.i18n.table.contextMenu.cancelStyleFail}`);\n return;\n }\n cell.cellStyle = orgStyle;\n } else if (type === 'all') {\n context.removeCell(cell);\n let orgCell = removeCellsMap.get(key);\n if (!orgCell) {\n alert(`${window.i18n.table.contextMenu.cancelClearFail}`);\n return;\n }\n context.addCell(orgCell);\n let value = orgCell.value;\n let valueType = value.type;\n let text = value.value;\n if (valueType === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\" + value.property + \")\";\n }\n hot.setDataAtCell(i, j, text);\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n };\n\n function undoPasteStyle(context, startRow, endRow, startCol, endCol, oldStyleMap) {\n const style = window.__copy_cell_style__;\n let cellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n const oldStyle = oldStyleMap.get(key);\n if (oldStyle) {\n cell.cellStyle = oldStyle;\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return cellsMap;\n };\n\n function pasteStyle(context, startRow, endRow, startCol, endCol) {\n const style = window.__copy_cell_style__;\n let cellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (!cell.cellStyle) {\n cell.cellStyle = {};\n }\n const oldStyle = JSON.parse(JSON.stringify(cell.cellStyle));\n cellsMap.set(key, oldStyle);\n cell.cellStyle.fontSize = style.fontSize;\n cell.cellStyle.forecolor = style.forecolor;\n cell.cellStyle.fontFamily = style.fontFamily;\n cell.cellStyle.valign = style.valign;\n cell.cellStyle.align = style.align;\n cell.cellStyle.bgcolor = style.bgcolor;\n cell.cellStyle.bold = style.bold;\n cell.cellStyle.italic = style.italic;\n cell.cellStyle.underline = style.underline;\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return cellsMap;\n };\n\n function cleanCells(context, startRow, endRow, startCol, endCol, type) {\n let removeCellsMap = new Map(),\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cell = context.getCell(i, j);\n if (!cell) {\n continue;\n }\n cell.cellStyle.format = null;\n let key = cell.rowNumber + \",\" + cell.columnNumber;\n if (type === 'content') {\n removeCellsMap.set(key, cell.value);\n cell.value = {\n type: 'simple',\n value: ''\n };\n cell.expand = 'None';\n cell.conditionPropertyItems = null;\n hot.setDataAtCell(i, j, '');\n } else if (type === 'style') {\n removeCellsMap.set(key, cell.cellStyle);\n cell.cellStyle = { fontSize: 9, forecolor: '0,0,0', fontFamily: '宋体', align: 'center', valign: 'middle' };\n } else if (type === 'all') {\n context.removeCell(cell);\n removeCellsMap.set(key, cell);\n let newCell = {\n rowNumber: cell.rowNumber,\n columnNumber: cell.columnNumber,\n expand: 'None',\n value: {\n type: 'simple',\n value: ''\n },\n cellStyle: { fontSize: 9, forecolor: '0,0,0', fontFamily: '宋体', align: 'center', valign: 'middle' }\n };\n context.addCell(newCell);\n hot.setDataAtCell(i, j, '');\n }\n }\n }\n handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n hot.render();\n return removeCellsMap;\n };\n\n function checkCopyOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n return false;\n };\n function checkPasteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n if (window.__copy_cell_style__) {\n return false;\n }\n return true;\n };\n function checkRowDeleteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n const startRow = selected[0],\n endRow = selected[2];\n let dif = Math.abs(startRow - endRow) + 1;\n const countRows = this.countRows();\n if (dif >= countRows) {\n return true;\n } else {\n return false;\n }\n };\n\n function checkColDeleteOperationDisabled() {\n const selected = this.getSelected();\n if (!selected) {\n return true;\n }\n const startCol = selected[1],\n endCol = selected[3];\n let dif = Math.abs(startCol - endCol) + 1;\n const countCols = this.countCols();\n if (dif >= countCols) {\n return true;\n } else {\n return false;\n }\n };\n function checkCleanOperationDisabled() {\n const selected = this.getSelected();\n if (!selected || selected.length === 0) {\n return true;\n }\n return false;\n };\n}\n\n//# sourceURL=webpack:///./src/table/ContextMenu.js?"); /***/ }), @@ -5627,7 +5627,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderRowHeader\", function() { return renderRowHeader; });\n/**\r\n * Created by Jacky.Gao on 2017-03-22.\r\n */\n\nfunction renderRowHeader(hot, context) {\n const countRows = hot.countRows();\n const headers = [];\n const rowHeaders = context.rowHeaders;\n for (let i = 1; i <= countRows; i++) {\n let type = '';\n for (let header of rowHeaders) {\n if (header.rowNumber === i - 1) {\n if (header.band === 'headerrepeat') {\n type = `HR`;\n } else if (header.band === 'footerrepeat') {\n type = `FR`;\n } else if (header.band === 'title') {\n type = `T`;\n } else if (header.band === 'summary') {\n type = `S`;\n }\n break;\n }\n }\n headers.push(i + type);\n }\n hot.updateSettings({\n rowHeaders: headers\n });\n};\n\n//# sourceURL=webpack:///./src/table/HeaderUtils.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderRowHeader\", function() { return renderRowHeader; });\n/**\n * Created by Jacky.Gao on 2017-03-22.\n */\n\nfunction renderRowHeader(hot, context) {\n const countRows = hot.countRows();\n const headers = [];\n const rowHeaders = context.rowHeaders;\n for (let i = 1; i <= countRows; i++) {\n let type = '';\n for (let header of rowHeaders) {\n if (header.rowNumber === i - 1) {\n if (header.band === 'headerrepeat') {\n type = `HR`;\n } else if (header.band === 'footerrepeat') {\n type = `FR`;\n } else if (header.band === 'title') {\n type = `T`;\n } else if (header.band === 'summary') {\n type = `S`;\n }\n break;\n }\n }\n headers.push(i + type);\n }\n hot.updateSettings({\n rowHeaders: headers\n });\n};\n\n//# sourceURL=webpack:///./src/table/HeaderUtils.js?"); /***/ }), @@ -5639,7 +5639,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ReportTable; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _CellRenderer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CellRenderer.js */ \"./src/table/CellRenderer.js\");\n/* harmony import */ var _ContextMenu_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ContextMenu.js */ \"./src/table/ContextMenu.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_3__);\n/**\r\n * Created by Jacky.Gao on 2017-01-26.\r\n */\n\n\n\n\n\nclass ReportTable {\n constructor(container, callback) {\n this.container = container;\n this.hot = new handsontable__WEBPACK_IMPORTED_MODULE_3___default.a(container, {\n startCols: 1,\n startRows: 1,\n fillHandle: {\n autoInsertRow: false\n },\n colHeaders: true,\n rowHeaders: true,\n autoColumnSize: false,\n autoRowSize: false,\n manualColumnResize: true,\n manualRowResize: true,\n maxColsNumber: 700,\n outsideClickDeselects: false\n });\n this.buildMenu();\n this.hot.addHook(\"afterRenderer\", _CellRenderer_js__WEBPACK_IMPORTED_MODULE_1__[\"afterRenderer\"]);\n\n // 强制更新tableview\n let _render = this.hot.render.bind(this.hot);\n this.hot.render = () => {\n _render();\n // 强制表格重新绘制\n this.hot.view.render();\n };\n\n // let file = utils.getParameter(\"_u\");\n // if (!file || file === null || file === '') {\n // file = 'classpath:template/template.ureport.xml';\n // } else {\n // window._reportFile = file;\n // }\n\n this.cellsMap = new Map();\n\n this.loadFile(callback);\n this.hot.addHook('afterRowResize', function (currentRow, newSize) {\n let rowHeights = this.getSettings().rowHeights;\n let oldRowHeights = rowHeights.concat([]);\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(currentRow, 1, newSize);\n this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights;\n oldRowHeights = rowHeights.concat([]);\n newRowHeights.splice(currentRow, 1, newSize);\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n },\n undo: function () {\n _this.updateSettings({\n rowHeights: oldRowHeights,\n manualRowResize: oldRowHeights\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n }\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n });\n\n this.hot.addHook('afterColumnResize', function (currentColumn, newSize) {\n let colWidths = this.getSettings().colWidths;\n let newColWidths = colWidths.concat([]);\n let oldColWidths = colWidths.concat([]);\n newColWidths.splice(currentColumn, 1, newSize);\n this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n oldColWidths = colWidths.concat([]);\n newColWidths.splice(currentColumn, 1, newSize);\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n },\n undo: function () {\n _this.updateSettings({\n colWidths: oldColWidths,\n manualColumnResize: oldColWidths\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n }\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n });\n\n window.onresize = () => {\n this.hot.render();\n };\n }\n\n // 页面初始化`\n loadFile(callback) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"showLoading\"]();\n const fileId = _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"]('id');\n const token = _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"]('token');\n let requestUrl = fileId ? `${window._server}/api/datareport/Data/${fileId}` : `${window._server}/api/datareport/Data/init`;\n const _this = this;\n $.ajax({\n url: requestUrl,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: res => {\n const reportDef = res.data;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"initTable\"](reportDef, {}, !!fileId);\n // 编辑状态下额外处理\n if (fileId) {\n _this.baseInfo = res.baseInfo;\n }\n\n _this.reportDef = reportDef;\n\n _this._buildReportData(reportDef);\n\n if (callback) {\n callback.call(_this, reportDef);\n }\n _this.hot.render();\n\n if (reportDef.paper.bgImage) {\n $('.ht_master').css('background', `url(${reportDef.paper.bgImage}) 50px 26px no-repeat`);\n } else {\n $('.ht_master').css('background', 'transparent');\n }\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"hideLoading\"]();\n },\n error: function (response) {\n if (response && response.responseText) {\n alert(\"服务端错误:\" + response.responseText + \"\");\n } else {\n // alert(`${window.i18n.table.report.load}${file}${window.i18n.table.report.fail}`);\n }\n }\n });\n }\n\n _buildReportData(data) {\n this.cellsMap.clear();\n const rows = data.rows;\n const rowHeights = [];\n for (let row of rows) {\n const height = row.height;\n rowHeights.push(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"pointToPixel\"](height));\n }\n const columns = data.columns;\n const colWidths = [];\n for (let col of columns) {\n const width = col.width;\n colWidths.push(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"pointToPixel\"](width));\n }\n const cellsMap = data.cellsMap;\n const dataArray = [],\n mergeCells = [];\n for (let row of rows) {\n const rowData = [];\n for (let col of columns) {\n let key = row.rowNumber + \",\" + col.columnNumber;\n let cell = cellsMap[key];\n if (cell) {\n this.cellsMap.set(key, cell);\n rowData.push(cell.value.value || \"\");\n let rowspan = cell.rowSpan,\n colspan = cell.colSpan;\n if (rowspan > 0 || colspan > 0) {\n if (rowspan === 0) rowspan = 1;\n if (colspan === 0) colspan = 1;\n mergeCells.push({\n rowspan,\n colspan,\n row: row.rowNumber - 1,\n col: col.columnNumber - 1\n });\n }\n } else {\n rowData.push(\"\");\n }\n }\n dataArray.push(rowData);\n }\n this.hot.loadData(dataArray);\n this.hot.updateSettings({\n colWidths,\n rowHeights,\n mergeCells,\n readOnly: true\n });\n }\n\n buildMenu() {\n this.hot.updateSettings({\n contextMenu: Object(_ContextMenu_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])()\n });\n }\n\n bindSelectionEvent(callback) {\n const _this = this;\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.add(\"afterSelectionEnd\", function (rowIndex, colIndex, row2Index, col2Index) {\n // console.log(_this, rowIndex, colIndex, row2Index, col2Index)\n callback.call(_this, rowIndex, colIndex, row2Index, col2Index);\n }, this.hot);\n }\n};\n\n//# sourceURL=webpack:///./src/table/ReportTable.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ReportTable; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _CellRenderer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CellRenderer.js */ \"./src/table/CellRenderer.js\");\n/* harmony import */ var _ContextMenu_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ContextMenu.js */ \"./src/table/ContextMenu.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * Created by Jacky.Gao on 2017-01-26.\n */\n\n\n\n\n\nclass ReportTable {\n constructor(container, callback) {\n this.container = container;\n this.hot = new handsontable__WEBPACK_IMPORTED_MODULE_3___default.a(container, {\n startCols: 1,\n startRows: 1,\n fillHandle: {\n autoInsertRow: false\n },\n colHeaders: true,\n rowHeaders: true,\n autoColumnSize: false,\n autoRowSize: false,\n manualColumnResize: true,\n manualRowResize: true,\n maxColsNumber: 700,\n outsideClickDeselects: false\n });\n this.buildMenu();\n this.hot.addHook(\"afterRenderer\", _CellRenderer_js__WEBPACK_IMPORTED_MODULE_1__[\"afterRenderer\"]);\n\n // 强制更新tableview\n let _render = this.hot.render.bind(this.hot);\n this.hot.render = () => {\n _render();\n // 强制表格重新绘制\n this.hot.view.render();\n };\n\n // let file = utils.getParameter(\"_u\");\n // if (!file || file === null || file === '') {\n // file = 'classpath:template/template.ureport.xml';\n // } else {\n // window._reportFile = file;\n // }\n\n this.cellsMap = new Map();\n\n this.loadFile(callback);\n this.hot.addHook('afterRowResize', function (currentRow, newSize) {\n let rowHeights = this.getSettings().rowHeights;\n let oldRowHeights = rowHeights.concat([]);\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(currentRow, 1, newSize);\n this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights;\n oldRowHeights = rowHeights.concat([]);\n newRowHeights.splice(currentRow, 1, newSize);\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n },\n undo: function () {\n _this.updateSettings({\n rowHeights: oldRowHeights,\n manualRowResize: oldRowHeights\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n }\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n });\n\n this.hot.addHook('afterColumnResize', function (currentColumn, newSize) {\n let colWidths = this.getSettings().colWidths;\n let newColWidths = colWidths.concat([]);\n let oldColWidths = colWidths.concat([]);\n newColWidths.splice(currentColumn, 1, newSize);\n this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n oldColWidths = colWidths.concat([]);\n newColWidths.splice(currentColumn, 1, newSize);\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n },\n undo: function () {\n _this.updateSettings({\n colWidths: oldColWidths,\n manualColumnResize: oldColWidths\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n }\n });\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"]();\n });\n\n window.onresize = () => {\n this.hot.render();\n };\n }\n\n // 页面初始化`\n loadFile(callback) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"showLoading\"]();\n const fileId = _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"]('id');\n const token = _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getUrlParam\"]('token');\n let requestUrl = fileId ? `${window._server}/api/datareport/Data/${fileId}` : `${window._server}/api/datareport/Data/init`;\n const _this = this;\n $.ajax({\n url: requestUrl,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: res => {\n const reportDef = res.data;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"initTable\"](reportDef, {}, !!fileId);\n // 编辑状态下额外处理\n if (fileId) {\n _this.baseInfo = res.baseInfo;\n }\n\n _this.reportDef = reportDef;\n\n _this._buildReportData(reportDef);\n\n if (callback) {\n callback.call(_this, reportDef);\n }\n _this.hot.render();\n\n if (reportDef.paper.bgImage) {\n $('.ht_master').css('background', `url(${reportDef.paper.bgImage}) 50px 26px no-repeat`);\n } else {\n $('.ht_master').css('background', 'transparent');\n }\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"hideLoading\"]();\n },\n error: function (response) {\n if (response && response.responseText) {\n alert(\"服务端错误:\" + response.responseText + \"\");\n } else {\n // alert(`${window.i18n.table.report.load}${file}${window.i18n.table.report.fail}`);\n }\n }\n });\n }\n\n _buildReportData(data) {\n this.cellsMap.clear();\n const rows = data.rows;\n const rowHeights = [];\n for (let row of rows) {\n const height = row.height;\n rowHeights.push(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"pointToPixel\"](height));\n }\n const columns = data.columns;\n const colWidths = [];\n for (let col of columns) {\n const width = col.width;\n colWidths.push(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"pointToPixel\"](width));\n }\n const cellsMap = data.cellsMap;\n const dataArray = [],\n mergeCells = [];\n for (let row of rows) {\n const rowData = [];\n for (let col of columns) {\n let key = row.rowNumber + \",\" + col.columnNumber;\n let cell = cellsMap[key];\n if (cell) {\n this.cellsMap.set(key, cell);\n rowData.push(cell.value.value || \"\");\n let rowspan = cell.rowSpan,\n colspan = cell.colSpan;\n if (rowspan > 0 || colspan > 0) {\n if (rowspan === 0) rowspan = 1;\n if (colspan === 0) colspan = 1;\n mergeCells.push({\n rowspan,\n colspan,\n row: row.rowNumber - 1,\n col: col.columnNumber - 1\n });\n }\n } else {\n rowData.push(\"\");\n }\n }\n dataArray.push(rowData);\n }\n this.hot.loadData(dataArray);\n this.hot.updateSettings({\n colWidths,\n rowHeights,\n mergeCells,\n readOnly: true\n });\n }\n\n buildMenu() {\n this.hot.updateSettings({\n contextMenu: Object(_ContextMenu_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])()\n });\n }\n\n bindSelectionEvent(callback) {\n const _this = this;\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.add(\"afterSelectionEnd\", function (rowIndex, colIndex, row2Index, col2Index) {\n // console.log(_this, rowIndex, colIndex, row2Index, col2Index)\n callback.call(_this, rowIndex, colIndex, row2Index, col2Index);\n }, this.hot);\n }\n};\n\n//# sourceURL=webpack:///./src/table/ReportTable.js?"); /***/ }), @@ -5651,7 +5651,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doDeleteCol\", function() { return doDeleteCol; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-17.\r\n */\n\n\n\nfunction doDeleteCol() {\n const selected = this.getSelected(),\n context = this.context;\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.table.colTip}`);\n return;\n }\n let startCol = selected[1],\n endCol = selected[3];\n if (endCol < startCol) {\n let tempStartCol = startCol;\n startCol = endCol;\n endCol = tempStartCol;\n }\n let colWidths = this.getSettings().colWidths,\n mergeCells = this.getSettings().mergeCells;\n let oldMergeCells = [];\n let newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let col = mergeItem.col,\n colspan = mergeItem.colspan;\n let colEnd = col + colspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (col >= startCol && colEnd <= endCol) {\n newMergeCells.splice(index, 1);\n } else if (col <= startCol && colEnd >= endCol) {\n let span = endCol - startCol + 1;\n let leftSpan = colspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.rowspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: col,\n row: mergeItem.row,\n rowspan: mergeItem.rowspan,\n colspan: leftSpan\n };\n }\n } else if (col > endCol) {\n let totalCols = endCol - startCol + 1;\n newMergeCells[index] = {\n row: mergeItem.row,\n col: col - totalCols,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n this.updateSettings({ mergeCells: [] });\n let dif = endCol - startCol + 1;\n let oldColWidths = colWidths.concat([]);\n let newColWidths = colWidths.concat([]);\n newColWidths.splice(startCol, dif);\n let countRows = this.countRows(),\n removeCells = [];\n for (let i = endCol; i >= startCol; i--) {\n this.alter('remove_col', i);\n for (let j = 0; j < countRows; j++) {\n let cell = context.getCell(j, i);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n }\n let cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= endCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - dif;\n context.addCell(cell);\n }\n this.updateSettings({ colWidths: newColWidths, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths, mergeCells = _this.getSettings().mergeCells;\n oldMergeCells = [];\n newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let col = mergeItem.col,\n colspan = mergeItem.colspan;\n let colEnd = col + colspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n\n if (col >= startCol && colEnd <= endCol) {\n newMergeCells.splice(index, 1);\n } else if (col <= startCol && colEnd >= endCol) {\n let span = endCol - startCol + 1;\n let leftSpan = colspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.rowspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: col,\n row: mergeItem.row,\n rowspan: mergeItem.rowspan,\n colspan: leftSpan\n };\n }\n } else if (col > endCol) {\n let totalCols = endCol - startCol + 1;\n newMergeCells[index] = {\n row: mergeItem.row,\n col: col - totalCols,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n _this.updateSettings({ mergeCells: [] });\n oldColWidths = colWidths.concat([]);\n newColWidths = colWidths.concat([]);\n newColWidths.splice(startCol, dif);\n countRows = _this.countRows();\n removeCells.splice(0, removeCells.length);\n for (let i = endCol; i >= startCol; i--) {\n for (let j = 0; j < countRows; j++) {\n let cell = context.getCell(j, i);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n _this.alter('remove_col', i);\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= endCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - dif;\n context.addCell(cell);\n }\n _this.updateSettings({ colWidths: newColWidths, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = endCol; i >= startCol; i--) {\n _this.alter('insert_col', i);\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= startCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + dif;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({ colWidths: oldColWidths, mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\n//# sourceURL=webpack:///./src/table/operation/DeleteColOperation.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doDeleteCol\", function() { return doDeleteCol; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-17.\n */\n\n\n\nfunction doDeleteCol() {\n const selected = this.getSelected(),\n context = this.context;\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.table.colTip}`);\n return;\n }\n let startCol = selected[1],\n endCol = selected[3];\n if (endCol < startCol) {\n let tempStartCol = startCol;\n startCol = endCol;\n endCol = tempStartCol;\n }\n let colWidths = this.getSettings().colWidths,\n mergeCells = this.getSettings().mergeCells;\n let oldMergeCells = [];\n let newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let col = mergeItem.col,\n colspan = mergeItem.colspan;\n let colEnd = col + colspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (col >= startCol && colEnd <= endCol) {\n newMergeCells.splice(index, 1);\n } else if (col <= startCol && colEnd >= endCol) {\n let span = endCol - startCol + 1;\n let leftSpan = colspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.rowspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: col,\n row: mergeItem.row,\n rowspan: mergeItem.rowspan,\n colspan: leftSpan\n };\n }\n } else if (col > endCol) {\n let totalCols = endCol - startCol + 1;\n newMergeCells[index] = {\n row: mergeItem.row,\n col: col - totalCols,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n this.updateSettings({ mergeCells: [] });\n let dif = endCol - startCol + 1;\n let oldColWidths = colWidths.concat([]);\n let newColWidths = colWidths.concat([]);\n newColWidths.splice(startCol, dif);\n let countRows = this.countRows(),\n removeCells = [];\n for (let i = endCol; i >= startCol; i--) {\n this.alter('remove_col', i);\n for (let j = 0; j < countRows; j++) {\n let cell = context.getCell(j, i);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n }\n let cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= endCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - dif;\n context.addCell(cell);\n }\n this.updateSettings({ colWidths: newColWidths, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths, mergeCells = _this.getSettings().mergeCells;\n oldMergeCells = [];\n newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let col = mergeItem.col,\n colspan = mergeItem.colspan;\n let colEnd = col + colspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n\n if (col >= startCol && colEnd <= endCol) {\n newMergeCells.splice(index, 1);\n } else if (col <= startCol && colEnd >= endCol) {\n let span = endCol - startCol + 1;\n let leftSpan = colspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.rowspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: col,\n row: mergeItem.row,\n rowspan: mergeItem.rowspan,\n colspan: leftSpan\n };\n }\n } else if (col > endCol) {\n let totalCols = endCol - startCol + 1;\n newMergeCells[index] = {\n row: mergeItem.row,\n col: col - totalCols,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n _this.updateSettings({ mergeCells: [] });\n oldColWidths = colWidths.concat([]);\n newColWidths = colWidths.concat([]);\n newColWidths.splice(startCol, dif);\n countRows = _this.countRows();\n removeCells.splice(0, removeCells.length);\n for (let i = endCol; i >= startCol; i--) {\n for (let j = 0; j < countRows; j++) {\n let cell = context.getCell(j, i);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n _this.alter('remove_col', i);\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= endCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - dif;\n context.addCell(cell);\n }\n _this.updateSettings({ colWidths: newColWidths, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = endCol; i >= startCol; i--) {\n _this.alter('insert_col', i);\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= startCol) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + dif;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({ colWidths: oldColWidths, mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\n//# sourceURL=webpack:///./src/table/operation/DeleteColOperation.js?"); /***/ }), @@ -5663,7 +5663,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doDeleteRow\", function() { return doDeleteRow; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-17.\r\n */\n\n\n\n\nfunction doDeleteRow() {\n const selected = this.getSelected(),\n context = this.context;\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.table.rowTip}`);\n return;\n }\n let startRow = selected[0],\n endRow = selected[2];\n if (endRow < startRow) {\n let tempStartRow = startRow;\n startRow = endRow;\n endRow = tempStartRow;\n }\n let rowHeights = this.getSettings().rowHeights,\n mergeCells = this.getSettings().mergeCells;\n let oldMergeCells = [];\n let newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let row = mergeItem.row,\n rowspan = mergeItem.rowspan;\n let rowEnd = row + rowspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (row >= startRow && rowEnd <= endRow) {\n newMergeCells.splice(index, 1);\n } else if (row <= startRow && rowEnd >= endRow) {\n let span = endRow - startRow + 1;\n let leftSpan = rowspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.colspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row,\n rowspan: leftSpan,\n colspan: mergeItem.colspan\n };\n }\n } else if (row > endRow) {\n let totalRows = endRow - startRow + 1;\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row - totalRows,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n this.updateSettings({ mergeCells: [] });\n let dif = endRow - startRow + 1;\n let oldRowHeights = rowHeights.concat([]);\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(startRow, dif);\n let countCols = this.countCols(),\n removeCells = [];\n for (let i = endRow; i >= startRow; i--) {\n for (let j = 0; j < countCols; j++) {\n let cell = context.getCell(i, j);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n this.alter('remove_row', i);\n this.context.adjustDelRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(this, this.context);\n let cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= endRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - dif;\n context.addCell(cell);\n }\n this.updateSettings({ rowHeights: newRowHeights, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights, mergeCells = _this.getSettings().mergeCells;\n oldMergeCells = [];\n newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let row = mergeItem.row,\n rowspan = mergeItem.rowspan;\n let rowEnd = row + rowspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (row >= startRow && rowEnd <= endRow) {\n newMergeCells.splice(index, 1);\n } else if (row <= startRow && rowEnd >= endRow) {\n let span = endRow - startRow + 1;\n let leftSpan = rowspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.colspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row,\n rowspan: leftSpan,\n colspan: mergeItem.colspan\n };\n }\n } else if (row > endRow) {\n let totalRows = endRow - startRow + 1;\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row - totalRows,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n _this.updateSettings({ mergeCells: [] });\n oldRowHeights = rowHeights.concat([]);\n newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(startRow, dif);\n countCols = _this.countCols();\n removeCells.splice(0, removeCells.length);\n for (let i = endRow; i >= startRow; i--) {\n for (let j = 0; j < countCols; j++) {\n let cell = context.getCell(i, j);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n _this.alter('remove_row', i);\n _this.context.adjustDelRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= endRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - dif;\n context.addCell(cell);\n }\n _this.updateSettings({ rowHeights: newRowHeights, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = endRow; i >= startRow; i--) {\n _this.alter('insert_row', i);\n _this.context.adjustInsertRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= startRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + dif;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({ rowHeights: oldRowHeights, mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n}\n\n//# sourceURL=webpack:///./src/table/operation/DeleteRowOperation.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doDeleteRow\", function() { return doDeleteRow; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-17.\n */\n\n\n\n\nfunction doDeleteRow() {\n const selected = this.getSelected(),\n context = this.context;\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.table.rowTip}`);\n return;\n }\n let startRow = selected[0],\n endRow = selected[2];\n if (endRow < startRow) {\n let tempStartRow = startRow;\n startRow = endRow;\n endRow = tempStartRow;\n }\n let rowHeights = this.getSettings().rowHeights,\n mergeCells = this.getSettings().mergeCells;\n let oldMergeCells = [];\n let newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let row = mergeItem.row,\n rowspan = mergeItem.rowspan;\n let rowEnd = row + rowspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (row >= startRow && rowEnd <= endRow) {\n newMergeCells.splice(index, 1);\n } else if (row <= startRow && rowEnd >= endRow) {\n let span = endRow - startRow + 1;\n let leftSpan = rowspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.colspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row,\n rowspan: leftSpan,\n colspan: mergeItem.colspan\n };\n }\n } else if (row > endRow) {\n let totalRows = endRow - startRow + 1;\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row - totalRows,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n this.updateSettings({ mergeCells: [] });\n let dif = endRow - startRow + 1;\n let oldRowHeights = rowHeights.concat([]);\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(startRow, dif);\n let countCols = this.countCols(),\n removeCells = [];\n for (let i = endRow; i >= startRow; i--) {\n for (let j = 0; j < countCols; j++) {\n let cell = context.getCell(i, j);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n this.alter('remove_row', i);\n this.context.adjustDelRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(this, this.context);\n let cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= endRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - dif;\n context.addCell(cell);\n }\n this.updateSettings({ rowHeights: newRowHeights, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights, mergeCells = _this.getSettings().mergeCells;\n oldMergeCells = [];\n newMergeCells = mergeCells.concat([]);\n for (let mergeItem of mergeCells) {\n oldMergeCells.push(Object.assign({}, mergeItem));\n let row = mergeItem.row,\n rowspan = mergeItem.rowspan;\n let rowEnd = row + rowspan - 1;\n let index = newMergeCells.indexOf(mergeItem);\n if (row >= startRow && rowEnd <= endRow) {\n newMergeCells.splice(index, 1);\n } else if (row <= startRow && rowEnd >= endRow) {\n let span = endRow - startRow + 1;\n let leftSpan = rowspan - span;\n if (leftSpan === 0) {\n leftSpan = 1;\n }\n if (leftSpan === 1 && mergeItem.colspan === 1) {\n newMergeCells.splice(index, 1);\n } else {\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row,\n rowspan: leftSpan,\n colspan: mergeItem.colspan\n };\n }\n } else if (row > endRow) {\n let totalRows = endRow - startRow + 1;\n newMergeCells[index] = {\n col: mergeItem.col,\n row: row - totalRows,\n rowspan: mergeItem.rowspan,\n colspan: mergeItem.colspan\n };\n }\n }\n _this.updateSettings({ mergeCells: [] });\n oldRowHeights = rowHeights.concat([]);\n newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(startRow, dif);\n countCols = _this.countCols();\n removeCells.splice(0, removeCells.length);\n for (let i = endRow; i >= startRow; i--) {\n for (let j = 0; j < countCols; j++) {\n let cell = context.getCell(i, j);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n _this.alter('remove_row', i);\n _this.context.adjustDelRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= endRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - dif;\n context.addCell(cell);\n }\n _this.updateSettings({ rowHeights: newRowHeights, mergeCells: newMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = endRow; i >= startRow; i--) {\n _this.alter('insert_row', i);\n _this.context.adjustInsertRowHeaders(i);\n }\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= startRow) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + dif;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({ rowHeights: oldRowHeights, mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n}\n\n//# sourceURL=webpack:///./src/table/operation/DeleteRowOperation.js?"); /***/ }), @@ -5675,7 +5675,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doInsertCol\", function() { return doInsertCol; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-17.\r\n */\n\n\nfunction doInsertCol(left) {\n const selected = this.getSelected();\n if (!selected) {\n alert(`${window.i18n.table.colTip}`);\n return;\n }\n let startCol = selected[1],\n endCol = selected[3];\n let position = startCol;\n if (startCol > endCol) {\n if (left) {\n position = endCol;\n } else {\n position = startCol + 1;\n }\n } else {\n if (left) {\n position = startCol;\n } else {\n position = endCol + 1;\n }\n }\n let colWidths = this.getSettings().colWidths;\n let newColWidths = colWidths.concat([]);\n newColWidths.splice(position, 0, 98);\n this.alter(\"insert_col\", position);\n const context = this.context,\n cellsMap = this.context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + 1;\n context.addCell(cell);\n }\n let countRows = this.countRows();\n for (let i = 0; i < countRows; i++) {\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(i + 1, position + 1);\n context.addCell(newCellDef);\n }\n this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this,\n removeCells = [];\n let removeColWidth = 98;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n newColWidths.splice(position, 0, removeColWidth);\n _this.alter(\"insert_col\", position);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + 1;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n removeCells.splice(0, removeCells.length);\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n removeColWidth = newColWidths[position];\n newColWidths.splice(position, 1);\n _this.alter('remove_col', position);\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n let countRows = _this.countRows();\n for (let i = 0; i < countRows; i++) {\n let cell = context.getCell(i, position);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex > position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - 1;\n context.addCell(cell);\n }\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\n//# sourceURL=webpack:///./src/table/operation/InsertColOperation.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doInsertCol\", function() { return doInsertCol; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-17.\n */\n\n\nfunction doInsertCol(left) {\n const selected = this.getSelected();\n if (!selected) {\n alert(`${window.i18n.table.colTip}`);\n return;\n }\n let startCol = selected[1],\n endCol = selected[3];\n let position = startCol;\n if (startCol > endCol) {\n if (left) {\n position = endCol;\n } else {\n position = startCol + 1;\n }\n } else {\n if (left) {\n position = startCol;\n } else {\n position = endCol + 1;\n }\n }\n let colWidths = this.getSettings().colWidths;\n let newColWidths = colWidths.concat([]);\n newColWidths.splice(position, 0, 98);\n this.alter(\"insert_col\", position);\n const context = this.context,\n cellsMap = this.context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + 1;\n context.addCell(cell);\n }\n let countRows = this.countRows();\n for (let i = 0; i < countRows; i++) {\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(i + 1, position + 1);\n context.addCell(newCellDef);\n }\n this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this,\n removeCells = [];\n let removeColWidth = 98;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n newColWidths.splice(position, 0, removeColWidth);\n _this.alter(\"insert_col\", position);\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber + 1;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n removeCells.splice(0, removeCells.length);\n colWidths = _this.getSettings().colWidths;\n newColWidths = colWidths.concat([]);\n removeColWidth = newColWidths[position];\n newColWidths.splice(position, 1);\n _this.alter('remove_col', position);\n _this.updateSettings({\n colWidths: newColWidths,\n manualColumnResize: newColWidths\n });\n let countRows = _this.countRows();\n for (let i = 0; i < countRows; i++) {\n let cell = context.getCell(i, position);\n if (cell) {\n context.removeCell(cell);\n removeCells.push(cell);\n }\n }\n changeCells.splice(0, changeCells.length);\n for (let cell of cellsMap.values()) {\n let colIndex = cell.columnNumber - 1;\n if (colIndex > position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.columnNumber = cell.columnNumber - 1;\n context.addCell(cell);\n }\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\n//# sourceURL=webpack:///./src/table/operation/InsertColOperation.js?"); /***/ }), @@ -5687,7 +5687,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doInsertRow\", function() { return doInsertRow; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-17.\r\n */\n\n\n\n\nfunction doInsertRow(above) {\n const selected = this.getSelected();\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.table.rowTip}`);\n return;\n }\n let startRow = selected[0],\n endRow = selected[2];\n let position = startRow;\n if (startRow > endRow) {\n if (above) {\n position = endRow;\n } else {\n position = startRow + 1;\n }\n } else {\n if (above) {\n position = startRow;\n } else {\n position = endRow + 1;\n }\n }\n let rowHeights = this.getSettings().rowHeights;\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(position, 0, 25);\n this.alter(\"insert_row\", position);\n this.context.adjustInsertRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(this, this.context);\n\n buildNewRowCells(this, position);\n this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this,\n context = this.context,\n cellsMap = this.context.cellsMap,\n removeCells = [];\n let removeRowHeight = 25;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights;\n newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(position, 0, removeRowHeight);\n _this.alter(\"insert_row\", position);\n _this.context.adjustInsertRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n let changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + 1;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n removeCells.splice(0, removeCells.length);\n rowHeights = _this.getSettings().rowHeights;\n newRowHeights = rowHeights.concat([]);\n removeRowHeight = newRowHeights[position];\n newRowHeights.splice(position, 1);\n _this.alter('remove_row', position);\n _this.context.adjustDelRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n let countCols = _this.countCols();\n for (let i = 0; i < countCols; i++) {\n let cell = context.getCell(position, i);\n if (cell) {\n removeCells.push(cell);\n context.removeCell(cell);\n }\n }\n let changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex > position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - 1;\n context.addCell(cell);\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\nfunction buildNewRowCells(hot, position) {\n const countCols = hot.countCols(),\n countRows = hot.countRows(),\n context = hot.context;\n const cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + 1;\n context.addCell(cell);\n }\n for (let i = 0; i < countCols; i++) {\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(position + 1, i + 1);\n context.addCell(newCellDef);\n }\n};\n\n//# sourceURL=webpack:///./src/table/operation/InsertRowOperation.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doInsertRow\", function() { return doInsertRow; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HeaderUtils.js */ \"./src/table/HeaderUtils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-02-17.\n */\n\n\n\n\nfunction doInsertRow(above) {\n const selected = this.getSelected();\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.table.rowTip}`);\n return;\n }\n let startRow = selected[0],\n endRow = selected[2];\n let position = startRow;\n if (startRow > endRow) {\n if (above) {\n position = endRow;\n } else {\n position = startRow + 1;\n }\n } else {\n if (above) {\n position = startRow;\n } else {\n position = endRow + 1;\n }\n }\n let rowHeights = this.getSettings().rowHeights;\n let newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(position, 0, 25);\n this.alter(\"insert_row\", position);\n this.context.adjustInsertRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(this, this.context);\n\n buildNewRowCells(this, position);\n this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n\n const _this = this,\n context = this.context,\n cellsMap = this.context.cellsMap,\n removeCells = [];\n let removeRowHeight = 25;\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n rowHeights = _this.getSettings().rowHeights;\n newRowHeights = rowHeights.concat([]);\n newRowHeights.splice(position, 0, removeRowHeight);\n _this.alter(\"insert_row\", position);\n _this.context.adjustInsertRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n let changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + 1;\n context.addCell(cell);\n }\n for (let cell of removeCells) {\n context.addCell(cell);\n }\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n removeCells.splice(0, removeCells.length);\n rowHeights = _this.getSettings().rowHeights;\n newRowHeights = rowHeights.concat([]);\n removeRowHeight = newRowHeights[position];\n newRowHeights.splice(position, 1);\n _this.alter('remove_row', position);\n _this.context.adjustDelRowHeaders(position);\n Object(_HeaderUtils_js__WEBPACK_IMPORTED_MODULE_1__[\"renderRowHeader\"])(_this, _this.context);\n _this.updateSettings({\n rowHeights: newRowHeights,\n manualRowResize: newRowHeights\n });\n let countCols = _this.countCols();\n for (let i = 0; i < countCols; i++) {\n let cell = context.getCell(position, i);\n if (cell) {\n removeCells.push(cell);\n context.removeCell(cell);\n }\n }\n let changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex > position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber - 1;\n context.addCell(cell);\n }\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"resetTableData\"])(_this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n};\n\nfunction buildNewRowCells(hot, position) {\n const countCols = hot.countCols(),\n countRows = hot.countRows(),\n context = hot.context;\n const cellsMap = context.cellsMap,\n changeCells = [];\n for (let cell of cellsMap.values()) {\n let rowIndex = cell.rowNumber - 1;\n if (rowIndex >= position) {\n changeCells.push(cell);\n }\n }\n for (let cell of changeCells) {\n context.removeCell(cell);\n }\n for (let cell of changeCells) {\n cell.rowNumber = cell.rowNumber + 1;\n context.addCell(cell);\n }\n for (let i = 0; i < countCols; i++) {\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(position + 1, i + 1);\n context.addCell(newCellDef);\n }\n};\n\n//# sourceURL=webpack:///./src/table/operation/InsertRowOperation.js?"); /***/ }), @@ -5699,7 +5699,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AlignLeftTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass AlignLeftTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n const cells = this.context.getSelectedCells();\n if (!cells) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n for (const td of cells) {\n let cellDef = td.cellDef.cellStyle;\n cellDef.align = \"left\";\n $(td).css(\"text-align\", \"left\");\n }\n }\n\n buildButton() {\n const _this = this;\n this.align = \"left\";\n const group = $(`
                `);\n const nameButton = $(``);\n group.append(nameButton);\n const mainBtn = $(``);\n const ul = $(`
                  `);\n const left = $(`
                • \n \n ${window.i18n.tools.alignLeft.leftAlign}\n \n
                • `);\n ul.append(left);\n nameButton.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n const align = _this.align;\n let oldAligns = _this._buildCellAlign(_this.context, _this.align);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, align);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n left.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"left\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"left\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const center = $(`
                • \n \n ${window.i18n.tools.alignLeft.centerAlign}\n \n
                • `);\n center.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"center\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"center\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(center);\n const right = $(`
                • \n \n ${window.i18n.tools.alignLeft.rightAlign}\n \n
                • `);\n right.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"right\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"right\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(right);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const align = cellStyle.align || \"left\";\n $(\"#align_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n break;\n }\n break;\n }\n }\n\n _buildCellAlign(context, align, prevAligns) {\n const oldAligns = {},\n selected = context.hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n let td = context.hot.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldAligns[i + \",\" + j] = cellStyle.align || \"\";\n if (prevAligns) {\n align = prevAligns[i + \",\" + j];\n }\n $(td).css(\"text-align\", align);\n cellStyle.align = align;\n $(\"#align_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n }\n }\n return oldAligns;\n }\n\n getTitle() {\n return `${window.i18n.tools.alignLeft.leftRightAlign}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/AlignLeftTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AlignLeftTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass AlignLeftTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n const cells = this.context.getSelectedCells();\n if (!cells) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n for (const td of cells) {\n let cellDef = td.cellDef.cellStyle;\n cellDef.align = \"left\";\n $(td).css(\"text-align\", \"left\");\n }\n }\n\n buildButton() {\n const _this = this;\n this.align = \"left\";\n const group = $(`
                  `);\n const nameButton = $(``);\n group.append(nameButton);\n const mainBtn = $(``);\n const ul = $(`
                    `);\n const left = $(`
                  • \n \n ${window.i18n.tools.alignLeft.leftAlign}\n \n
                  • `);\n ul.append(left);\n nameButton.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n const align = _this.align;\n let oldAligns = _this._buildCellAlign(_this.context, _this.align);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, align);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n left.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"left\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"left\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const center = $(`
                  • \n \n ${window.i18n.tools.alignLeft.centerAlign}\n \n
                  • `);\n center.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"center\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"center\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(center);\n const right = $(`
                  • \n \n ${window.i18n.tools.alignLeft.rightAlign}\n \n
                  • `);\n right.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"right\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"right\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(right);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const align = cellStyle.align || \"left\";\n $(\"#align_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n break;\n }\n break;\n }\n }\n\n _buildCellAlign(context, align, prevAligns) {\n const oldAligns = {},\n selected = context.hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n let td = context.hot.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldAligns[i + \",\" + j] = cellStyle.align || \"\";\n if (prevAligns) {\n align = prevAligns[i + \",\" + j];\n }\n $(td).css(\"text-align\", align);\n cellStyle.align = align;\n $(\"#align_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n }\n }\n return oldAligns;\n }\n\n getTitle() {\n return `${window.i18n.tools.alignLeft.leftRightAlign}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/AlignLeftTool.js?"); /***/ }), @@ -5711,7 +5711,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AlignTopTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass AlignTopTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n this.align = \"middle\";\n const group = $(`
                    `);\n const nameButton = $(``);\n group.append(nameButton);\n const mainBtn = $(``);\n nameButton.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n const align = _this.align;\n let oldAligns = _this._buildCellAlign(_this.context, _this.align);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, align);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const ul = $(`
                      `);\n const top = $(`
                    • \n \n ${window.i18n.tools.alignTop.topAlign}\n \n
                    • `);\n top.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"top\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"top\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(top);\n const middle = $(`
                    • \n \n ${window.i18n.tools.alignTop.middleAlign}\n \n
                    • `);\n middle.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"middle\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"middle\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(middle);\n const bottom = $(`
                    • \n \n ${window.i18n.tools.alignTop.bottomAlign}\n \n
                    • `);\n bottom.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"bottom\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"bottom\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(bottom);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const valign = cellStyle.valign || \"top\";\n $(\"#valign_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + valign);\n this.align = valign;\n break;\n }\n break;\n }\n }\n\n _buildCellAlign(context, align, prevAligns) {\n const oldAligns = {},\n selected = context.hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n let td = context.hot.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldAligns[i + \",\" + j] = cellStyle.valign || \"\";\n if (prevAligns) {\n align = prevAligns[i + \",\" + j];\n }\n $(td).css(\"vertical-align\", align);\n cellStyle.valign = align;\n $(\"#valign_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n }\n }\n return oldAligns;\n }\n\n getTitle() {\n return `${window.i18n.tools.alignTop.topAlign}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/AlignTopTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AlignTopTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass AlignTopTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n this.align = \"middle\";\n const group = $(`
                      `);\n const nameButton = $(``);\n group.append(nameButton);\n const mainBtn = $(``);\n nameButton.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n const align = _this.align;\n let oldAligns = _this._buildCellAlign(_this.context, _this.align);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, align);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n const ul = $(`
                        `);\n const top = $(`
                      • \n \n ${window.i18n.tools.alignTop.topAlign}\n \n
                      • `);\n top.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"top\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"top\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(top);\n const middle = $(`
                      • \n \n ${window.i18n.tools.alignTop.middleAlign}\n \n
                      • `);\n middle.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"middle\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"middle\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(middle);\n const bottom = $(`
                      • \n \n ${window.i18n.tools.alignTop.bottomAlign}\n \n
                      • `);\n bottom.click(function () {\n const selectedCells = _this.context.hot.getSelected();\n if (!selectedCells || selectedCells.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let oldAligns = _this._buildCellAlign(_this.context, \"bottom\");\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n undo: function () {\n oldAligns = _this._buildCellAlign(_this.context, null, oldAligns);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n redo: function () {\n oldAligns = _this._buildCellAlign(_this.context, \"bottom\");\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(bottom);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const valign = cellStyle.valign || \"top\";\n $(\"#valign_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + valign);\n this.align = valign;\n break;\n }\n break;\n }\n }\n\n _buildCellAlign(context, align, prevAligns) {\n const oldAligns = {},\n selected = context.hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n let td = context.hot.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldAligns[i + \",\" + j] = cellStyle.valign || \"\";\n if (prevAligns) {\n align = prevAligns[i + \",\" + j];\n }\n $(td).css(\"vertical-align\", align);\n cellStyle.valign = align;\n $(\"#valign_button\").removeClass().addClass(\"icon-ym icon-ym-report-icon-align-\" + align);\n this.align = align;\n }\n }\n return oldAligns;\n }\n\n getTitle() {\n return `${window.i18n.tools.alignTop.topAlign}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/AlignTopTool.js?"); /***/ }), @@ -5723,7 +5723,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BgcolorTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass BgcolorTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n this.bgcolor = \"255,255,255\";\n const group = $(`
                        `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                          `);\n const colorContainer = $(`
                        • `);\n ul.append(colorContainer);\n colorContainer.colorpicker({\n color: '#000',\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'gray1': '#efefef',\n 'gray': '#CCCCCC',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n const _this = this;\n colorContainer.colorpicker().on(\"changeColor\", function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldForecolorStyle = updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldForecolorStyle = updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let bgcolor = oldForecolorStyle[i + \",\" + j];\n cellStyle.bgcolor = bgcolor;\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + bgcolor + \")\");\n _this.bgcolor = bgcolor;\n }\n }\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, _this.bgcolor, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const bgcolor = cellStyle.bgcolor || \"255,255,255\";\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + bgcolor + \")\");\n this.bgcolor = bgcolor;\n break;\n }\n break;\n }\n }\n}\n\nfunction updateCellsBgcolorStyle(context, startRow, startCol, endRow, endCol, color, _this) {\n let hot = context.hot;\n const oldForecolorStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldForecolorStyle[i + \",\" + j] = cellStyle.bgcolor;\n cellStyle.bgcolor = color;\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + color + \")\");\n _this.bgcolor = color;\n }\n }\n hot.render();\n return oldForecolorStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/BgcolorTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BgcolorTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass BgcolorTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n this.bgcolor = \"255,255,255\";\n const group = $(`
                          `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                            `);\n const colorContainer = $(`
                          • `);\n ul.append(colorContainer);\n colorContainer.colorpicker({\n color: '#000',\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'gray1': '#efefef',\n 'gray': '#CCCCCC',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n const _this = this;\n colorContainer.colorpicker().on(\"changeColor\", function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldForecolorStyle = updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldForecolorStyle = updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let bgcolor = oldForecolorStyle[i + \",\" + j];\n cellStyle.bgcolor = bgcolor;\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + bgcolor + \")\");\n _this.bgcolor = bgcolor;\n }\n }\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n updateCellsBgcolorStyle(_this.context, startRow, startCol, endRow, endCol, _this.bgcolor, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const bgcolor = cellStyle.bgcolor || \"255,255,255\";\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + bgcolor + \")\");\n this.bgcolor = bgcolor;\n break;\n }\n break;\n }\n }\n}\n\nfunction updateCellsBgcolorStyle(context, startRow, startCol, endRow, endCol, color, _this) {\n let hot = context.hot;\n const oldForecolorStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldForecolorStyle[i + \",\" + j] = cellStyle.bgcolor;\n cellStyle.bgcolor = color;\n $('.ud-select-bgcolor').css(\"background-color\", \"rgb(\" + color + \")\");\n _this.bgcolor = color;\n }\n }\n hot.render();\n return oldForecolorStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/BgcolorTool.js?"); /***/ }), @@ -5735,7 +5735,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BoldTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass BoldTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const table = this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldBoldStyle = updateCellsBoldStyle(_this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBoldStyle = updateCellsBoldStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let bold = oldBoldStyle[i + \",\" + j];\n cellStyle.bold = bold;\n }\n }\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n\n getTitle() {\n return `${window.i18n.tools.bold.bold}`;\n }\n getIcon() {\n return `
                            `;\n }\n}\n\nfunction updateCellsBoldStyle(context, startRow, startCol, endRow, endCol) {\n let hot = context.hot;\n const oldBoldStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldBoldStyle[i + \",\" + j] = cellStyle.bold;\n if (cellStyle.bold) {\n cellStyle.bold = false;\n } else {\n cellStyle.bold = true;\n }\n }\n }\n hot.render();\n return oldBoldStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/BoldTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BoldTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass BoldTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const table = this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldBoldStyle = updateCellsBoldStyle(_this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBoldStyle = updateCellsBoldStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let bold = oldBoldStyle[i + \",\" + j];\n cellStyle.bold = bold;\n }\n }\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n\n getTitle() {\n return `${window.i18n.tools.bold.bold}`;\n }\n getIcon() {\n return `
                            `;\n }\n}\n\nfunction updateCellsBoldStyle(context, startRow, startCol, endRow, endCol) {\n let hot = context.hot;\n const oldBoldStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldBoldStyle[i + \",\" + j] = cellStyle.bold;\n if (cellStyle.bold) {\n cellStyle.bold = false;\n } else {\n cellStyle.bold = true;\n }\n }\n }\n hot.render();\n return oldBoldStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/BoldTool.js?"); /***/ }), @@ -5747,7 +5747,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BorderTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass BorderTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n const group = $(`
                            `);\n const mainBtn = $(``);\n const ul = $(`
                              `);\n const fullBorder = $(`
                            • \n \n ${window.i18n.tools.border.allLine}\n \n
                            • `);\n fullBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(fullBorder);\n const noBorder = $(`
                            • \n \n ${window.i18n.tools.border.noBorder}\n \n
                            • `);\n noBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = '';\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(noBorder);\n const leftBorder = $(`
                            • \n \n ${window.i18n.tools.border.leftBorder}\n \n
                            • `);\n leftBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'left');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'left');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(leftBorder);\n const rightBorder = $(`
                            • \n \n ${window.i18n.tools.border.rightBorder}\n \n
                            • `);\n rightBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'right');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'right');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(rightBorder);\n const topBorder = $(`
                            • \n \n ${window.i18n.tools.border.topBorder}\n \n
                            • `);\n topBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'top');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'top');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(topBorder);\n const bottomBorder = $(`
                            • \n \n ${window.i18n.tools.border.bottomBorder}\n \n
                            • `);\n bottomBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'bottom');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'bottom');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(bottomBorder);\n ul.append(`
                            • `);\n const customBorder = $(`
                            • \n \n ${window.i18n.tools.border.customBorder}\n \n
                            • `);\n let content = null;\n const topBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const bottomBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const leftBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const rightBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n customBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n content = showCustomBorderDialog(_this.context, content, topBorderStyle, bottomBorderStyle, leftBorderStyle, rightBorderStyle);\n });\n ul.append(customBorder);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n}\n\nfunction showCustomBorderDialog(context, content, topBorderStyle, bottomBorderStyle, leftBorderStyle, rightBorderStyle) {\n if (!content) {\n content = $('
                              ');\n const ul = $(\"\");\n content.append(ul);\n const topLi = $(`
                            • ${window.i18n.tools.border.up}
                            • `);\n ul.append(topLi);\n const bottomLi = $(`
                            • ${window.i18n.tools.border.down}
                            • `);\n ul.append(bottomLi);\n const leftLi = $(`
                            • ${window.i18n.tools.border.left}
                            • `);\n ul.append(leftLi);\n const rightLi = $(`
                            • ${window.i18n.tools.border.right}
                            • `);\n ul.append(rightLi);\n\n const tabContent = $(\"
                              \");\n const topBorderConfig = $(`
                              `);\n tabContent.append(topBorderConfig);\n buildBorderStyleContent(topBorderConfig, topBorderStyle);\n\n const bottomBorderConfig = $(`
                              `);\n tabContent.append(bottomBorderConfig);\n buildBorderStyleContent(bottomBorderConfig, bottomBorderStyle);\n\n const leftBorderConfig = $(`
                              `);\n tabContent.append(leftBorderConfig);\n buildBorderStyleContent(leftBorderConfig, leftBorderStyle);\n\n const rightBorderConfig = $(`
                              `);\n tabContent.append(rightBorderConfig);\n buildBorderStyleContent(rightBorderConfig, rightBorderStyle);\n content.append(tabContent);\n }\n\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"dialog\"])(`${window.i18n.tools.border.customBorderLine}`, content, function () {\n const selected = context.hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let oldBorderStyle = updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle);\n },\n undo: function () {\n updateOldBorderStyles(context, startRow, startCol, endRow, endCol, oldBorderStyle);\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n content.parents('.modal-content').css({ width: '280px' });\n return content;\n}\n\nfunction updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle) {\n let hot = context.hot;\n let left = leftBorderStyle,\n right = rightBorderStyle,\n top = topBorderStyle,\n bottom = bottomBorderStyle;\n if (leftBorderStyle.style === 'none') {\n left = \"\";\n }\n if (rightBorderStyle.style === 'none') {\n right = \"\";\n }\n if (topBorderStyle.style === 'none') {\n top = \"\";\n }\n if (bottomBorderStyle.style === 'none') {\n bottom = \"\";\n }\n const oldBorderStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldBorderStyle[i + \",\" + j] = {\n leftBorder: cellStyle.leftBorder,\n rightBorder: cellStyle.rightBorder,\n topBorder: cellStyle.topBorder,\n bottomBorder: cellStyle.bottomBorder\n };\n cellStyle.leftBorder = cloneBorder(left);\n cellStyle.rightBorder = cloneBorder(right);\n cellStyle.topBorder = cloneBorder(top);\n cellStyle.bottomBorder = cloneBorder(bottom);\n }\n }\n hot.render();\n return oldBorderStyle;\n}\n\nfunction cloneBorder(border) {\n if (border && border !== \"\") {\n const text = JSON.stringify(border);\n const newJson = JSON.parse(text);\n return newJson;\n } else {\n return border;\n }\n}\n\nfunction buildBorderStyleContent(borderConfig, borderStyle) {\n const borderLineContainer = $(`
                              ${window.i18n.tools.border.lineStyle}:
                              `);\n borderConfig.append(borderLineContainer);\n const borderLineList = $(`\n \n `);\n borderLineContainer.append(borderLineList);\n borderLineList.change(function () {\n const value = $(this).val();\n borderStyle.style = value;\n });\n\n const borderSizeContainer = $(`
                              ${window.i18n.tools.border.size}:
                              `);\n borderConfig.append(borderSizeContainer);\n const borderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n if (borderStyle.width === i) {\n borderSizeList.append(``);\n } else {\n borderSizeList.append(``);\n }\n }\n borderSizeContainer.append(borderSizeList);\n borderSizeList.change(function () {\n borderStyle.width = $(this).val();\n });\n\n const borderColor = $(`
                              `);\n borderConfig.append(borderColor);\n const topBorderColorContainer = $(`
                              ${window.i18n.tools.border.color}:
                              `);\n borderColor.append(topBorderColorContainer);\n topBorderColorContainer.colorpicker({\n color: borderStyle.color,\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n topBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n borderStyle.color = color;\n });\n}\n\nfunction updateOldBorderStyles(context, startRow, startCol, endRow, endCol, oldBorderStyle) {\n let hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let oldBorder = oldBorderStyle[i + \",\" + j];\n let cellStyle = cellDef.cellStyle;\n cellStyle.leftBorder = oldBorder.leftBorder || \"\";\n cellStyle.rightBorder = oldBorder.rightBorder || \"\";\n cellStyle.topBorder = oldBorder.topBorder || \"\";\n cellStyle.bottomBorder = oldBorder.bottomBorder || \"\";\n }\n }\n hot.render();\n}\n\nfunction updateBorderStyles(context, startRow, startCol, endRow, endCol, newBorder, target) {\n const oldStyle = {},\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldStyle[i + \",\" + j] = {\n leftBorder: cellStyle.leftBorder,\n rightBorder: cellStyle.rightBorder,\n topBorder: cellStyle.topBorder,\n bottomBorder: cellStyle.bottomBorder\n };\n if (!target) {\n cellStyle.leftBorder = newBorder;\n cellStyle.rightBorder = newBorder;\n cellStyle.topBorder = newBorder;\n cellStyle.bottomBorder = newBorder;\n } else if (target === 'left') {\n cellStyle.leftBorder = newBorder;\n cellStyle.rightBorder = '';\n cellStyle.topBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'right') {\n cellStyle.rightBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.topBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'top') {\n cellStyle.topBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.rightBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'bottom') {\n cellStyle.bottomBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.rightBorder = '';\n cellStyle.topBorder = '';\n }\n }\n }\n return oldStyle;\n};\n\n//# sourceURL=webpack:///./src/tools/BorderTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BorderTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass BorderTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n const group = $(`
                              `);\n const mainBtn = $(``);\n const ul = $(`
                                `);\n const fullBorder = $(`
                              • \n \n ${window.i18n.tools.border.allLine}\n \n
                              • `);\n fullBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(fullBorder);\n const noBorder = $(`
                              • \n \n ${window.i18n.tools.border.noBorder}\n \n
                              • `);\n noBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = '';\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder);\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(noBorder);\n const leftBorder = $(`
                              • \n \n ${window.i18n.tools.border.leftBorder}\n \n
                              • `);\n leftBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'left');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'left');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(leftBorder);\n const rightBorder = $(`
                              • \n \n ${window.i18n.tools.border.rightBorder}\n \n
                              • `);\n rightBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'right');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'right');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(rightBorder);\n const topBorder = $(`
                              • \n \n ${window.i18n.tools.border.topBorder}\n \n
                              • `);\n topBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'top');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'top');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(topBorder);\n const bottomBorder = $(`
                              • \n \n ${window.i18n.tools.border.bottomBorder}\n \n
                              • `);\n bottomBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected(),\n oldStyle = {};\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let newBorder = {\n width: 1,\n color: '0,0,0',\n style: 'solid'\n };\n let oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'bottom');\n table.render();\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateBorderStyles(_this.context, startRow, startCol, endRow, endCol, newBorder, 'bottom');\n table.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n updateOldBorderStyles(_this.context, startRow, startCol, endRow, endCol, oldBorderStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n ul.append(bottomBorder);\n ul.append(`
                              • `);\n const customBorder = $(`
                              • \n \n ${window.i18n.tools.border.customBorder}\n \n
                              • `);\n let content = null;\n const topBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const bottomBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const leftBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n const rightBorderStyle = { width: 1, style: 'solid', color: '0,0,0' };\n customBorder.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n content = showCustomBorderDialog(_this.context, content, topBorderStyle, bottomBorderStyle, leftBorderStyle, rightBorderStyle);\n });\n ul.append(customBorder);\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n}\n\nfunction showCustomBorderDialog(context, content, topBorderStyle, bottomBorderStyle, leftBorderStyle, rightBorderStyle) {\n if (!content) {\n content = $('
                                ');\n const ul = $(\"\");\n content.append(ul);\n const topLi = $(`
                              • ${window.i18n.tools.border.up}
                              • `);\n ul.append(topLi);\n const bottomLi = $(`
                              • ${window.i18n.tools.border.down}
                              • `);\n ul.append(bottomLi);\n const leftLi = $(`
                              • ${window.i18n.tools.border.left}
                              • `);\n ul.append(leftLi);\n const rightLi = $(`
                              • ${window.i18n.tools.border.right}
                              • `);\n ul.append(rightLi);\n\n const tabContent = $(\"
                                \");\n const topBorderConfig = $(`
                                `);\n tabContent.append(topBorderConfig);\n buildBorderStyleContent(topBorderConfig, topBorderStyle);\n\n const bottomBorderConfig = $(`
                                `);\n tabContent.append(bottomBorderConfig);\n buildBorderStyleContent(bottomBorderConfig, bottomBorderStyle);\n\n const leftBorderConfig = $(`
                                `);\n tabContent.append(leftBorderConfig);\n buildBorderStyleContent(leftBorderConfig, leftBorderStyle);\n\n const rightBorderConfig = $(`
                                `);\n tabContent.append(rightBorderConfig);\n buildBorderStyleContent(rightBorderConfig, rightBorderStyle);\n content.append(tabContent);\n }\n\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"dialog\"])(`${window.i18n.tools.border.customBorderLine}`, content, function () {\n const selected = context.hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let oldBorderStyle = updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldBorderStyle = updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle);\n },\n undo: function () {\n updateOldBorderStyles(context, startRow, startCol, endRow, endCol, oldBorderStyle);\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n content.parents('.modal-content').css({ width: '280px' });\n return content;\n}\n\nfunction updateCustomBorderStyle(context, startRow, startCol, endRow, endCol, leftBorderStyle, rightBorderStyle, topBorderStyle, bottomBorderStyle) {\n let hot = context.hot;\n let left = leftBorderStyle,\n right = rightBorderStyle,\n top = topBorderStyle,\n bottom = bottomBorderStyle;\n if (leftBorderStyle.style === 'none') {\n left = \"\";\n }\n if (rightBorderStyle.style === 'none') {\n right = \"\";\n }\n if (topBorderStyle.style === 'none') {\n top = \"\";\n }\n if (bottomBorderStyle.style === 'none') {\n bottom = \"\";\n }\n const oldBorderStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n const cellStyle = cellDef.cellStyle;\n oldBorderStyle[i + \",\" + j] = {\n leftBorder: cellStyle.leftBorder,\n rightBorder: cellStyle.rightBorder,\n topBorder: cellStyle.topBorder,\n bottomBorder: cellStyle.bottomBorder\n };\n cellStyle.leftBorder = cloneBorder(left);\n cellStyle.rightBorder = cloneBorder(right);\n cellStyle.topBorder = cloneBorder(top);\n cellStyle.bottomBorder = cloneBorder(bottom);\n }\n }\n hot.render();\n return oldBorderStyle;\n}\n\nfunction cloneBorder(border) {\n if (border && border !== \"\") {\n const text = JSON.stringify(border);\n const newJson = JSON.parse(text);\n return newJson;\n } else {\n return border;\n }\n}\n\nfunction buildBorderStyleContent(borderConfig, borderStyle) {\n const borderLineContainer = $(`
                                ${window.i18n.tools.border.lineStyle}:
                                `);\n borderConfig.append(borderLineContainer);\n const borderLineList = $(`\n \n `);\n borderLineContainer.append(borderLineList);\n borderLineList.change(function () {\n const value = $(this).val();\n borderStyle.style = value;\n });\n\n const borderSizeContainer = $(`
                                ${window.i18n.tools.border.size}:
                                `);\n borderConfig.append(borderSizeContainer);\n const borderSizeList = $(`\n \n `);\n for (let i = 1; i <= 10; i++) {\n if (borderStyle.width === i) {\n borderSizeList.append(``);\n } else {\n borderSizeList.append(``);\n }\n }\n borderSizeContainer.append(borderSizeList);\n borderSizeList.change(function () {\n borderStyle.width = $(this).val();\n });\n\n const borderColor = $(`
                                `);\n borderConfig.append(borderColor);\n const topBorderColorContainer = $(`
                                ${window.i18n.tools.border.color}:
                                `);\n borderColor.append(topBorderColorContainer);\n topBorderColorContainer.colorpicker({\n color: borderStyle.color,\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n topBorderColorContainer.colorpicker().on(\"changeColor\", function (e) {\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n borderStyle.color = color;\n });\n}\n\nfunction updateOldBorderStyles(context, startRow, startCol, endRow, endCol, oldBorderStyle) {\n let hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let oldBorder = oldBorderStyle[i + \",\" + j];\n let cellStyle = cellDef.cellStyle;\n cellStyle.leftBorder = oldBorder.leftBorder || \"\";\n cellStyle.rightBorder = oldBorder.rightBorder || \"\";\n cellStyle.topBorder = oldBorder.topBorder || \"\";\n cellStyle.bottomBorder = oldBorder.bottomBorder || \"\";\n }\n }\n hot.render();\n}\n\nfunction updateBorderStyles(context, startRow, startCol, endRow, endCol, newBorder, target) {\n const oldStyle = {},\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldStyle[i + \",\" + j] = {\n leftBorder: cellStyle.leftBorder,\n rightBorder: cellStyle.rightBorder,\n topBorder: cellStyle.topBorder,\n bottomBorder: cellStyle.bottomBorder\n };\n if (!target) {\n cellStyle.leftBorder = newBorder;\n cellStyle.rightBorder = newBorder;\n cellStyle.topBorder = newBorder;\n cellStyle.bottomBorder = newBorder;\n } else if (target === 'left') {\n cellStyle.leftBorder = newBorder;\n cellStyle.rightBorder = '';\n cellStyle.topBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'right') {\n cellStyle.rightBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.topBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'top') {\n cellStyle.topBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.rightBorder = '';\n cellStyle.bottomBorder = '';\n } else if (target === 'bottom') {\n cellStyle.bottomBorder = newBorder;\n cellStyle.leftBorder = '';\n cellStyle.rightBorder = '';\n cellStyle.topBorder = '';\n }\n }\n }\n return oldStyle;\n};\n\n//# sourceURL=webpack:///./src/tools/BorderTool.js?"); /***/ }), @@ -5759,7 +5759,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ChartTool; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\n\nclass ChartTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n execute() {}\n buildButton() {\n const _this = this;\n const group = $(`
                                `);\n const mainBtn = $(``);\n const ul = $(`
                                  `);\n const pie = $(`
                                • \n \n ${window.i18n.tools.chart.pie}\n \n
                                • `);\n ul.append(pie);\n pie.click(function () {\n _this._doClick('pie');\n });\n const doughnut = $(`
                                • \n \n ${window.i18n.tools.chart.doughnut}\n \n
                                • `);\n ul.append(doughnut);\n doughnut.click(function () {\n _this._doClick('doughnut');\n });\n const line = $(`
                                • \n \n ${window.i18n.tools.chart.line}\n \n
                                • `);\n ul.append(line);\n line.click(function () {\n _this._doClick('line');\n });\n const bar = $(`
                                • \n \n ${window.i18n.tools.chart.bar}\n \n
                                • `);\n ul.append(bar);\n bar.click(function () {\n _this._doClick('bar');\n });\n const horBar = $(`
                                • \n \n ${window.i18n.tools.chart.horizontalBar}\n \n
                                • `);\n ul.append(horBar);\n horBar.click(function () {\n _this._doClick('horizontalBar');\n });\n const area = $(`
                                • \n \n ${window.i18n.tools.chart.area}\n \n
                                • `);\n ul.append(area);\n area.click(function () {\n _this._doClick('area');\n });\n const radar = $(`
                                • \n \n ${window.i18n.tools.chart.radar}\n \n
                                • `);\n ul.append(radar);\n radar.click(function () {\n _this._doClick('radar');\n });\n const polar = $(`
                                • \n \n ${window.i18n.tools.chart.polar}\n \n
                                • `);\n ul.append(polar);\n polar.click(function () {\n _this._doClick('polarArea');\n });\n const scatter = $(`
                                • \n \n ${window.i18n.tools.chart.scatter}\n \n
                                • `);\n ul.append(scatter);\n scatter.click(function () {\n _this._doClick('scatter');\n });\n const bubble = $(`
                                • \n \n ${window.i18n.tools.chart.bubble}\n \n
                                • `);\n ul.append(bubble);\n bubble.click(function () {\n _this._doClick('bubble');\n });\n\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n _doClick(category) {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n cellDef.value = {\n type: 'chart',\n chart: this._newChart(category)\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n cellDef.value = {\n type: 'chart',\n chart: _this._newChart(category)\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n }\n _newChart(category) {\n return {\n dataset: {\n type: category\n }\n };\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ChartTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ChartTool; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\n\nclass ChartTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n execute() {}\n buildButton() {\n const _this = this;\n const group = $(`
                                  `);\n const mainBtn = $(``);\n const ul = $(`
                                    `);\n const pie = $(`
                                  • \n \n ${window.i18n.tools.chart.pie}\n \n
                                  • `);\n ul.append(pie);\n pie.click(function () {\n _this._doClick('pie');\n });\n const doughnut = $(`
                                  • \n \n ${window.i18n.tools.chart.doughnut}\n \n
                                  • `);\n ul.append(doughnut);\n doughnut.click(function () {\n _this._doClick('doughnut');\n });\n const line = $(`
                                  • \n \n ${window.i18n.tools.chart.line}\n \n
                                  • `);\n ul.append(line);\n line.click(function () {\n _this._doClick('line');\n });\n const bar = $(`
                                  • \n \n ${window.i18n.tools.chart.bar}\n \n
                                  • `);\n ul.append(bar);\n bar.click(function () {\n _this._doClick('bar');\n });\n const horBar = $(`
                                  • \n \n ${window.i18n.tools.chart.horizontalBar}\n \n
                                  • `);\n ul.append(horBar);\n horBar.click(function () {\n _this._doClick('horizontalBar');\n });\n const area = $(`
                                  • \n \n ${window.i18n.tools.chart.area}\n \n
                                  • `);\n ul.append(area);\n area.click(function () {\n _this._doClick('area');\n });\n const radar = $(`
                                  • \n \n ${window.i18n.tools.chart.radar}\n \n
                                  • `);\n ul.append(radar);\n radar.click(function () {\n _this._doClick('radar');\n });\n const polar = $(`
                                  • \n \n ${window.i18n.tools.chart.polar}\n \n
                                  • `);\n ul.append(polar);\n polar.click(function () {\n _this._doClick('polarArea');\n });\n const scatter = $(`
                                  • \n \n ${window.i18n.tools.chart.scatter}\n \n
                                  • `);\n ul.append(scatter);\n scatter.click(function () {\n _this._doClick('scatter');\n });\n const bubble = $(`
                                  • \n \n ${window.i18n.tools.chart.bubble}\n \n
                                  • `);\n ul.append(bubble);\n bubble.click(function () {\n _this._doClick('bubble');\n });\n\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n _doClick(category) {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n cellDef.value = {\n type: 'chart',\n chart: this._newChart(category)\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n cellDef.value = {\n type: 'chart',\n chart: _this._newChart(category)\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n }\n _newChart(category) {\n return {\n dataset: {\n type: category\n }\n };\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ChartTool.js?"); /***/ }), @@ -5771,7 +5771,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CrosstabTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _dialog_CrosstabDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dialog/CrosstabDialog.js */ \"./src/dialog/CrosstabDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\n\n\nclass CrosstabTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const hot = this.context.hot;\n const selected = hot.getSelected();\n const rowIndex = selected[0],\n colIndex = selected[1];\n const cellDef = this.context.getCell(rowIndex, colIndex);\n let oldCellData = hot.getDataAtCell(rowIndex, colIndex);\n let oldCellDataValue = cellDef.value;\n const $td = $(hot.getCell(rowIndex, colIndex));\n const _this = this;\n const dialog = new _dialog_CrosstabDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n dialog.show(function (value) {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.context, rowIndex, colIndex, null, value);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldCellData = hot.getDataAtCell(rowIndex, colIndex);\n oldCellDataValue = cellDef.value;\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.context, rowIndex, colIndex, null, value);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n },\n undo: function () {\n cellDef.value = oldCellDataValue;\n cellDef.crossTabWidget = null;\n hot.setDataAtCell(rowIndex, colIndex, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n }\n });\n });\n }\n\n getTitle() {\n return `${window.i18n.tools.crosstab.title}`;\n }\n getIcon() {\n return `
                                    `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/CrosstabTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CrosstabTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widget/CrossTabWidget.js */ \"./src/widget/CrossTabWidget.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _dialog_CrosstabDialog_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dialog/CrosstabDialog.js */ \"./src/dialog/CrosstabDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\n\n\nclass CrosstabTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const hot = this.context.hot;\n const selected = hot.getSelected();\n const rowIndex = selected[0],\n colIndex = selected[1];\n const cellDef = this.context.getCell(rowIndex, colIndex);\n let oldCellData = hot.getDataAtCell(rowIndex, colIndex);\n let oldCellDataValue = cellDef.value;\n const $td = $(hot.getCell(rowIndex, colIndex));\n const _this = this;\n const dialog = new _dialog_CrosstabDialog_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n dialog.show(function (value) {\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.context, rowIndex, colIndex, null, value);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldCellData = hot.getDataAtCell(rowIndex, colIndex);\n oldCellDataValue = cellDef.value;\n cellDef.crossTabWidget = new _widget_CrossTabWidget_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](_this.context, rowIndex, colIndex, null, value);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n },\n undo: function () {\n cellDef.value = oldCellDataValue;\n cellDef.crossTabWidget = null;\n hot.setDataAtCell(rowIndex, colIndex, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_3___default.a.hooks.run(hot, 'afterSelectionEnd', rowIndex, colIndex, selected[2], selected[3]);\n }\n });\n });\n }\n\n getTitle() {\n return `${window.i18n.tools.crosstab.title}`;\n }\n getIcon() {\n return `
                                    `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/CrosstabTool.js?"); /***/ }), @@ -5783,7 +5783,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontFamilyTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass FontFamilyTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n const _this = this;\n this.fontFamily = \"宋体\";\n const group = $(`
                                    `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                      `);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n\n for (let font of fonts) {\n let family = $(`
                                    • ${font}
                                    • `);\n ul.append(family);\n family.click(function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontFamily.call(_this, _this.context, family.attr(\"data\"), _this.nameButton);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontFamily.call(_this, _this.context, _this.fontFamily, _this.nameButton);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const fontFamily = cellStyle.fontFamily || \"宋体\";\n this.nameButton.html(fontFamily);\n this.fontFamily = fontFamily;\n break;\n }\n break;\n }\n }\n}\n\nfunction triggerFontFamily(context, fontfamily, nameButton) {\n let hot = context.hot;\n let selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n const _this = this;\n let oldFontFamily = updateFontFamily(context, startRow, startCol, endRow, endCol, fontfamily, nameButton, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldFontFamily = updateFontFamily(context, startRow, startCol, endRow, endCol, fontfamily, nameButton, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n cellStyle.fontFamily = oldFontFamily[i + ',' + j];\n nameButton.html(cellStyle.fontFamily);\n _this.fontFamily = cellStyle.fontFamily;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n}\n\nfunction updateFontFamily(context, startRow, startCol, endRow, endCol, fontFamily, nameButton, _this) {\n let hot = context.hot;\n const oldFontFamily = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldFontFamily[i + ',' + j] = cellStyle.fontFamily;\n cellStyle.fontFamily = fontFamily;\n nameButton.html(fontFamily);\n _this.fontFamily = fontFamily;\n }\n }\n hot.render();\n return oldFontFamily;\n}\n\n//# sourceURL=webpack:///./src/tools/FontFamilyTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontFamilyTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass FontFamilyTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n const _this = this;\n this.fontFamily = \"宋体\";\n const group = $(`
                                      `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                        `);\n const fonts = [];\n fonts.push(\"宋体\");\n fonts.push(\"仿宋\");\n fonts.push(\"黑体\");\n fonts.push(\"楷体\");\n fonts.push(\"微软雅黑\");\n fonts.push(\"Arial\");\n fonts.push(\"Impact\");\n fonts.push(\"Times New Roman\");\n fonts.push(\"Comic Sans MS\");\n fonts.push(\"Courier New\");\n\n for (let font of fonts) {\n let family = $(`
                                      • ${font}
                                      • `);\n ul.append(family);\n family.click(function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontFamily.call(_this, _this.context, family.attr(\"data\"), _this.nameButton);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n }\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontFamily.call(_this, _this.context, _this.fontFamily, _this.nameButton);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const fontFamily = cellStyle.fontFamily || \"宋体\";\n this.nameButton.html(fontFamily);\n this.fontFamily = fontFamily;\n break;\n }\n break;\n }\n }\n}\n\nfunction triggerFontFamily(context, fontfamily, nameButton) {\n let hot = context.hot;\n let selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n const _this = this;\n let oldFontFamily = updateFontFamily(context, startRow, startCol, endRow, endCol, fontfamily, nameButton, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldFontFamily = updateFontFamily(context, startRow, startCol, endRow, endCol, fontfamily, nameButton, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n cellStyle.fontFamily = oldFontFamily[i + ',' + j];\n nameButton.html(cellStyle.fontFamily);\n _this.fontFamily = cellStyle.fontFamily;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n}\n\nfunction updateFontFamily(context, startRow, startCol, endRow, endCol, fontFamily, nameButton, _this) {\n let hot = context.hot;\n const oldFontFamily = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldFontFamily[i + ',' + j] = cellStyle.fontFamily;\n cellStyle.fontFamily = fontFamily;\n nameButton.html(fontFamily);\n _this.fontFamily = fontFamily;\n }\n }\n hot.render();\n return oldFontFamily;\n}\n\n//# sourceURL=webpack:///./src/tools/FontFamilyTool.js?"); /***/ }), @@ -5795,7 +5795,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontSizeTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass FontSizeTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n this.fontSize = 10;\n const group = $(`
                                        `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                          `);\n for (let i = 9; i <= 100; i++) {\n let size = $(`
                                        • ${i}
                                        • `);\n ul.append(size);\n size.click(function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontSize.call(this, _this.context, size.attr(\"data\"), _this.nameButton, _this);\n });\n }\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontSize.call(this, _this.context, this.fontSize, _this.nameButton, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const fontSize = cellStyle.fontSize || 10;\n this.nameButton.html(fontSize);\n this.fontSize = fontSize;\n break;\n }\n break;\n }\n }\n}\n\nfunction triggerFontSize(context, fontsize, nameButton, _this) {\n let hot = context.hot;\n let selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldFontSize = updateFontSize(context, startRow, startCol, endRow, endCol, fontsize, nameButton, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldFontSize = updateFontSize(context, startRow, startCol, endRow, endCol, fontsize, nameButton, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n cellStyle.fontSize = oldFontSize[i + ',' + j];\n nameButton.html(cellStyle.fontSize);\n _this.fontSize = cellStyle.fontSize;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n}\n\nfunction updateFontSize(context, startRow, startCol, endRow, endCol, size, nameButton, _this) {\n let hot = context.hot;\n const oldFontSize = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldFontSize[i + ',' + j] = cellStyle.fontSize;\n cellStyle.fontSize = size;\n nameButton.html(size);\n _this.fontSize = size;\n }\n }\n hot.render();\n return oldFontSize;\n}\n\n//# sourceURL=webpack:///./src/tools/FontSizeTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FontSizeTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass FontSizeTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const _this = this;\n this.fontSize = 10;\n const group = $(`
                                          `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                            `);\n for (let i = 9; i <= 100; i++) {\n let size = $(`
                                          • ${i}
                                          • `);\n ul.append(size);\n size.click(function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontSize.call(this, _this.context, size.attr(\"data\"), _this.nameButton, _this);\n });\n }\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n triggerFontSize.call(this, _this.context, this.fontSize, _this.nameButton, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const fontSize = cellStyle.fontSize || 10;\n this.nameButton.html(fontSize);\n this.fontSize = fontSize;\n break;\n }\n break;\n }\n }\n}\n\nfunction triggerFontSize(context, fontsize, nameButton, _this) {\n let hot = context.hot;\n let selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldFontSize = updateFontSize(context, startRow, startCol, endRow, endCol, fontsize, nameButton, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldFontSize = updateFontSize(context, startRow, startCol, endRow, endCol, fontsize, nameButton, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n cellStyle.fontSize = oldFontSize[i + ',' + j];\n nameButton.html(cellStyle.fontSize);\n _this.fontSize = cellStyle.fontSize;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n}\n\nfunction updateFontSize(context, startRow, startCol, endRow, endCol, size, nameButton, _this) {\n let hot = context.hot;\n const oldFontSize = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldFontSize[i + ',' + j] = cellStyle.fontSize;\n cellStyle.fontSize = size;\n nameButton.html(size);\n _this.fontSize = size;\n }\n }\n hot.render();\n return oldFontSize;\n}\n\n//# sourceURL=webpack:///./src/tools/FontSizeTool.js?"); /***/ }), @@ -5807,7 +5807,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ForecolorTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass ForecolorTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n this.forecolor = \"0,0,0\";\n const group = $(`
                                            `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                              `);\n const colorContainer = $(`
                                            • `);\n ul.append(colorContainer);\n colorContainer.colorpicker({\n color: '#000',\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'gray1': '#efefef',\n 'gray': '#CCCCCC',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n const _this = this;\n colorContainer.colorpicker().on(\"changeColor\", function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldForecolorStyle = updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldForecolorStyle = updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let forecolor = oldForecolorStyle[i + \",\" + j];\n cellStyle.forecolor = forecolor;\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + forecolor + \")\");\n _this.forecolor = forecolor;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, _this.forecolor, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const forecolor = cellStyle.forecolor || \"0,0,0\";\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + forecolor + \")\");\n this.forecolor = forecolor;\n break;\n }\n break;\n }\n }\n}\n\nfunction updateCellsForecolorStyle(context, startRow, startCol, endRow, endCol, color, _this) {\n let hot = context.hot;\n const oldForecolorStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldForecolorStyle[i + \",\" + j] = cellStyle.forecolor;\n cellStyle.forecolor = color;\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + color + \")\");\n _this.forecolor = color;\n }\n }\n hot.render();\n return oldForecolorStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/ForecolorTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ForecolorTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass ForecolorTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n buildButton() {\n this.forecolor = \"0,0,0\";\n const group = $(`
                                              `);\n this.nameButton = $(``);\n group.append(this.nameButton);\n const mainBtn = $(``);\n const ul = $(`
                                                `);\n const colorContainer = $(`
                                              • `);\n ul.append(colorContainer);\n colorContainer.colorpicker({\n color: '#000',\n container: true,\n inline: true,\n colorSelectors: {\n 'black': '#000000',\n 'white': '#FFFFFF',\n 'gray1': '#efefef',\n 'gray': '#CCCCCC',\n 'red': '#FF0000',\n 'default': '#777777',\n 'primary': '#337ab7',\n 'success': '#5cb85c',\n 'info': '#5bc0de',\n 'warning': '#f0ad4e',\n 'danger': '#d9534f'\n }\n });\n const _this = this;\n colorContainer.colorpicker().on(\"changeColor\", function (e) {\n if (!_this.checkSelection()) {\n return;\n }\n let rgb = e.color.toRGB();\n let color = rgb.r + \",\" + rgb.g + \",\" + rgb.b;\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldForecolorStyle = updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldForecolorStyle = updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, color, _this);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let forecolor = oldForecolorStyle[i + \",\" + j];\n cellStyle.forecolor = forecolor;\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + forecolor + \")\");\n _this.forecolor = forecolor;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n });\n this.nameButton.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const table = _this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n updateCellsForecolorStyle(_this.context, startRow, startCol, endRow, endCol, _this.forecolor, _this);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n refresh(startRow, startCol, endRow, endCol) {\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n const forecolor = cellStyle.forecolor || \"0,0,0\";\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + forecolor + \")\");\n this.forecolor = forecolor;\n break;\n }\n break;\n }\n }\n}\n\nfunction updateCellsForecolorStyle(context, startRow, startCol, endRow, endCol, color, _this) {\n let hot = context.hot;\n const oldForecolorStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldForecolorStyle[i + \",\" + j] = cellStyle.forecolor;\n cellStyle.forecolor = color;\n $('.ud-select-color').css(\"background-color\", \"rgb(\" + color + \")\");\n _this.forecolor = color;\n }\n }\n hot.render();\n return oldForecolorStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/ForecolorTool.js?"); /***/ }), @@ -5819,7 +5819,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImageTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass ImageTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const hot = this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldCellDef = this.context.getCell(startRow, startCol);\n let oldCellData = hot.getDataAtCell(startRow, startCol);\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildNewCellDef\"])(startRow + 1, startCol + 1);\n newCellDef.value = {\n type: 'image',\n source: 'text',\n value: ''\n };\n this.context.addCell(newCellDef);\n const imagePath = './icons/image.svg';\n const image = $(``);\n let $td = $(hot.getCell(startRow, startCol));\n $td.empty();\n $td.append(image);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldCellDef = _this.context.getCell(startRow, startCol);\n oldCellData = hot.getDataAtCell(startRow, startCol);\n newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildNewCellDef\"])(startRow + 1, startCol + 1);\n newCellDef.value = {\n type: 'image',\n source: 'text',\n value: ''\n };\n _this.context.addCell(newCellDef);\n hot.setDataAtCell(startRow, startCol, '');\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n _this.context.addCell(oldCellDef);\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n }\n getTitle() {\n return `${window.i18n.image}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ImageTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImageTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass ImageTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const hot = this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldCellDef = this.context.getCell(startRow, startCol);\n let oldCellData = hot.getDataAtCell(startRow, startCol);\n let newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildNewCellDef\"])(startRow + 1, startCol + 1);\n newCellDef.value = {\n type: 'image',\n source: 'text',\n value: ''\n };\n this.context.addCell(newCellDef);\n const imagePath = './icons/image.svg';\n const image = $(``);\n let $td = $(hot.getCell(startRow, startCol));\n $td.empty();\n $td.append(image);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n\n const _this = this;\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldCellDef = _this.context.getCell(startRow, startCol);\n oldCellData = hot.getDataAtCell(startRow, startCol);\n newCellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"buildNewCellDef\"])(startRow + 1, startCol + 1);\n newCellDef.value = {\n type: 'image',\n source: 'text',\n value: ''\n };\n _this.context.addCell(newCellDef);\n hot.setDataAtCell(startRow, startCol, '');\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n _this.context.addCell(oldCellDef);\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n }\n getTitle() {\n return `${window.i18n.image}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ImageTool.js?"); /***/ }), @@ -5831,7 +5831,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImportTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_ImportDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/ImportDialog.js */ \"./src/dialog/ImportDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass ImportTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context, reportTable) {\n super(context);\n this.dialog = new _dialog_ImportDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](context, reportTable);\n }\n\n execute() {\n this.dialog.show();\n }\n\n getTitle() {\n return `${window.i18n.importExcel}`;\n }\n\n getIcon() {\n return `
                                                `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ImportTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ImportTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_ImportDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/ImportDialog.js */ \"./src/dialog/ImportDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass ImportTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context, reportTable) {\n super(context);\n this.dialog = new _dialog_ImportDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](context, reportTable);\n }\n\n execute() {\n this.dialog.show();\n }\n\n getTitle() {\n return `${window.i18n.importExcel}`;\n }\n\n getIcon() {\n return `
                                                `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ImportTool.js?"); /***/ }), @@ -5843,7 +5843,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ItalicTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass ItalicTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const hot = this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldItalicStyle = updateCellsItalicStyle(_this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldItalicStyle = updateCellsItalicStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let italic = oldItalicStyle[i + \",\" + j];\n cellStyle.italic = italic;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.italic}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\nfunction updateCellsItalicStyle(context, startRow, startCol, endRow, endCol) {\n let hot = context.hot;\n const oldItalicStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldItalicStyle[i + \",\" + j] = cellStyle.italic;\n if (cellStyle.italic) {\n cellStyle.italic = false;\n } else {\n cellStyle.italic = true;\n }\n }\n }\n hot.render();\n return oldItalicStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/ItalicTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ItalicTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass ItalicTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const hot = this.context.hot;\n const selected = hot.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldItalicStyle = updateCellsItalicStyle(_this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldItalicStyle = updateCellsItalicStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = _this.context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n let italic = oldItalicStyle[i + \",\" + j];\n cellStyle.italic = italic;\n }\n }\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.italic}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\nfunction updateCellsItalicStyle(context, startRow, startCol, endRow, endCol) {\n let hot = context.hot;\n const oldItalicStyle = {};\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let cellStyle = cellDef.cellStyle;\n oldItalicStyle[i + \",\" + j] = cellStyle.italic;\n if (cellStyle.italic) {\n cellStyle.italic = false;\n } else {\n cellStyle.italic = true;\n }\n }\n }\n hot.render();\n return oldItalicStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/ItalicTool.js?"); /***/ }), @@ -5855,7 +5855,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UndoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\nclass UndoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n buildButton() {\n const btn = $(``);\n return btn;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/LineTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UndoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\nclass UndoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n buildButton() {\n const btn = $(``);\n return btn;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/LineTool.js?"); /***/ }), @@ -5867,7 +5867,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MergeTool; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n\n\n\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\nclass MergeTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n execute() {\n const table = this.context.hot;\n const selected = table.getSelected();\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let mergeCells = table.getSettings().mergeCells || [];\n let oldMergeCells = mergeCells.concat([]);\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n const _this = this;\n doMergeCells(startRow, startCol, endRow, endCol, table, this.context);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n mergeCells = table.getSettings().mergeCells || [];\n oldMergeCells = mergeCells.concat([]);\n doMergeCells(startRow, startCol, endRow, endCol, table, _this.context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n table.updateSettings({ mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.mergeSplitCells}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\nfunction doMergeCells(startRow, startCol, endRow, endCol, table, context) {\n let doMerge = true,\n doSplit = false;\n const selectCell = context.getCell(startRow, startCol);\n const mergeCells = table.getSettings().mergeCells || [];\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = table.getCell(i, j);\n if (!td) {\n continue;\n }\n let $td = $(td);\n let colSpan = $td.prop(\"colspan\") || \"1\",\n rowSpan = $td.prop(\"rowspan\") || \"1\";\n colSpan = parseInt(colSpan), rowSpan = parseInt(rowSpan);\n if (colSpan > 1 || rowSpan > 1) {\n let index = 0;\n doSplit = true;\n doMerge = false;\n while (index < mergeCells.length) {\n let mergeItem = mergeCells[index];\n let row = mergeItem.row,\n col = mergeItem.col;\n if (row === i && col === j) {\n mergeCells.splice(index, 1);\n break;\n }\n index++;\n }\n }\n }\n }\n if (doMerge) {\n if (endRow < startRow) {\n let tmp = startRow;\n startRow = endRow;\n endRow = tmp;\n }\n if (endCol < startCol) {\n let tmp = startCol;\n startCol = endCol;\n endCol = tmp;\n }\n let rowSpan = endRow - startRow,\n colSpan = endCol - startCol;\n if (rowSpan === 0) {\n rowSpan = 1;\n } else {\n rowSpan++;\n }\n if (colSpan === 0) {\n colSpan = 1;\n } else {\n colSpan++;\n }\n const newMergeItem = { row: startRow, col: startCol, rowspan: rowSpan, colspan: colSpan };\n mergeCells.push(newMergeItem);\n } else {\n if (doSplit) {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n cellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(i + 1, j + 1);\n context.addCell(cellDef);\n }\n }\n }\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.selectMultiTargetCellFirst}`);\n }\n }\n table.updateSettings({ mergeCells });\n};\n\n//# sourceURL=webpack:///./src/tools/MergeTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MergeTool; });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n\n\n\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\nclass MergeTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n execute() {\n const table = this.context.hot;\n const selected = table.getSelected();\n if (!selected) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return;\n }\n let mergeCells = table.getSettings().mergeCells || [];\n let oldMergeCells = mergeCells.concat([]);\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n const _this = this;\n doMergeCells(startRow, startCol, endRow, endCol, table, this.context);\n _Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"undoManager\"].add({\n redo: function () {\n mergeCells = table.getSettings().mergeCells || [];\n oldMergeCells = mergeCells.concat([]);\n doMergeCells(startRow, startCol, endRow, endCol, table, _this.context);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n },\n undo: function () {\n table.updateSettings({ mergeCells: oldMergeCells });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.mergeSplitCells}`;\n }\n getIcon() {\n return `
                                                `;\n }\n}\n\nfunction doMergeCells(startRow, startCol, endRow, endCol, table, context) {\n let doMerge = true,\n doSplit = false;\n const selectCell = context.getCell(startRow, startCol);\n const mergeCells = table.getSettings().mergeCells || [];\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = table.getCell(i, j);\n if (!td) {\n continue;\n }\n let $td = $(td);\n let colSpan = $td.prop(\"colspan\") || \"1\",\n rowSpan = $td.prop(\"rowspan\") || \"1\";\n colSpan = parseInt(colSpan), rowSpan = parseInt(rowSpan);\n if (colSpan > 1 || rowSpan > 1) {\n let index = 0;\n doSplit = true;\n doMerge = false;\n while (index < mergeCells.length) {\n let mergeItem = mergeCells[index];\n let row = mergeItem.row,\n col = mergeItem.col;\n if (row === i && col === j) {\n mergeCells.splice(index, 1);\n break;\n }\n index++;\n }\n }\n }\n }\n if (doMerge) {\n if (endRow < startRow) {\n let tmp = startRow;\n startRow = endRow;\n endRow = tmp;\n }\n if (endCol < startCol) {\n let tmp = startCol;\n startCol = endCol;\n endCol = tmp;\n }\n let rowSpan = endRow - startRow,\n colSpan = endCol - startCol;\n if (rowSpan === 0) {\n rowSpan = 1;\n } else {\n rowSpan++;\n }\n if (colSpan === 0) {\n colSpan = 1;\n } else {\n colSpan++;\n }\n const newMergeItem = { row: startRow, col: startCol, rowspan: rowSpan, colspan: colSpan };\n mergeCells.push(newMergeItem);\n } else {\n if (doSplit) {\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n cellDef = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_0__[\"buildNewCellDef\"])(i + 1, j + 1);\n context.addCell(cellDef);\n }\n }\n }\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.selectMultiTargetCellFirst}`);\n }\n }\n table.updateSettings({ mergeCells });\n};\n\n//# sourceURL=webpack:///./src/tools/MergeTool.js?"); /***/ }), @@ -5879,7 +5879,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PreviewTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass PreviewTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const group = $(`
                                                `);\n const mainBtn = $(``);\n const ul = $(`
                                                  `);\n const preview = $(`
                                                • \n \n ${window.i18n.tools.preview.view}\n \n
                                                • `);\n ul.append(preview);\n const _this = this;\n preview.click(function () {\n _this.doPreview();\n });\n const pagingPreview = $(`
                                                • \n \n ${window.i18n.tools.preview.pagingPreview}\n \n
                                                • `);\n ul.append(pagingPreview);\n pagingPreview.on('click', () => {\n _this.doPreview(true);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n doPreview(withPaging) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n let targetUrl = `${window._contextPath}/preview.html?id=preview&from=menu&token=${token}`;\n if (withPaging) {\n targetUrl += '&page=1';\n }\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"tableToXml\"])(this.context);\n\n $.ajax({\n url: window._server + \"/designer/savePreviewData\",\n type: 'POST',\n data: {\n content\n },\n headers: {\n 'Authorization': token\n },\n success: function (data) {\n // 增加后端异常处理\n if (data && data.code !== 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${data.msg}`);\n } else {\n let newWindow = window.open(targetUrl, \"_blank\");\n newWindow && newWindow.focus();\n }\n },\n error: function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.preview.previewFail}`);\n }\n });\n }\n\n getTitle() {\n return `${window.i18n.tools.preview.preview}`;\n }\n\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/PreviewTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PreviewTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass PreviewTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const group = $(`
                                                  `);\n const mainBtn = $(``);\n const ul = $(`
                                                    `);\n const preview = $(`
                                                  • \n \n ${window.i18n.tools.preview.view}\n \n
                                                  • `);\n ul.append(preview);\n const _this = this;\n preview.click(function () {\n _this.doPreview();\n });\n const pagingPreview = $(`
                                                  • \n \n ${window.i18n.tools.preview.pagingPreview}\n \n
                                                  • `);\n ul.append(pagingPreview);\n pagingPreview.on('click', () => {\n _this.doPreview(true);\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n doPreview(withPaging) {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('token');\n let targetUrl = `${window._contextPath}/preview.html?id=preview&from=menu&token=${token}`;\n if (withPaging) {\n targetUrl += '&page=1';\n }\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"tableToXml\"])(this.context);\n\n $.ajax({\n url: window._server + \"/designer/savePreviewData\",\n type: 'POST',\n data: {\n content\n },\n headers: {\n 'Authorization': token\n },\n success: function (data) {\n // 增加后端异常处理\n if (data && data.code !== 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${data.msg}`);\n } else {\n let newWindow = window.open(targetUrl, \"_blank\");\n newWindow && newWindow.focus();\n }\n },\n error: function () {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.preview.previewFail}`);\n }\n });\n }\n\n getTitle() {\n return `${window.i18n.tools.preview.preview}`;\n }\n\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/PreviewTool.js?"); /***/ }), @@ -5891,7 +5891,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RedoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass RedoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].hasRedo()) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].redo();\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.redo.noRedo}`);\n }\n }\n getTitle() {\n return `${window.i18n.tools.redo.redo}`;\n }\n getIcon() {\n return `
                                                    `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/RedoTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RedoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass RedoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].hasRedo()) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].redo();\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.redo.noRedo}`);\n }\n }\n getTitle() {\n return `${window.i18n.tools.redo.redo}`;\n }\n getIcon() {\n return `
                                                    `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/RedoTool.js?"); /***/ }), @@ -5903,7 +5903,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SaveTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SaveDialog.js */ \"./src/dialog/SaveDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\n\nclass SaveTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"getUrlParam\"])('token');\n const group = $(`
                                                    `);\n const mainBtn = $(`\n `);\n const ul = $(`
                                                      `);\n const save = $(`
                                                    • \n \n ${window.i18n.tools.save.save}\n \n
                                                    • `);\n ul.append(save);\n const saveDialog = new _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n const _this = this;\n\n // 关闭\n $(\".top-close-btn\").on('click', () => {\n window.parent.postMessage('closeDialog', '*');\n });\n\n // 保存\n $(\".top-save-btn\").on('click', () => {\n $(\"select[name=categoryId]\").empty();\n // 获取报表分类\n $.ajax({\n url: window._mainServer + '/api/system/DictionaryData/65e7917344fa460e8c487e45bbbab26f/Data/Selector',\n headers: {\n 'Authorization': token\n },\n success: res => {\n _this.context.categoryList = res.data.list;\n // console.log(_this.context)\n const fileId = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"getUrlParam\"])('id');\n if (fileId) _this.context.baseInfo = _this.context.reportTable.baseInfo;\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"tableToXml\"])(_this.context);\n saveDialog.show(content, _this.context);\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.dialog.save.loadFail}`);\n }\n }\n });\n });\n const saveAs = $(` \n
                                                    • \n \n ${window.i18n.tools.save.saveAs}\n \n
                                                    • `);\n ul.append(saveAs);\n saveAs.on('click', () => {\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"tableToXml\"])(_this.context);\n saveDialog.show(content, _this.context);\n });\n\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n getTitle() {\n return `${window.i18n.tools.save.save}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SaveTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SaveTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SaveDialog.js */ \"./src/dialog/SaveDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\n\nclass SaveTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"getUrlParam\"])('token');\n const group = $(`
                                                      `);\n const mainBtn = $(`\n `);\n const ul = $(`
                                                        `);\n const save = $(`
                                                      • \n \n ${window.i18n.tools.save.save}\n \n
                                                      • `);\n ul.append(save);\n const saveDialog = new _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n const _this = this;\n\n // 关闭\n $(\".top-close-btn\").on('click', () => {\n window.parent.postMessage('closeDialog', '*');\n });\n\n // 保存\n $(\".top-save-btn\").on('click', () => {\n $(\"select[name=categoryId]\").empty();\n // 获取报表分类\n $.ajax({\n url: window._mainServer + '/api/system/DictionaryData/65e7917344fa460e8c487e45bbbab26f/Data/Selector',\n headers: {\n 'Authorization': token\n },\n success: res => {\n _this.context.categoryList = res.data.list;\n // console.log(_this.context)\n const fileId = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"getUrlParam\"])('id');\n if (fileId) _this.context.baseInfo = _this.context.reportTable.baseInfo;\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"tableToXml\"])(_this.context);\n saveDialog.show(content, _this.context);\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.dialog.save.loadFail}`);\n }\n }\n });\n });\n const saveAs = $(` \n
                                                      • \n \n ${window.i18n.tools.save.saveAs}\n \n
                                                      • `);\n ul.append(saveAs);\n saveAs.on('click', () => {\n const content = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"tableToXml\"])(_this.context);\n saveDialog.show(content, _this.context);\n });\n\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n getTitle() {\n return `${window.i18n.tools.save.save}`;\n }\n getIcon() {\n return ``;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SaveTool.js?"); /***/ }), @@ -5915,7 +5915,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SearchFormSwitchTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _dialog_SearchFormDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SearchFormDialog.js */ \"./src/dialog/SearchFormDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass SearchFormSwitchTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context) {\n super(context);\n this.dialog = new _dialog_SearchFormDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n }\n execute() {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n this.dialog.show(this.context.reportDef);\n }\n getTitle() {\n return `${window.i18n.tools.searchFormSwitch}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SearchFormSwitchTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SearchFormSwitchTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _dialog_SearchFormDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SearchFormDialog.js */ \"./src/dialog/SearchFormDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass SearchFormSwitchTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context) {\n super(context);\n this.dialog = new _dialog_SearchFormDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n }\n execute() {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n this.dialog.show(this.context.reportDef);\n }\n getTitle() {\n return `${window.i18n.tools.searchFormSwitch}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SearchFormSwitchTool.js?"); /***/ }), @@ -5927,7 +5927,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SettingsTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SettingsDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SettingsDialog.js */ \"./src/dialog/SettingsDialog.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass SettingsTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context) {\n super(context);\n this.settingsDialog = new _dialog_SettingsDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n }\n execute() {\n this.settingsDialog.show(this.context);\n }\n getTitle() {\n return `${window.i18n.setting}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SettingsTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SettingsTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SettingsDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SettingsDialog.js */ \"./src/dialog/SettingsDialog.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass SettingsTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(context) {\n super(context);\n this.settingsDialog = new _dialog_SettingsDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n }\n execute() {\n this.settingsDialog.show(this.context);\n }\n getTitle() {\n return `${window.i18n.setting}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/SettingsTool.js?"); /***/ }), @@ -5939,7 +5939,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Tool; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\nclass Tool {\n constructor(context) {\n this.context = context;\n }\n buildButton() {\n const btn = $(`\n ${this.getIcon()}\n `);\n const _this = this;\n btn.click(function () {\n _this.execute();\n });\n return btn;\n }\n checkSelection() {\n const selected = this.context.hot.getSelected();\n if (!selected || selected.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return false;\n } else {\n return true;\n }\n }\n};\n\n//# sourceURL=webpack:///./src/tools/Tool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Tool; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\nclass Tool {\n constructor(context) {\n this.context = context;\n }\n buildButton() {\n const btn = $(`\n ${this.getIcon()}\n `);\n const _this = this;\n btn.click(function () {\n _this.execute();\n });\n return btn;\n }\n checkSelection() {\n const selected = this.context.hot.getSelected();\n if (!selected || selected.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.selectTargetCellFirst}`);\n return false;\n } else {\n return true;\n }\n }\n};\n\n//# sourceURL=webpack:///./src/tools/Tool.js?"); /***/ }), @@ -5951,7 +5951,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UnderlineTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\nclass UnderlineTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const table = this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldUnderlineStyle = updateCellsUnderlineStyle(this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldUnderlineStyle = updateCellsUnderlineStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n oldUnderlineStyle = updateCellsUnderlineStyle(_this.context, startRow, startCol, endRow, endCol, oldUnderlineStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.underline}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\nfunction updateCellsUnderlineStyle(context, startRow, startCol, endRow, endCol, prevUnderLine) {\n const oldUnderlineStyle = {},\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let underline = 'underline';\n if (prevUnderLine) {\n underline = prevUnderLine[i + \",\" + j];\n }\n let cellStyle = cellDef.cellStyle;\n oldUnderlineStyle[i + \",\" + j] = cellStyle.underline;\n if (cellStyle.underline) {\n cellStyle.underline = false;\n } else {\n cellStyle.underline = true;\n }\n }\n }\n hot.render();\n return oldUnderlineStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/UnderlineTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UnderlineTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\nclass UnderlineTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (!this.checkSelection()) {\n return;\n }\n const _this = this;\n const table = this.context.hot;\n const selected = table.getSelected();\n let startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let tmp = endRow;\n if (startRow > endRow) {\n endRow = startRow;\n startRow = tmp;\n }\n tmp = endCol;\n if (startCol > endCol) {\n endCol = startCol;\n startCol = tmp;\n }\n let oldUnderlineStyle = updateCellsUnderlineStyle(this.context, startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n oldUnderlineStyle = updateCellsUnderlineStyle(_this.context, startRow, startCol, endRow, endCol);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n },\n undo: function () {\n oldUnderlineStyle = updateCellsUnderlineStyle(_this.context, startRow, startCol, endRow, endCol, oldUnderlineStyle);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n });\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n }\n getTitle() {\n return `${window.i18n.underline}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\nfunction updateCellsUnderlineStyle(context, startRow, startCol, endRow, endCol, prevUnderLine) {\n const oldUnderlineStyle = {},\n hot = context.hot;\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n let td = hot.getCell(i, j);\n let cellDef = context.getCell(i, j);\n if (!cellDef) {\n continue;\n }\n let underline = 'underline';\n if (prevUnderLine) {\n underline = prevUnderLine[i + \",\" + j];\n }\n let cellStyle = cellDef.cellStyle;\n oldUnderlineStyle[i + \",\" + j] = cellStyle.underline;\n if (cellStyle.underline) {\n cellStyle.underline = false;\n } else {\n cellStyle.underline = true;\n }\n }\n }\n hot.render();\n return oldUnderlineStyle;\n}\n\n//# sourceURL=webpack:///./src/tools/UnderlineTool.js?"); /***/ }), @@ -5963,7 +5963,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UndoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\nclass UndoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].hasUndo()) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].undo();\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.undo.noUndo}`);\n }\n }\n getTitle() {\n return `${window.i18n.tools.undo.undo}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/UndoTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UndoTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\nclass UndoTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {\n if (_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].hasUndo()) {\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].undo();\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(`${window.i18n.tools.undo.noUndo}`);\n }\n }\n getTitle() {\n return `${window.i18n.tools.undo.undo}`;\n }\n getIcon() {\n return `
                                                        `;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/UndoTool.js?"); /***/ }), @@ -5975,7 +5975,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ZxingTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SaveDialog.js */ \"./src/dialog/SaveDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_4__);\n/**\r\n * Created by Jacky.Gao on 2017-01-25.\r\n */\n\n\n\n\n\n\nclass ZxingTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const group = $(`
                                                        `);\n const mainBtn = $(``);\n const ul = $(`
                                                          `);\n const qrcode = $(`
                                                        • \n \n ${window.i18n.tools.zxing.qrcode}\n \n
                                                        • `);\n ul.append(qrcode);\n const saveDialog = new _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n const _this = this;\n qrcode.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n let td = hot.getCell(startRow, startCol);\n let width = _this._buildWidth(startCol, td.colSpan, hot),\n height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'qrcode',\n source: 'text',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n td = hot.getCell(startRow, startCol);\n width = _this._buildWidth(startCol, td.colSpan, hot), height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'qrcode',\n source: 'text',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n });\n const barcode = $(`
                                                        • \n \n ${window.i18n.tools.zxing.barcode}\n \n
                                                        • `);\n ul.append(barcode);\n barcode.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n let td = hot.getCell(startRow, startCol);\n let width = _this._buildWidth(startCol, td.colSpan, hot),\n height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'barcode',\n source: 'text',\n format: 'CODE_128',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n td = hot.getCell(startRow, startCol);\n width = _this._buildWidth(startCol, td.colSpan, hot), height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'barcode',\n source: 'text',\n format: 'CODE_128',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n _buildWidth(colIndex, colspan, hot) {\n let width = hot.getColWidth(colIndex) - 3;\n if (!colspan || colspan < 2) {\n return width;\n }\n let start = colIndex + 1,\n end = colIndex + colspan;\n for (let i = start; i < end; i++) {\n width += hot.getColWidth(i);\n }\n return width;\n }\n\n _buildHeight(rowIndex, rowspan, hot) {\n let height = hot.getRowHeight(rowIndex) - 3;\n if (!rowspan || rowspan < 2) {\n return height;\n }\n let start = rowIndex + 1,\n end = rowIndex + rowspan;\n for (let i = start; i < end; i++) {\n height += hot.getRowHeight(i);\n }\n return height;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ZxingTool.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ZxingTool; });\n/* harmony import */ var _Tool_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tool.js */ \"./src/tools/Tool.js\");\n/* harmony import */ var _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dialog/SaveDialog.js */ \"./src/dialog/SaveDialog.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Created by Jacky.Gao on 2017-01-25.\n */\n\n\n\n\n\n\nclass ZxingTool extends _Tool_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n execute() {}\n\n buildButton() {\n const group = $(`
                                                          `);\n const mainBtn = $(``);\n const ul = $(`
                                                            `);\n const qrcode = $(`
                                                          • \n \n ${window.i18n.tools.zxing.qrcode}\n \n
                                                          • `);\n ul.append(qrcode);\n const saveDialog = new _dialog_SaveDialog_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n const _this = this;\n qrcode.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n let td = hot.getCell(startRow, startCol);\n let width = _this._buildWidth(startCol, td.colSpan, hot),\n height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'qrcode',\n source: 'text',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n td = hot.getCell(startRow, startCol);\n width = _this._buildWidth(startCol, td.colSpan, hot), height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'qrcode',\n source: 'text',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n });\n const barcode = $(`
                                                          • \n \n ${window.i18n.tools.zxing.barcode}\n \n
                                                          • `);\n ul.append(barcode);\n barcode.click(function () {\n if (!_this.checkSelection()) {\n return;\n }\n const hot = _this.context.hot;\n const selected = hot.getSelected();\n const startRow = selected[0],\n startCol = selected[1],\n endRow = selected[2],\n endCol = selected[3];\n let cellDef = _this.context.getCell(startRow, startCol);\n let oldValue = cellDef.value,\n oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n let td = hot.getCell(startRow, startCol);\n let width = _this._buildWidth(startCol, td.colSpan, hot),\n height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'barcode',\n source: 'text',\n format: 'CODE_128',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n _Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"undoManager\"].add({\n redo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n oldValue = cellDef.value, oldCellData = hot.getDataAtCell(startRow, startCol);\n hot.setDataAtCell(startRow, startCol, '');\n td = hot.getCell(startRow, startCol);\n width = _this._buildWidth(startCol, td.colSpan, hot), height = _this._buildHeight(startRow, td.rowSpan, hot);\n cellDef.value = {\n width,\n height,\n type: 'zxing',\n category: 'barcode',\n source: 'text',\n format: 'CODE_128',\n data: ''\n };\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n },\n undo: function () {\n cellDef = _this.context.getCell(startRow, startCol);\n cellDef.value = oldValue;\n hot.setDataAtCell(startRow, startCol, oldCellData);\n hot.render();\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_3__[\"setDirty\"])();\n handsontable__WEBPACK_IMPORTED_MODULE_4___default.a.hooks.run(hot, 'afterSelectionEnd', startRow, startCol, endRow, endCol);\n }\n });\n });\n group.append(mainBtn);\n group.append(ul);\n return group;\n }\n\n _buildWidth(colIndex, colspan, hot) {\n let width = hot.getColWidth(colIndex) - 3;\n if (!colspan || colspan < 2) {\n return width;\n }\n let start = colIndex + 1,\n end = colIndex + colspan;\n for (let i = start; i < end; i++) {\n width += hot.getColWidth(i);\n }\n return width;\n }\n\n _buildHeight(rowIndex, rowspan, hot) {\n let height = hot.getRowHeight(rowIndex) - 3;\n if (!rowspan || rowspan < 2) {\n return height;\n }\n let start = rowIndex + 1,\n end = rowIndex + rowspan;\n for (let i = start; i < end; i++) {\n height += hot.getRowHeight(i);\n }\n return height;\n }\n}\n\n//# sourceURL=webpack:///./src/tools/ZxingTool.js?"); /***/ }), @@ -5987,7 +5987,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BaseTree; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\r\n * Created by Jacky.Gao on 2017-02-14.\r\n */\n\n\n\nclass BaseTree {\n _buildClickEvent(dataset, field, context) {\n let hot = context.hot,\n cellsMap = context.cellsMap;\n let selected = hot.getSelected();\n if (!selected || selected.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.tree.cellTip}`);\n return;\n }\n let rowIndex = selected[0],\n colIndex = selected[1];\n let cellDef = context.getCell(rowIndex, colIndex);\n\n let oldCellDef = Object.assign({}, cellDef);\n\n if (cellDef.value.type !== 'dataset') {\n context.removeCell(cellDef);\n cellDef = {\n value: { type: 'dataset', conditions: [] },\n rowNumber: cellDef.rowNumber,\n columnNumber: cellDef.columnNumber,\n cellStyle: cellDef.cellStyle\n };\n context.addCell(cellDef);\n }\n cellDef.expand = \"Down\";\n let value = cellDef.value;\n value.aggregate = \"group\";\n value.datasetName = dataset.name;\n value.property = field.name;\n value.order = 'none';\n\n let text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n text += prop + ')';\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n cellDef = context.getCell(rowIndex, colIndex);\n oldCellDef = Object.assign({}, cellDef);\n if (cellDef.value.type !== 'dataset') {\n context.removeCell(cellDef);\n cellDef = {\n value: { type: 'dataset', conditions: [] },\n rowNumber: cellDef.rowNumber,\n columnNumber: cellDef.columnNumber,\n cellStyle: cellDef.cellStyle\n };\n context.addCell(cellDef);\n }\n cellDef.expand = \"Down\";\n value = cellDef.value;\n value.aggregate = \"group\";\n value.datasetName = dataset.name;\n value.property = field.name;\n value.order = 'none';\n\n text = value.datasetName + \".\" + value.aggregate + \"(\";\n prop = value.property;\n text += prop + ')';\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n },\n undo: function () {\n cellDef = context.getCell(rowIndex, colIndex);\n context.removeCell(cellDef);\n context.addCell(oldCellDef);\n value = oldCellDef.value;\n let text = value.value || '';\n if (value.type === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n text += prop + ')';\n }\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/BaseTree.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BaseTree; });\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * Created by Jacky.Gao on 2017-02-14.\n */\n\n\n\nclass BaseTree {\n _buildClickEvent(dataset, field, context) {\n let hot = context.hot,\n cellsMap = context.cellsMap;\n let selected = hot.getSelected();\n if (!selected || selected.length === 0) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_0__[\"alert\"])(`${window.i18n.tree.cellTip}`);\n return;\n }\n let rowIndex = selected[0],\n colIndex = selected[1];\n let cellDef = context.getCell(rowIndex, colIndex);\n\n let oldCellDef = Object.assign({}, cellDef);\n\n if (cellDef.value.type !== 'dataset') {\n context.removeCell(cellDef);\n cellDef = {\n value: { type: 'dataset', conditions: [] },\n rowNumber: cellDef.rowNumber,\n columnNumber: cellDef.columnNumber,\n cellStyle: cellDef.cellStyle\n };\n context.addCell(cellDef);\n }\n cellDef.expand = \"Down\";\n let value = cellDef.value;\n value.aggregate = \"group\";\n value.datasetName = dataset.name;\n value.property = field.name;\n value.order = 'none';\n\n let text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n text += prop + ')';\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n\n _Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"undoManager\"].add({\n redo: function () {\n cellDef = context.getCell(rowIndex, colIndex);\n oldCellDef = Object.assign({}, cellDef);\n if (cellDef.value.type !== 'dataset') {\n context.removeCell(cellDef);\n cellDef = {\n value: { type: 'dataset', conditions: [] },\n rowNumber: cellDef.rowNumber,\n columnNumber: cellDef.columnNumber,\n cellStyle: cellDef.cellStyle\n };\n context.addCell(cellDef);\n }\n cellDef.expand = \"Down\";\n value = cellDef.value;\n value.aggregate = \"group\";\n value.datasetName = dataset.name;\n value.property = field.name;\n value.order = 'none';\n\n text = value.datasetName + \".\" + value.aggregate + \"(\";\n prop = value.property;\n text += prop + ')';\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n },\n undo: function () {\n cellDef = context.getCell(rowIndex, colIndex);\n context.removeCell(cellDef);\n context.addCell(oldCellDef);\n value = oldCellDef.value;\n let text = value.value || '';\n if (value.type === 'dataset') {\n text = value.datasetName + \".\" + value.aggregate + \"(\";\n let prop = value.property;\n text += prop + ')';\n }\n hot.setDataAtCell(rowIndex, colIndex, text);\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setDirty\"])();\n hot.render();\n handsontable__WEBPACK_IMPORTED_MODULE_2___default.a.hooks.run(hot, 'afterSelectionEnd', selected[0], selected[1], selected[2], selected[3]);\n }\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/BaseTree.js?"); /***/ }), @@ -5999,7 +5999,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BuildinTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SqlDatasetDialog.js */ \"./src/dialog/SqlDatasetDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-04.\r\n */\n\n\n\n\n\n\nclass BuildinTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, context) {\n super();\n this.type = 'buildin';\n this.datasources = datasources;\n this.datasets = ds.datasets || [];\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.context = context;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                            `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                              `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                            • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, {\n parameters: []\n });\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n datasetDialog.show(function (name, sql, parameters) {\n const dataset = {\n name,\n sql,\n parameters\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n _this.buildFileds(dataset, fieldsUL);\n }, {\n parameters: []\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n let index = -1;\n const datasources = _this.datasources;\n for (let i = 0; i < datasources.length; i++) {\n let d = _this.datasources[i];\n if (d.name === _this.name) {\n index = i;\n break;\n }\n }\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"delete\": {\n name: `${window.i18n.tree.delete}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                              • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                  `);\n li.append(fieldsUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, dataset);\n\n const newFiledGroup = $(`
                                                                  ${window.i18n.tree.inputTip}
                                                                  `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.fieldExist}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n let index = -1;\n for (let i = 0; i < _this.datasets.length; i++) {\n const d = _this.datasets[i];\n if (d.name === dataset.name) {\n index = i;\n break;\n }\n }\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n datasetDialog.show(function (name, sql, parameters) {\n dataset.name = name;\n dataset.sql = sql;\n dataset.parameters = parameters;\n span.find(\".dataset_name\").html(name);\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n });\n } else if (key === 'refresh') {\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (defaultFields) {\n ul.empty();\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildFields\",\n type: 'POST',\n data: {\n sql: dataset.sql,\n parameters: JSON.stringify(dataset.parameters),\n name: this.name,\n type: 'buildin'\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/BuildinTree.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BuildinTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SqlDatasetDialog.js */ \"./src/dialog/SqlDatasetDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-04.\n */\n\n\n\n\n\n\nclass BuildinTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, context) {\n super();\n this.type = 'buildin';\n this.datasources = datasources;\n this.datasets = ds.datasets || [];\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.context = context;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                                  `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                                    `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                                  • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                      `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, {\n parameters: []\n });\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n datasetDialog.show(function (name, sql, parameters) {\n const dataset = {\n name,\n sql,\n parameters\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n _this.buildFileds(dataset, fieldsUL);\n }, {\n parameters: []\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n let index = -1;\n const datasources = _this.datasources;\n for (let i = 0; i < datasources.length; i++) {\n let d = _this.datasources[i];\n if (d.name === _this.name) {\n index = i;\n break;\n }\n }\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"delete\": {\n name: `${window.i18n.tree.delete}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                                    • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                        `);\n li.append(fieldsUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, dataset);\n\n const newFiledGroup = $(`
                                                                        ${window.i18n.tree.inputTip}
                                                                        `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.fieldExist}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n let index = -1;\n for (let i = 0; i < _this.datasets.length; i++) {\n const d = _this.datasets[i];\n if (d.name === dataset.name) {\n index = i;\n break;\n }\n }\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n datasetDialog.show(function (name, sql, parameters) {\n dataset.name = name;\n dataset.sql = sql;\n dataset.parameters = parameters;\n span.find(\".dataset_name\").html(name);\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n });\n } else if (key === 'refresh') {\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (defaultFields) {\n ul.empty();\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildFields\",\n type: 'POST',\n data: {\n sql: dataset.sql,\n parameters: JSON.stringify(dataset.parameters),\n name: this.name,\n type: 'buildin'\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                      • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/BuildinTree.js?"); /***/ }), @@ -6011,7 +6011,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatabaseTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SqlDatasetDialog.js */ \"./src/dialog/SqlDatasetDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-04.\r\n */\n\n\n\n\n\n\nclass DatabaseTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, datasourceDialog, context) {\n super();\n this.type = 'jdbc';\n this.datasources = datasources;\n this.ds = ds;\n this.datasets = ds.datasets || [];\n this.datasourceDialog = datasourceDialog;\n this.context = context;\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.username = ds.username;\n this.password = ds.password;\n this.driver = ds.driver;\n this.url = ds.url;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                                        `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                                          `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                                        • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                            `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, {\n parameters: []\n });\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n datasetDialog.show(function (name, sql, parameters) {\n const dataset = {\n name,\n sql,\n parameters\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n _this.buildFileds(dataset, fieldsUL);\n }, {\n parameters: []\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n let index = -1;\n const datasources = _this.datasources;\n for (let i = 0; i < datasources.length; i++) {\n let d = _this.datasources[i];\n if (d.name === _this.name) {\n index = i;\n break;\n }\n }\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n } else if (key === 'edit') {\n _this.datasourceDialog.show(function (name, username, password, driver, url) {\n _this.name = name;\n _this.username = username;\n _this.password = password;\n _this.driver = driver;\n _this.url = url;\n _this.ds.name = name;\n _this.ds.username = username;\n _this.ds.password = password;\n _this.ds.driver = driver;\n _this.ds.url = url;\n rootSpan.find(\".ds_name\").html(name);\n }, {\n name: _this.name,\n username: _this.username,\n password: _this.password,\n driver: _this.driver,\n url: _this.url\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                                          • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                              `);\n li.append(fieldsUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, dataset);\n\n const newFiledGroup = $(`
                                                                              ${window.i18n.tree.inputTip}
                                                                              `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.fieldExist}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n let index = -1;\n for (let i = 0; i < _this.datasets.length; i++) {\n const d = _this.datasets[i];\n if (d.name === dataset.name) {\n index = i;\n break;\n }\n }\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n datasetDialog.show(function (name, sql, parameters) {\n dataset.name = name;\n dataset.sql = sql;\n dataset.parameters = parameters;\n span.find(\".dataset_name\").html(name);\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n });\n } else if (key === 'refresh') {\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (defaultFields) {\n ul.empty();\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildFields\",\n data: {\n sql: dataset.sql,\n parameters: JSON.stringify(dataset.parameters),\n username: this.username,\n password: this.password,\n driver: this.driver,\n url: this.url,\n type: 'jdbc'\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                            • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/DatabaseTree.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatabaseTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/SqlDatasetDialog.js */ \"./src/dialog/SqlDatasetDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-04.\n */\n\n\n\n\n\n\nclass DatabaseTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, datasourceDialog, context) {\n super();\n this.type = 'jdbc';\n this.datasources = datasources;\n this.ds = ds;\n this.datasets = ds.datasets || [];\n this.datasourceDialog = datasourceDialog;\n this.context = context;\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.username = ds.username;\n this.password = ds.password;\n this.driver = ds.driver;\n this.url = ds.url;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                                              `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                                                `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                                              • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                                  `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, {\n parameters: []\n });\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n datasetDialog.show(function (name, sql, parameters) {\n const dataset = {\n name,\n sql,\n parameters\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n _this.buildFileds(dataset, fieldsUL);\n }, {\n parameters: []\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n let index = -1;\n const datasources = _this.datasources;\n for (let i = 0; i < datasources.length; i++) {\n let d = _this.datasources[i];\n if (d.name === _this.name) {\n index = i;\n break;\n }\n }\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n } else if (key === 'edit') {\n _this.datasourceDialog.show(function (name, username, password, driver, url) {\n _this.name = name;\n _this.username = username;\n _this.password = password;\n _this.driver = driver;\n _this.url = url;\n _this.ds.name = name;\n _this.ds.username = username;\n _this.ds.password = password;\n _this.ds.driver = driver;\n _this.ds.url = url;\n rootSpan.find(\".ds_name\").html(name);\n }, {\n name: _this.name,\n username: _this.username,\n password: _this.password,\n driver: _this.driver,\n url: _this.url\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                                                • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                                    `);\n li.append(fieldsUL);\n const _this = this;\n const datasetDialog = new _dialog_SqlDatasetDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, dataset);\n\n const newFiledGroup = $(`
                                                                                    ${window.i18n.tree.inputTip}
                                                                                    `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.fieldExist}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n let index = -1;\n for (let i = 0; i < _this.datasets.length; i++) {\n const d = _this.datasets[i];\n if (d.name === dataset.name) {\n index = i;\n break;\n }\n }\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n datasetDialog.show(function (name, sql, parameters) {\n dataset.name = name;\n dataset.sql = sql;\n dataset.parameters = parameters;\n span.find(\".dataset_name\").html(name);\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n });\n } else if (key === 'refresh') {\n dataset.fields = null;\n _this.buildFileds(dataset, fieldsUL);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (defaultFields) {\n ul.empty();\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildFields\",\n data: {\n sql: dataset.sql,\n parameters: JSON.stringify(dataset.parameters),\n username: this.username,\n password: this.password,\n driver: this.driver,\n url: this.url,\n type: 'jdbc'\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                                  • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/DatabaseTree.js?"); /***/ }), @@ -6023,7 +6023,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatabaseTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/BeanMethodDialog.js */ \"./src/dialog/BeanMethodDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\r\n * Created by Jacky.Gao on 2017-02-04.\r\n */\n\n\n\n\n\n\nclass DatabaseTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, springDialog, context) {\n super();\n this.type = 'spring';\n this.datasources = datasources;\n this.datasets = ds.datasets || [];\n this.springDialog = springDialog;\n this.context = context;\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.beanId = ds.beanId;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                                                    `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                                                      `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                                                    • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                                        `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const beanMethodDialog = new _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.datasources, this.beanId);\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n beanMethodDialog.show(function (name, method, clazz) {\n const dataset = {\n name,\n method,\n clazz,\n fields: []\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n if (clazz && clazz !== '') {\n _this.buildFileds(dataset, fieldsUL);\n }\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n const datasources = _this.datasources;\n const index = datasources.indexOf(_this);\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n } else if (key === 'edit') {\n _this.springDialog.show(function (name, beanId) {\n _this.name = name;\n _this.beanId = beanId;\n rootSpan.find(\".ds_name\").html(name);\n }, {\n name: _this.name,\n beanId: _this.beanId\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                                                      • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                                          `);\n li.append(fieldsUL);\n const _this = this;\n const beanMethodDialog = new _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.datasources, this.beanId);\n\n const newFiledGroup = $(`
                                                                                          ${window.i18n.tree.inputTip}
                                                                                          `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.addField}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n const index = _this.datasets.indexOf(dataset);\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n beanMethodDialog.show(function (name, method, clazz) {\n dataset.name = name;\n dataset.method = method;\n dataset.clazz = clazz;\n span.find(\".dataset_name\").html(name);\n if (clazz && clazz !== '') {\n _this.buildFileds(dataset, fieldsUL);\n }\n }, dataset);\n } else if (key === 'refresh') {\n _this.buildFileds(dataset, fieldsUL, true);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul, refresh) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (!refresh && defaultFields) {\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildClass\",\n data: {\n clazz: dataset.clazz\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                                        • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/SpringTree.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DatabaseTree; });\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-uuid */ \"./node_modules/node-uuid/uuid.js\");\n/* harmony import */ var node_uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dialog/BeanMethodDialog.js */ \"./src/dialog/BeanMethodDialog.js\");\n/* harmony import */ var _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseTree.js */ \"./src/tree/BaseTree.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils.js */ \"./src/Utils.js\");\n/**\n * Created by Jacky.Gao on 2017-02-04.\n */\n\n\n\n\n\n\nclass DatabaseTree extends _BaseTree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(container, datasources, ds, springDialog, context) {\n super();\n this.type = 'spring';\n this.datasources = datasources;\n this.datasets = ds.datasets || [];\n this.springDialog = springDialog;\n this.context = context;\n this.id = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n this.name = ds.name;\n this.beanId = ds.beanId;\n this.init(container);\n }\n init(container) {\n this.treeContainer = $(`
                                                                                          `);\n container.append(this.treeContainer);\n this.ul = $(`
                                                                                            `);\n this.treeContainer.append(this.ul);\n this._buildDatasource();\n for (let dataset of this.datasets) {\n const fieldsUL = this.addDataset(dataset);\n this.buildFileds(dataset, fieldsUL);\n }\n }\n _buildDatasource() {\n this.datasourceLi = $(`
                                                                                          • `);\n const rootSpan = $(`\n \n \n ${this.name}\n `);\n this.datasourceLi.append(rootSpan);\n this.ul.append(this.datasourceLi);\n this.attachEvent(rootSpan, this.datasourceLi);\n this.datasetUL = $(`
                                                                                              `);\n this.datasourceLi.append(this.datasetUL);\n const _this = this;\n const beanMethodDialog = new _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.datasources, this.beanId);\n $.contextMenu({\n selector: '#' + this.id,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n beanMethodDialog.show(function (name, method, clazz) {\n const dataset = {\n name,\n method,\n clazz,\n fields: []\n };\n _this.datasets.push(dataset);\n const fieldsUL = _this.addDataset(dataset);\n if (clazz && clazz !== '') {\n _this.buildFileds(dataset, fieldsUL);\n }\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delConfirm}[${_this.name}]?`, function () {\n const datasources = _this.datasources;\n const index = datasources.indexOf(_this);\n datasources.splice(index, 1);\n _this.treeContainer.remove();\n });\n } else if (key === 'edit') {\n _this.springDialog.show(function (name, beanId) {\n _this.name = name;\n _this.beanId = beanId;\n rootSpan.find(\".ds_name\").html(name);\n }, {\n name: _this.name,\n beanId: _this.beanId\n });\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addDataset}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n addDataset(dataset) {\n const li = $(`
                                                                                            • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${dataset.name}`);\n li.append(span);\n this.datasetUL.append(li);\n this.attachEvent(span, li);\n const fieldsUL = $(`
                                                                                                `);\n li.append(fieldsUL);\n const _this = this;\n const beanMethodDialog = new _dialog_BeanMethodDialog_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.datasources, this.beanId);\n\n const newFiledGroup = $(`
                                                                                                ${window.i18n.tree.inputTip}
                                                                                                `);\n const newFieldEditor = $(``);\n newFiledGroup.append(newFieldEditor);\n\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'add') {\n const span = $(options.selector);\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"])(`${window.i18n.tree.addField}`, newFiledGroup, function () {\n const newFieldName = newFieldEditor.val();\n for (let field of dataset.fields) {\n if (field.name === newFieldName) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.addField}`);\n return;\n }\n }\n let field = {\n name: newFieldName\n };\n dataset.fields.push(field);\n _this.addField(dataset, dataset.fields, field, fieldsUL);\n });\n } else if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delDatasetConfirm}[${dataset.name}]?`, function () {\n const index = _this.datasets.indexOf(dataset);\n _this.datasets.splice(index, 1);\n li.remove();\n });\n } else if (key === 'edit') {\n beanMethodDialog.show(function (name, method, clazz) {\n dataset.name = name;\n dataset.method = method;\n dataset.clazz = clazz;\n span.find(\".dataset_name\").html(name);\n if (clazz && clazz !== '') {\n _this.buildFileds(dataset, fieldsUL);\n }\n }, dataset);\n } else if (key === 'refresh') {\n _this.buildFileds(dataset, fieldsUL, true);\n }\n },\n items: {\n \"add\": {\n name: `${window.i18n.tree.addField}`,\n icon: \"add\"\n },\n \"edit\": {\n name: `${window.i18n.tree.edit}`,\n icon: \"edit\"\n },\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n },\n \"refresh\": {\n name: `${window.i18n.tree.refresh}`,\n icon: 'loading'\n }\n }\n });\n return fieldsUL;\n }\n\n buildFileds(dataset, ul, refresh) {\n const defaultFields = dataset.fields,\n _this = this;\n const token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_4__[\"getUrlParam\"])('token');\n if (!refresh && defaultFields) {\n for (let field of defaultFields) {\n _this.addField(dataset, defaultFields, field, ul);\n }\n return;\n }\n $.ajax({\n url: window._server + \"/datasource/buildClass\",\n data: {\n clazz: dataset.clazz\n },\n headers: {\n 'Authorization': token\n },\n success: function (fields) {\n dataset.fields = fields;\n ul.empty();\n for (let field of fields) {\n _this.addField(dataset, fields, field, ul);\n }\n },\n error: function (response) {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"alert\"])(`${window.i18n.tree.loadFieldFail}`);\n }\n }\n });\n }\n\n addField(dataset, fields, field, ul) {\n const _this = this;\n const li = $(`
                                                                                              • `);\n const spanId = node_uuid__WEBPACK_IMPORTED_MODULE_0___default.a.v1();\n const span = $(` ${field.name}`);\n li.append(span);\n span.dblclick(function () {\n _this._buildClickEvent(dataset, field, _this.context);\n });\n ul.append(li);\n $.contextMenu({\n selector: '#' + spanId,\n callback: function (key, options) {\n if (key === 'delete') {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_1__[\"confirm\"])(`${window.i18n.tree.delFieldConfirm}[${field.name}]?`, function () {\n const index = fields.indexOf(field);\n fields.splice(index, 1);\n li.remove();\n });\n }\n },\n items: {\n \"delete\": {\n name: `${window.i18n.tree.del}`,\n icon: \"delete\"\n }\n }\n });\n }\n\n attachEvent(span, li) {\n span.click(function (e) {\n let $liChildren = li.find(' > ul > li');\n if ($liChildren.is(\":visible\")) {\n $liChildren.hide('fast');\n span.children('i:first').addClass('ureport-plus').removeClass('ureport-minus');\n } else {\n $liChildren.show('fast');\n span.children('i:first').addClass('ureport-minus').removeClass('ureport-plus');\n }\n e.stopPropagation();\n });\n }\n}\n\n//# sourceURL=webpack:///./src/tree/SpringTree.js?"); /***/ }), @@ -6046,7 +6046,7 @@ eval("// style-loader: Adds some css to the DOM by adding a `;\n // console.log(data);\n $('#_ureport_table').html(data.content);\n // 居中问题修复\n $('.preview-bd').css('text-align', data.reportAlign);\n // $('#_ureport_table').css('float', data.reportAlign);\n $('.multi').append(styles);\n $('#_ureport_table_style').html(data.style);\n if (data.searchFormData) {\n $('#_ureport_table_form').html(data.searchFormData.html).show();\n eval(data.searchFormData.js);\n }\n\n jsPageIndex = data.pageIndex;\n jsTotalPage = data.totalPage;\n\n if (data.pageIndex === 0) {\n // 不分页\n $('#pageLinkContainer').show();\n $('.pageNum').html('1/1');\n } else {\n $('#pageLinkContainer').show();\n $('.pageNum').html(`${jsPageIndex}/${jsTotalPage}`);\n }\n\n // 自动刷新处理\n if (data.htmlIntervalRefreshValue > 0) _intervalRefresh(data.htmlIntervalRefreshValue, data.totalPageWithCol);\n\n // 图表数据\n _buildChartDatas(data.chartDatas);\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n $('#_ureport_table').show();\n }\n },\n error: response => {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端出错!\");\n }\n }\n });\n }\n\n // 第一页\n $('.pageIndex').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === 1) return;\n pageInit(1);\n }\n });\n\n // 上一页\n $('.pagePre').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === 1) return;\n pageInit(jsPageIndex - 1);\n }\n });\n\n // 下一页\n $('.pageNext').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === jsTotalPage) return;\n pageInit(jsPageIndex + 1);\n }\n });\n\n // 最后一页\n $('.pageLast').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === jsTotalPage) return;\n pageInit(jsTotalPage);\n }\n });\n\n let language = window.navigator.language || window.navigator.browserLanguage;\n if (!language) {\n language = 'zh-cn';\n }\n language = language.toLowerCase();\n window.i18n = _i18n_preview_json__WEBPACK_IMPORTED_MODULE_4__;\n if (language !== 'zh-cn') {\n window.i18n = _i18n_preview_en_json__WEBPACK_IMPORTED_MODULE_5__;\n }\n\n let directPrintPdf = false,\n index = 0;\n const pdfPrintDialog = new _dialog_PDFPrintDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n\n // 关闭\n $(\".preview-btn\").on('click', () => {\n window.parent.postMessage('closeDialog', '*');\n });\n\n // 在线打印\n $('.ureport-print').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/preview/loadPrintPages' + urlParameters;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"showLoading\"])();\n $.ajax({\n url,\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: result => {\n $.get(window._server + '/preview/loadPagePaper' + urlParameters, function (paper) {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n const html = result.data;\n const iFrame = window.frames['_print_frame'];\n let styles = ``;\n $(iFrame.document.body).html(styles + html);\n iFrame.window.focus();\n iFrame.window.print();\n });\n },\n error: response => {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端出错!\");\n }\n }\n });\n });\n\n // PDF在线预览打印\n $('.ureport-pdf-print').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n $.get(window._server + '/preview/loadPagePaper' + urlParameters, function (paper) {\n pdfPrintDialog.show(paper);\n });\n });\n\n // 刷新\n $('.ureport-refresh').on('click', () => {\n location.reload();\n });\n\n // PDF在线打印\n $('.ureport-pdf-direct-print').on('click', () => {\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"showLoading\"])();\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/pdf/show' + urlParameters + `&_i=${index++}`;\n const iframe = window.frames['_print_pdf_frame'];\n if (!directPrintPdf) {\n directPrintPdf = true;\n $(\"iframe[name='_print_pdf_frame']\").on(\"load\", function () {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n iframe.window.focus();\n iframe.window.print();\n });\n }\n iframe.window.focus();\n iframe.location.href = url;\n\n // showLoading();\n // const urlParameters = buildLocationSearchParameters();\n // const url = window._server + '/pdf/show' + urlParameters + `&_i=${index++}`;\n // const iFrame = window.frames['_print_pdf_frame'];\n // if (!directPrintPdf) {\n // directPrintPdf = true;\n // $(\"iframe[name='_print_pdf_frame']\").on(\"load\", function () {\n // hideLoading();\n // iFrame.window.focus();\n // iFrame.window.print();\n // });\n // }\n // iFrame.window.focus();\n // iFrame.location.href = url;\n });\n\n // 导出PDF\n $('.ureport-export-pdf').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/pdf' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 导出WORD\n $(`.ureport-export-word`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/word' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 导出Excel\n $(`.ureport-export-excel`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 分页导出EXCEL\n $(`.ureport-export-excel-paging`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel/paging' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 分页分Sheet导出EXCEL\n $(`.ureport-export-excel-paging-sheet`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel/sheet' + urlParameters;\n window.open(url, '_blank');\n });\n});\n\nwindow._currentPageIndex = null;\nwindow._totalPage = null;\n\nwindow.buildLocationSearchParameters = function (exclude) {\n if (exclude && typeof exclude == 'string') {\n exclude = [exclude];\n }\n let urlParameters = `${window.location.search}`;\n if (urlParameters.length > 0) {\n urlParameters = urlParameters.substring(1, urlParameters.length);\n }\n let parameters = {};\n const pairs = urlParameters.split('&');\n for (let i = 0; i < pairs.length; i++) {\n const item = pairs[i];\n if (item === '') {\n continue;\n }\n const param = item.split('=');\n let key = param[0];\n if (exclude) {\n let skip = 0;\n for (let ii = 0; ii < exclude.length; ii++) {\n if (exclude[ii] === key) skip = 1;\n }\n if (skip) {\n continue;\n }\n }\n let value = param[1];\n parameters[key] = value;\n }\n if (window.searchFormParameters) {\n for (let key in window.searchFormParameters) {\n if (exclude) {\n let skip = 0;\n for (let ii = 0; ii < exclude.length; ii++) {\n if (exclude[ii] === key) skip = 1;\n }\n if (skip) {\n continue;\n }\n }\n const value = window.searchFormParameters[key];\n if (value) {\n parameters[key] = value;\n }\n }\n }\n if (!parameters['token']) {\n parameters['token'] = token;\n }\n let p = '?';\n for (let key in parameters) {\n if (p === '?') {\n p += key + '=' + parameters[key];\n } else {\n p += '&' + key + '=' + parameters[key];\n }\n }\n return p;\n};\n\nfunction buildPrintStyle(paper) {\n const marginLeft = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.leftMargin);\n const marginTop = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.topMargin);\n const marginRight = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.rightMargin);\n const marginBottom = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.bottomMargin);\n const paperType = paper.paperType;\n let page = paperType;\n if (paperType === 'CUSTOM') {\n page = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.width) + 'mm ' + Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.height) + 'mm';\n }\n const style = `\n @media print {\n .page-break{\n display: block;\n page-break-before: always;\n }\n }\n @page {\n size: ${page} ${paper.orientation};\n margin-left: ${marginLeft}mm;\n margin-top: ${marginTop}mm;\n margin-right:${marginRight}mm;\n margin-bottom:${marginBottom}mm;\n }\n `;\n return style;\n};\n\nwindow._intervalRefresh = function (value, totalPage) {\n if (!value) {\n return;\n }\n window._totalPage = totalPage;\n const second = value * 1000;\n setTimeout(function () {\n _refreshData(second);\n }, second);\n};\n\nfunction _refreshData(second) {\n const params = buildLocationSearchParameters('_i');\n //let url = window._server + `/preview/loadData${params}`;\n let url = window._server + \"/api/datareport/Data/preview\" + params;\n const totalPage = window._totalPage;\n if (totalPage > 0) {\n if (window._currentPageIndex) {\n if (window._currentPageIndex > totalPage) {\n window._currentPageIndex = 1;\n }\n url += \"&_i=\" + window._currentPageIndex + \"\";\n }\n $(\"#pageSelector\").val(window._currentPageIndex);\n }\n $.ajax({\n url,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: report => {\n report = report.data;\n //const tableContainer = $(`#_ureport_table`);\n //tableContainer.empty();\n window._totalPage = report.totalPageWithCol;\n //tableContainer.append(report.content);\n $('#_ureport_table').html(report.content);\n _buildChartDatas(report.chartDatas);\n //buildPaging(window._currentPageIndex, window._totalPage);\n if (window._currentPageIndex) {\n window._currentPageIndex++;\n }\n setTimeout(function () {\n _refreshData(second);\n }, second);\n },\n error: function (response) {\n const tableContainer = $(`#_ureport_table`);\n tableContainer.empty();\n if (response && response.responseText) {\n tableContainer.append(\"

                                                                                                服务端错误:\" + response.responseText + \"

                                                                                                \");\n } else {\n tableContainer.append(\"

                                                                                                加载数据失败

                                                                                                \");\n }\n setTimeout(function () {\n _refreshData(second);\n }, second);\n }\n });\n};\n\nwindow._buildChartDatas = function (chartData) {\n if (!chartData) {\n return;\n }\n for (let d of chartData) {\n let json = d.json;\n json = JSON.parse(json, function (k, v) {\n if (v.indexOf && v.indexOf('function') > -1) {\n return eval(\"(function(){return \" + v + \" })()\");\n }\n return v;\n });\n _buildChart(d.id, json);\n }\n};\nwindow._buildChart = function (canvasId, chartJson) {\n const ctx = document.getElementById(canvasId);\n if (!ctx) {\n return;\n }\n let options = chartJson.options;\n if (!options) {\n options = {};\n chartJson.options = options;\n }\n let animation = options.animation;\n if (!animation) {\n animation = {};\n options.animation = animation;\n }\n animation.onComplete = function (event) {\n const chart = event.chart;\n const base64Image = chart.toBase64Image();\n const urlParameters = window.location.search;\n const url = window._server + '/chart/storeData' + urlParameters;\n const canvas = $(\"#\" + canvasId);\n const width = parseInt(canvas.css('width'));\n const height = parseInt(canvas.css('height'));\n $.ajax({\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n data: {\n _base64Data: base64Image,\n _chartId: canvasId,\n _width: width,\n _height: height\n },\n url\n });\n };\n const chart = new Chart(ctx, chartJson);\n};\n\n// 表单搜索\nwindow.submitSearchForm = function (file, customParameters) {\n window.searchFormParameters = {};\n for (let fun of window.formElements) {\n const json = fun.call(this);\n for (let key in json) {\n let value = json[key];\n value = encodeURI(value);\n value = encodeURI(value);\n window.searchFormParameters[key] = value;\n }\n }\n const parameters = window.buildLocationSearchParameters('_i');\n let url = window._server + \"/api/datareport/Data/preview\" + parameters;\n const pageSelector = $(`#pageSelector`);\n if (pageSelector.length > 0) {\n url += '&_i=1';\n }\n $.ajax({\n url,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: report => {\n report = report.data;\n window._currentPageIndex = 1;\n const tableContainer = $(`#_ureport_table`);\n //tableContainer.empty();\n //tableContainer.append(report.content);\n $('#_ureport_table').html(report.content);\n _buildChartDatas(report.chartDatas);\n const totalPage = report.totalPage;\n window._totalPage = totalPage;\n if (pageSelector.length > 0) {\n pageSelector.empty();\n for (let i = 1; i <= totalPage; i++) {\n pageSelector.append(``);\n }\n const pageIndex = report.pageIndex || 1;\n pageSelector.val(pageIndex);\n $('#totalPageLabel').html(totalPage);\n buildPaging(pageIndex, totalPage);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])('查询操作失败!');\n }\n }\n });\n};\n\n//# sourceURL=webpack:///./src/preview.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _form_external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form/external/bootstrap-datetimepicker.css */ \"./src/form/external/bootstrap-datetimepicker.css\");\n/* harmony import */ var _form_external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_form_external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"./src/Utils.js\");\n/* harmony import */ var _MsgBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MsgBox.js */ \"./src/MsgBox.js\");\n/* harmony import */ var _dialog_PDFPrintDialog_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dialog/PDFPrintDialog.js */ \"./src/dialog/PDFPrintDialog.js\");\n/* harmony import */ var _i18n_preview_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./i18n/preview.json */ \"./src/i18n/preview.json\");\nvar _i18n_preview_json__WEBPACK_IMPORTED_MODULE_4___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./i18n/preview.json */ \"./src/i18n/preview.json\", 1);\n/* harmony import */ var _i18n_preview_en_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./i18n/preview_en.json */ \"./src/i18n/preview_en.json\");\nvar _i18n_preview_en_json__WEBPACK_IMPORTED_MODULE_5___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./i18n/preview_en.json */ \"./src/i18n/preview_en.json\", 1);\n/**\n * Created by Jacky.Gao on 2017-03-17.\n */\n\n\n\n\n\n\n\n(function ($) {\n $.fn.datetimepicker.dates['zh-CN'] = {\n days: [\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\", \"星期六\", \"星期日\"],\n daysShort: [\"周日\", \"周一\", \"周二\", \"周三\", \"周四\", \"周五\", \"周六\", \"周日\"],\n daysMin: [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"日\"],\n months: [\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"],\n monthsShort: [\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"],\n today: \"今天\",\n suffix: [],\n meridiem: [\"上午\", \"下午\"]\n };\n})(jQuery);\n\nconst previewId = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('id');\nconst pageNo = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('page') || 0;\nconst token = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getToken\"])();\nconst origin = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getUrlParam\"])('from');\n\n$(document).ready(function () {\n\n let jsPageIndex = 0;\n let jsTotalPage = 1;\n\n // 处理预览关闭按钮\n if (origin === 'menu') {\n $('.preview-btn').hide();\n } else {\n $('.preview-btn').show();\n }\n\n // 页面初始化\n pageInit(pageNo);\n\n window.doSearch = function () {\n submitSearchForm(\"\", \"\");\n };\n\n function pageInit(pageNo) {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"showLoading\"])();\n const params = buildLocationSearchParameters(['_i', 'page']);\n // console.log(token)\n // 初始化预览报表数据\n $.ajax({\n url: `${window._server}/api/datareport/Data/preview${params}&page=${pageNo}`,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: res => {\n const data = res.data;\n if (res.code !== 200) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(res.msg);\n } else {\n // 页面数据渲染\n let styles = ``;\n // console.log(data);\n $('#_ureport_table').html(data.content);\n // 居中问题修复\n $('.preview-bd').css('text-align', data.reportAlign);\n // $('#_ureport_table').css('float', data.reportAlign);\n $('.multi').append(styles);\n $('#_ureport_table_style').html(data.style);\n if (data.searchFormData) {\n $('#_ureport_table_form').html(data.searchFormData.html).show();\n eval(data.searchFormData.js);\n }\n\n jsPageIndex = data.pageIndex;\n jsTotalPage = data.totalPage;\n\n if (data.pageIndex === 0) {\n // 不分页\n $('#pageLinkContainer').show();\n $('.pageNum').html('1/1');\n } else {\n $('#pageLinkContainer').show();\n $('.pageNum').html(`${jsPageIndex}/${jsTotalPage}`);\n }\n\n // 自动刷新处理\n if (data.htmlIntervalRefreshValue > 0) _intervalRefresh(data.htmlIntervalRefreshValue, data.totalPageWithCol);\n\n // 图表数据\n _buildChartDatas(data.chartDatas);\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n $('#_ureport_table').show();\n }\n },\n error: response => {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端出错!\");\n }\n }\n });\n }\n\n // 第一页\n $('.pageIndex').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === 1) return;\n pageInit(1);\n }\n });\n\n // 上一页\n $('.pagePre').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === 1) return;\n pageInit(jsPageIndex - 1);\n }\n });\n\n // 下一页\n $('.pageNext').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === jsTotalPage) return;\n pageInit(jsPageIndex + 1);\n }\n });\n\n // 最后一页\n $('.pageLast').on('click', () => {\n if (jsPageIndex !== 0) {\n if (jsPageIndex === jsTotalPage) return;\n pageInit(jsTotalPage);\n }\n });\n\n let language = window.navigator.language || window.navigator.browserLanguage;\n if (!language) {\n language = 'zh-cn';\n }\n language = language.toLowerCase();\n window.i18n = _i18n_preview_json__WEBPACK_IMPORTED_MODULE_4__;\n if (language !== 'zh-cn') {\n window.i18n = _i18n_preview_en_json__WEBPACK_IMPORTED_MODULE_5__;\n }\n\n let directPrintPdf = false,\n index = 0;\n const pdfPrintDialog = new _dialog_PDFPrintDialog_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n\n // 关闭\n $(\".preview-btn\").on('click', () => {\n window.parent.postMessage('closeDialog', '*');\n });\n\n // 在线打印\n $('.ureport-print').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/preview/loadPrintPages' + urlParameters;\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"showLoading\"])();\n $.ajax({\n url,\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n success: result => {\n $.get(window._server + '/preview/loadPagePaper' + urlParameters, function (paper) {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n const html = result.data;\n const iFrame = window.frames['_print_frame'];\n let styles = ``;\n $(iFrame.document.body).html(styles + html);\n iFrame.window.focus();\n iFrame.window.print();\n });\n },\n error: response => {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端出错!\");\n }\n }\n });\n });\n\n // PDF在线预览打印\n $('.ureport-pdf-print').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n $.get(window._server + '/preview/loadPagePaper' + urlParameters, function (paper) {\n pdfPrintDialog.show(paper);\n });\n });\n\n // 刷新\n $('.ureport-refresh').on('click', () => {\n location.reload();\n });\n\n // PDF在线打印\n $('.ureport-pdf-direct-print').on('click', () => {\n\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"showLoading\"])();\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/pdf/show' + urlParameters + `&_i=${index++}`;\n const iframe = window.frames['_print_pdf_frame'];\n if (!directPrintPdf) {\n directPrintPdf = true;\n $(\"iframe[name='_print_pdf_frame']\").on(\"load\", function () {\n Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"hideLoading\"])();\n iframe.window.focus();\n iframe.window.print();\n });\n }\n iframe.window.focus();\n iframe.location.href = url;\n\n // showLoading();\n // const urlParameters = buildLocationSearchParameters();\n // const url = window._server + '/pdf/show' + urlParameters + `&_i=${index++}`;\n // const iFrame = window.frames['_print_pdf_frame'];\n // if (!directPrintPdf) {\n // directPrintPdf = true;\n // $(\"iframe[name='_print_pdf_frame']\").on(\"load\", function () {\n // hideLoading();\n // iFrame.window.focus();\n // iFrame.window.print();\n // });\n // }\n // iFrame.window.focus();\n // iFrame.location.href = url;\n });\n\n // 导出PDF\n $('.ureport-export-pdf').on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/pdf' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 导出WORD\n $(`.ureport-export-word`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/word' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 导出Excel\n $(`.ureport-export-excel`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 分页导出EXCEL\n $(`.ureport-export-excel-paging`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel/paging' + urlParameters;\n window.open(url, '_blank');\n });\n\n // 分页分Sheet导出EXCEL\n $(`.ureport-export-excel-paging-sheet`).on('click', () => {\n const urlParameters = buildLocationSearchParameters();\n const url = window._server + '/excel/sheet' + urlParameters;\n window.open(url, '_blank');\n });\n});\n\nwindow._currentPageIndex = null;\nwindow._totalPage = null;\n\nwindow.buildLocationSearchParameters = function (exclude) {\n if (exclude && typeof exclude == 'string') {\n exclude = [exclude];\n }\n let urlParameters = `${window.location.search}`;\n if (urlParameters.length > 0) {\n urlParameters = urlParameters.substring(1, urlParameters.length);\n }\n let parameters = {};\n const pairs = urlParameters.split('&');\n for (let i = 0; i < pairs.length; i++) {\n const item = pairs[i];\n if (item === '') {\n continue;\n }\n const param = item.split('=');\n let key = param[0];\n if (exclude) {\n let skip = 0;\n for (let ii = 0; ii < exclude.length; ii++) {\n if (exclude[ii] === key) skip = 1;\n }\n if (skip) {\n continue;\n }\n }\n let value = param[1];\n parameters[key] = value;\n }\n if (window.searchFormParameters) {\n for (let key in window.searchFormParameters) {\n if (exclude) {\n let skip = 0;\n for (let ii = 0; ii < exclude.length; ii++) {\n if (exclude[ii] === key) skip = 1;\n }\n if (skip) {\n continue;\n }\n }\n const value = window.searchFormParameters[key];\n if (value) {\n parameters[key] = value;\n }\n }\n }\n if (!parameters['token']) {\n parameters['token'] = token;\n }\n let p = '?';\n for (let key in parameters) {\n if (p === '?') {\n p += key + '=' + parameters[key];\n } else {\n p += '&' + key + '=' + parameters[key];\n }\n }\n return p;\n};\n\nfunction buildPrintStyle(paper) {\n const marginLeft = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.leftMargin);\n const marginTop = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.topMargin);\n const marginRight = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.rightMargin);\n const marginBottom = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.bottomMargin);\n const paperType = paper.paperType;\n let page = paperType;\n if (paperType === 'CUSTOM') {\n page = Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.width) + 'mm ' + Object(_Utils_js__WEBPACK_IMPORTED_MODULE_1__[\"pointToMM\"])(paper.height) + 'mm';\n }\n const style = `\n @media print {\n .page-break{\n display: block;\n page-break-before: always;\n }\n }\n @page {\n size: ${page} ${paper.orientation};\n margin-left: ${marginLeft}mm;\n margin-top: ${marginTop}mm;\n margin-right:${marginRight}mm;\n margin-bottom:${marginBottom}mm;\n }\n `;\n return style;\n};\n\nwindow._intervalRefresh = function (value, totalPage) {\n if (!value) {\n return;\n }\n window._totalPage = totalPage;\n const second = value * 1000;\n setTimeout(function () {\n _refreshData(second);\n }, second);\n};\n\nfunction _refreshData(second) {\n const params = buildLocationSearchParameters('_i');\n //let url = window._server + `/preview/loadData${params}`;\n let url = window._server + \"/api/datareport/Data/preview\" + params;\n const totalPage = window._totalPage;\n if (totalPage > 0) {\n if (window._currentPageIndex) {\n if (window._currentPageIndex > totalPage) {\n window._currentPageIndex = 1;\n }\n url += \"&_i=\" + window._currentPageIndex + \"\";\n }\n $(\"#pageSelector\").val(window._currentPageIndex);\n }\n $.ajax({\n url,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: report => {\n report = report.data;\n //const tableContainer = $(`#_ureport_table`);\n //tableContainer.empty();\n window._totalPage = report.totalPageWithCol;\n //tableContainer.append(report.content);\n $('#_ureport_table').html(report.content);\n _buildChartDatas(report.chartDatas);\n //buildPaging(window._currentPageIndex, window._totalPage);\n if (window._currentPageIndex) {\n window._currentPageIndex++;\n }\n setTimeout(function () {\n _refreshData(second);\n }, second);\n },\n error: function (response) {\n const tableContainer = $(`#_ureport_table`);\n tableContainer.empty();\n if (response && response.responseText) {\n tableContainer.append(\"

                                                                                                服务端错误:\" + response.responseText + \"

                                                                                                \");\n } else {\n tableContainer.append(\"

                                                                                                加载数据失败

                                                                                                \");\n }\n setTimeout(function () {\n _refreshData(second);\n }, second);\n }\n });\n};\n\nwindow._buildChartDatas = function (chartData) {\n if (!chartData) {\n return;\n }\n for (let d of chartData) {\n let json = d.json;\n json = JSON.parse(json, function (k, v) {\n if (v.indexOf && v.indexOf('function') > -1) {\n return eval(\"(function(){return \" + v + \" })()\");\n }\n return v;\n });\n _buildChart(d.id, json);\n }\n};\nwindow._buildChart = function (canvasId, chartJson) {\n const ctx = document.getElementById(canvasId);\n if (!ctx) {\n return;\n }\n let options = chartJson.options;\n if (!options) {\n options = {};\n chartJson.options = options;\n }\n let animation = options.animation;\n if (!animation) {\n animation = {};\n options.animation = animation;\n }\n animation.onComplete = function (event) {\n const chart = event.chart;\n const base64Image = chart.toBase64Image();\n const urlParameters = window.location.search;\n const url = window._server + '/chart/storeData' + urlParameters;\n const canvas = $(\"#\" + canvasId);\n const width = parseInt(canvas.css('width'));\n const height = parseInt(canvas.css('height'));\n $.ajax({\n type: 'POST',\n headers: {\n 'Authorization': token\n },\n data: {\n _base64Data: base64Image,\n _chartId: canvasId,\n _width: width,\n _height: height\n },\n url\n });\n };\n const chart = new Chart(ctx, chartJson);\n};\n\n// 表单搜索\nwindow.submitSearchForm = function (file, customParameters) {\n window.searchFormParameters = {};\n for (let fun of window.formElements) {\n const json = fun.call(this);\n for (let key in json) {\n let value = json[key];\n value = encodeURI(value);\n value = encodeURI(value);\n window.searchFormParameters[key] = value;\n }\n }\n const parameters = window.buildLocationSearchParameters('_i');\n let url = window._server + \"/api/datareport/Data/preview\" + parameters;\n const pageSelector = $(`#pageSelector`);\n if (pageSelector.length > 0) {\n url += '&_i=1';\n }\n $.ajax({\n url,\n type: 'GET',\n headers: {\n 'Authorization': token\n },\n success: report => {\n report = report.data;\n window._currentPageIndex = 1;\n const tableContainer = $(`#_ureport_table`);\n //tableContainer.empty();\n //tableContainer.append(report.content);\n $('#_ureport_table').html(report.content);\n _buildChartDatas(report.chartDatas);\n const totalPage = report.totalPage;\n window._totalPage = totalPage;\n if (pageSelector.length > 0) {\n pageSelector.empty();\n for (let i = 1; i <= totalPage; i++) {\n pageSelector.append(``);\n }\n const pageIndex = report.pageIndex || 1;\n pageSelector.val(pageIndex);\n $('#totalPageLabel').html(totalPage);\n buildPaging(pageIndex, totalPage);\n }\n },\n error: response => {\n if (response && response.responseText) {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])(\"服务端错误:\" + response.responseText + \"\");\n } else {\n Object(_MsgBox_js__WEBPACK_IMPORTED_MODULE_2__[\"alert\"])('查询操作失败!');\n }\n }\n });\n};\n\n//# sourceURL=webpack:///./src/preview.js?"); /***/ }) diff --git a/SC-report-web/html/js/searchform.bundle.js b/SC-report-web/html/js/searchform.bundle.js index 72a16056..698a054e 100644 --- a/SC-report-web/html/js/searchform.bundle.js +++ b/SC-report-web/html/js/searchform.bundle.js @@ -104,7 +104,7 @@ eval("/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-20 /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".form-horizontal .form-group {\\r\\n margin-right: auto;\\r\\n margin-left: auto;\\r\\n}\\r\\n.pb-palette{\\r\\n width:295px;\\r\\n float:left;\\r\\n min-height: 300px;\\r\\n border:solid 1px #dddddd;\\r\\n background: #ffffff;\\r\\n margin-left:10px;\\r\\n position: absolute;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n.pb-hasFocus{\\r\\n border:1px solid #9BBDD8 !important;\\r\\n}\\r\\n.pb-component{\\r\\n background: transparent;\\r\\n font-size: 12px;\\r\\n padding: 5px;\\r\\n cursor: move;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 2.5px 2.5px 2.5px 2.5px;\\r\\n color: #525C66;\\r\\n transition-duration: 150ms;\\r\\n transition-property: background-color, border-color, box-shadow;\\r\\n white-space: normal;\\r\\n min-width: 100px;\\r\\n}\\r\\n.pb-component:hover{\\r\\n border: 1px solid #ddd !important;\\r\\n background-color: rgba(3, 14, 27, 0.03);\\r\\n}\\r\\n.pb-element{\\r\\n border: 1px solid transparent;\\r\\n background: transparent;\\r\\n}\\r\\n.pb-element-hover{\\r\\n border: 1px solid #9BBDD8 !important;\\r\\n}\\r\\n.pb-shadow{\\r\\n border: #ddd solid 1px;\\r\\n margin: 20px;\\r\\n background-color: #ffffff;\\r\\n padding-left:20px;\\r\\n padding-right:20px;\\r\\n}\\r\\n.pb-dropable-grid{\\r\\n padding: 4px;\\r\\n min-height: 80px;\\r\\n height: auto !important;\\r\\n background-color: #fff;\\r\\n border: 1px dotted #dddddd;\\r\\n}\\r\\n.pb-tab-grid{\\r\\n padding: 4px;\\r\\n min-height: 80px;\\r\\n height: auto !important;\\r\\n background-color: #fff;\\r\\n}\\r\\n.pb-carousel-container{\\r\\n min-height: 200px;\\r\\n}\\r\\n.pb-sortable-placeholder {\\r\\n display: block;\\r\\n border: 1px solid #ddd;\\r\\n min-height: 60px;\\r\\n background: #fdfdfd;\\r\\n height: 60px;\\r\\n width: 100%;\\r\\n}\\r\\n.pb-canvas-container{\\r\\n min-height: 100px;\\r\\n height: auto !important;\\r\\n background-color: #fff;\\r\\n background: #fff;\\r\\n border: 1px solid #fff;\\r\\n padding: 2px;\\r\\n}\\r\\n.pb-tab-icon {\\r\\n position: relative;\\r\\n top: 1px;\\r\\n display: inline-block;\\r\\n font-family: 'Glyphicons Halflings';\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n line-height: 1;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n}\\r\\n.pb-tab-toolbar {\\r\\n float:right;\\r\\n margin-right: 3px;\\r\\n top: 5px;\\r\\n right: 5px;\\r\\n margin-top: 0px;\\r\\n cursor: pointer;\\r\\n color:#007fff;\\r\\n }\\r\\n.pb-icon-add {\\r\\n cursor: pointer;\\r\\n color: #007fff;\\r\\n}\\r\\n.pb-icon-delete {\\r\\n cursor: pointer;\\r\\n color: red;\\r\\n}\\r\\n.pb-toolbar{\\r\\n background-color: #ffffff;\\r\\n margin-left: 10px;\\r\\n margin-right: 30px;\\r\\n margin-top: 5px;\\r\\n}\\r\\n.pd-datalabel{\\r\\n border-bottom: solid 1px #adadad;\\r\\n min-width: 120px;\\r\\n min-height: 26px;\\r\\n display: inline-block;\\r\\n text-align: center;\\r\\n}\\r\\n.slider-bar-left{\\r\\n width: 310px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n /* height: auto; */\\r\\n margin-left: 0px;\\r\\n border-color: #f5f5f5;\\r\\n border-right: 1px solid #ddd !important;\\r\\n background-color: #ffffff;\\r\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/css/form.css?./node_modules/css-loader"); +eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".form-horizontal .form-group {\\n margin-right: auto;\\n margin-left: auto;\\n}\\n.pb-palette{\\n width:295px;\\n float:left;\\n min-height: 300px;\\n border:solid 1px #dddddd;\\n background: #ffffff;\\n margin-left:10px;\\n position: absolute;\\n padding-bottom: 20px;\\n}\\n.pb-hasFocus{\\n border:1px solid #9BBDD8 !important;\\n}\\n.pb-component{\\n background: transparent;\\n font-size: 12px;\\n padding: 5px;\\n cursor: move;\\n border: 1px solid transparent;\\n border-radius: 2.5px 2.5px 2.5px 2.5px;\\n color: #525C66;\\n transition-duration: 150ms;\\n transition-property: background-color, border-color, box-shadow;\\n white-space: normal;\\n min-width: 100px;\\n}\\n.pb-component:hover{\\n border: 1px solid #ddd !important;\\n background-color: rgba(3, 14, 27, 0.03);\\n}\\n.pb-element{\\n border: 1px solid transparent;\\n background: transparent;\\n}\\n.pb-element-hover{\\n border: 1px solid #9BBDD8 !important;\\n}\\n.pb-shadow{\\n border: #ddd solid 1px;\\n margin: 20px;\\n background-color: #ffffff;\\n padding-left:20px;\\n padding-right:20px;\\n}\\n.pb-dropable-grid{\\n padding: 4px;\\n min-height: 80px;\\n height: auto !important;\\n background-color: #fff;\\n border: 1px dotted #dddddd;\\n}\\n.pb-tab-grid{\\n padding: 4px;\\n min-height: 80px;\\n height: auto !important;\\n background-color: #fff;\\n}\\n.pb-carousel-container{\\n min-height: 200px;\\n}\\n.pb-sortable-placeholder {\\n display: block;\\n border: 1px solid #ddd;\\n min-height: 60px;\\n background: #fdfdfd;\\n height: 60px;\\n width: 100%;\\n}\\n.pb-canvas-container{\\n min-height: 100px;\\n height: auto !important;\\n background-color: #fff;\\n background: #fff;\\n border: 1px solid #fff;\\n padding: 2px;\\n}\\n.pb-tab-icon {\\n position: relative;\\n top: 1px;\\n display: inline-block;\\n font-family: 'Glyphicons Halflings';\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n}\\n.pb-tab-toolbar {\\n float:right;\\n margin-right: 3px;\\n top: 5px;\\n right: 5px;\\n margin-top: 0px;\\n cursor: pointer;\\n color:#007fff;\\n }\\n.pb-icon-add {\\n cursor: pointer;\\n color: #007fff;\\n}\\n.pb-icon-delete {\\n cursor: pointer;\\n color: red;\\n}\\n.pb-toolbar{\\n background-color: #ffffff;\\n margin-left: 10px;\\n margin-right: 30px;\\n margin-top: 5px;\\n}\\n.pd-datalabel{\\n border-bottom: solid 1px #adadad;\\n min-width: 120px;\\n min-height: 26px;\\n display: inline-block;\\n text-align: center;\\n}\\n.slider-bar-left{\\n width: 310px;\\n top: 0;\\n bottom: 0;\\n /* height: auto; */\\n margin-left: 0px;\\n border-color: #f5f5f5;\\n border-right: 1px solid #ddd !important;\\n background-color: #ffffff;\\n}\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/css/form.css?./node_modules/css-loader"); /***/ }), @@ -115,7 +115,7 @@ eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/c /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var escape = __webpack_require__(/*! ../../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\r\\n@font-face {font-family: \\\"form\\\";\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot */ \"./src/form/css/iconfont.eot\")) + \"); /* IE9*/\\r\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.ttf */ \"./src/form/css/iconfont.ttf\")) + \") format('truetype');\\r\\n}\\r\\n\\r\\n.form {\\r\\n font-family:\\\"form\\\" !important;\\r\\n font-size:13px;\\r\\n font-style:normal;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n.form-3col:before { content: \\\"\\\\E6E7\\\"; }\\r\\n\\r\\n.form-custom-col:before { content: \\\"\\\\E614\\\"; }\\r\\n\\r\\n.form-dropdown:before { content: \\\"\\\\E606\\\"; }\\r\\n\\r\\n.form-checkbox:before { content: \\\"\\\\E60D\\\"; }\\r\\n\\r\\n.form-datetime:before { content: \\\"\\\\E6CC\\\"; }\\r\\n\\r\\n.form-radio:before { content: \\\"\\\\E612\\\"; }\\r\\n\\r\\n.form-tab:before { content: \\\"\\\\E61F\\\"; }\\r\\n\\r\\n.form-danye-:before { content: \\\"\\\\E603\\\"; }\\r\\n\\r\\n.form-submit:before { content: \\\"\\\\E670\\\"; }\\r\\n\\r\\n.form-textarea:before { content: \\\"\\\\E6EA\\\"; }\\r\\n\\r\\n.form-textbox:before { content: \\\"\\\\E6EB\\\"; }\\r\\n\\r\\n.form-2col:before { content: \\\"\\\\E64B\\\"; }\\r\\n\\r\\n.form-4col:before { content: \\\"\\\\E602\\\"; }\\r\\n\\r\\n.form-reset:before { content: \\\"\\\\E6E8\\\"; }\\r\\n\\r\\n.form-1col:before { content: \\\"\\\\E649\\\"; }\\r\\n\\r\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/css/iconfont.css?./node_modules/css-loader"); +eval("var escape = __webpack_require__(/*! ../../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n@font-face {font-family: \\\"form\\\";\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.eot */ \"./src/form/css/iconfont.eot\")) + \"); /* IE9*/\\n src: url(\" + escape(__webpack_require__(/*! ./iconfont.ttf */ \"./src/form/css/iconfont.ttf\")) + \") format('truetype');\\n}\\n\\n.form {\\n font-family:\\\"form\\\" !important;\\n font-size:13px;\\n font-style:normal;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.form-3col:before { content: \\\"\\\\E6E7\\\"; }\\n\\n.form-custom-col:before { content: \\\"\\\\E614\\\"; }\\n\\n.form-dropdown:before { content: \\\"\\\\E606\\\"; }\\n\\n.form-checkbox:before { content: \\\"\\\\E60D\\\"; }\\n\\n.form-datetime:before { content: \\\"\\\\E6CC\\\"; }\\n\\n.form-radio:before { content: \\\"\\\\E612\\\"; }\\n\\n.form-tab:before { content: \\\"\\\\E61F\\\"; }\\n\\n.form-danye-:before { content: \\\"\\\\E603\\\"; }\\n\\n.form-submit:before { content: \\\"\\\\E670\\\"; }\\n\\n.form-textarea:before { content: \\\"\\\\E6EA\\\"; }\\n\\n.form-textbox:before { content: \\\"\\\\E6EB\\\"; }\\n\\n.form-2col:before { content: \\\"\\\\E64B\\\"; }\\n\\n.form-4col:before { content: \\\"\\\\E602\\\"; }\\n\\n.form-reset:before { content: \\\"\\\\E6E8\\\"; }\\n\\n.form-1col:before { content: \\\"\\\\E649\\\"; }\\n\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/css/iconfont.css?./node_modules/css-loader"); /***/ }), @@ -126,7 +126,7 @@ eval("var escape = __webpack_require__(/*! ../../../node_modules/css-loader/lib/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * Datetimepicker for Bootstrap\\r\\n *\\r\\n * Copyright 2012 Stefan Petre\\r\\n * Improvements by Andrew Rowls\\r\\n * Licensed under the Apache License v2.0\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n */\\r\\n.datetimepicker {\\r\\n\\tpadding: 4px;\\r\\n\\tmargin-top: 1px;\\r\\n\\t-webkit-border-radius: 4px;\\r\\n\\t-moz-border-radius: 4px;\\r\\n\\tborder-radius: 4px;\\r\\n\\tdirection: ltr;\\r\\n}\\r\\n\\r\\n.datetimepicker-inline {\\r\\n\\twidth: 220px;\\r\\n}\\r\\n\\r\\n.datetimepicker.datetimepicker-rtl {\\r\\n\\tdirection: rtl;\\r\\n}\\r\\n\\r\\n.datetimepicker.datetimepicker-rtl table tr td span {\\r\\n\\tfloat: right;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown, .datetimepicker-dropdown-left {\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n}\\r\\n\\r\\n[class*=\\\" datetimepicker-dropdown\\\"]:before {\\r\\n\\tcontent: '';\\r\\n\\tdisplay: inline-block;\\r\\n\\tborder-left: 7px solid transparent;\\r\\n\\tborder-right: 7px solid transparent;\\r\\n\\tborder-bottom: 7px solid #cccccc;\\r\\n\\tborder-bottom-color: rgba(0, 0, 0, 0.2);\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n[class*=\\\" datetimepicker-dropdown\\\"]:after {\\r\\n\\tcontent: '';\\r\\n\\tdisplay: inline-block;\\r\\n\\tborder-left: 6px solid transparent;\\r\\n\\tborder-right: 6px solid transparent;\\r\\n\\tborder-bottom: 6px solid #ffffff;\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n[class*=\\\" datetimepicker-dropdown-top\\\"]:before {\\r\\n\\tcontent: '';\\r\\n\\tdisplay: inline-block;\\r\\n\\tborder-left: 7px solid transparent;\\r\\n\\tborder-right: 7px solid transparent;\\r\\n\\tborder-top: 7px solid #cccccc;\\r\\n\\tborder-top-color: rgba(0, 0, 0, 0.2);\\r\\n\\tborder-bottom: 0;\\r\\n}\\r\\n\\r\\n[class*=\\\" datetimepicker-dropdown-top\\\"]:after {\\r\\n\\tcontent: '';\\r\\n\\tdisplay: inline-block;\\r\\n\\tborder-left: 6px solid transparent;\\r\\n\\tborder-right: 6px solid transparent;\\r\\n\\tborder-top: 6px solid #ffffff;\\r\\n\\tborder-bottom: 0;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-bottom-left:before {\\r\\n\\ttop: -7px;\\r\\n\\tright: 6px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-bottom-left:after {\\r\\n\\ttop: -6px;\\r\\n\\tright: 7px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-bottom-right:before {\\r\\n\\ttop: -7px;\\r\\n\\tleft: 6px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-bottom-right:after {\\r\\n\\ttop: -6px;\\r\\n\\tleft: 7px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-top-left:before {\\r\\n\\tbottom: -7px;\\r\\n\\tright: 6px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-top-left:after {\\r\\n\\tbottom: -6px;\\r\\n\\tright: 7px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-top-right:before {\\r\\n\\tbottom: -7px;\\r\\n\\tleft: 6px;\\r\\n}\\r\\n\\r\\n.datetimepicker-dropdown-top-right:after {\\r\\n\\tbottom: -6px;\\r\\n\\tleft: 7px;\\r\\n}\\r\\n\\r\\n.datetimepicker > div {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.datetimepicker.minutes div.datetimepicker-minutes {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.datetimepicker.hours div.datetimepicker-hours {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.datetimepicker.days div.datetimepicker-days {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.datetimepicker.months div.datetimepicker-months {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.datetimepicker.years div.datetimepicker-years {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.datetimepicker table {\\r\\n\\tmargin: 0;\\r\\n}\\r\\n\\r\\n.datetimepicker td,\\r\\n.datetimepicker th {\\r\\n\\ttext-align: center;\\r\\n\\twidth: 20px;\\r\\n\\theight: 20px;\\r\\n\\t-webkit-border-radius: 4px;\\r\\n\\t-moz-border-radius: 4px;\\r\\n\\tborder-radius: 4px;\\r\\n\\tborder: none;\\r\\n}\\r\\n\\r\\n.table-striped .datetimepicker table tr td,\\r\\n.table-striped .datetimepicker table tr th {\\r\\n\\tbackground-color: transparent;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.minute:hover {\\r\\n\\tbackground: #eeeeee;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.hour:hover {\\r\\n\\tbackground: #eeeeee;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.day:hover {\\r\\n\\tbackground: #eeeeee;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.old,\\r\\n.datetimepicker table tr td.new {\\r\\n\\tcolor: #999999;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.disabled,\\r\\n.datetimepicker table tr td.disabled:hover {\\r\\n\\tbackground: none;\\r\\n\\tcolor: #999999;\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.today,\\r\\n.datetimepicker table tr td.today:hover,\\r\\n.datetimepicker table tr td.today.disabled,\\r\\n.datetimepicker table tr td.today.disabled:hover {\\r\\n\\tbackground-color: #fde19a;\\r\\n\\tbackground-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);\\r\\n\\tbackground-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);\\r\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));\\r\\n\\tbackground-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);\\r\\n\\tbackground-image: -o-linear-gradient(top, #fdd49a, #fdf59a);\\r\\n\\tbackground-image: linear-gradient(to bottom, #fdd49a, #fdf59a);\\r\\n\\tbackground-repeat: repeat-x;\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);\\r\\n\\tborder-color: #fdf59a #fdf59a #fbed50;\\r\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.today:hover,\\r\\n.datetimepicker table tr td.today:hover:hover,\\r\\n.datetimepicker table tr td.today.disabled:hover,\\r\\n.datetimepicker table tr td.today.disabled:hover:hover,\\r\\n.datetimepicker table tr td.today:active,\\r\\n.datetimepicker table tr td.today:hover:active,\\r\\n.datetimepicker table tr td.today.disabled:active,\\r\\n.datetimepicker table tr td.today.disabled:hover:active,\\r\\n.datetimepicker table tr td.today.active,\\r\\n.datetimepicker table tr td.today:hover.active,\\r\\n.datetimepicker table tr td.today.disabled.active,\\r\\n.datetimepicker table tr td.today.disabled:hover.active,\\r\\n.datetimepicker table tr td.today.disabled,\\r\\n.datetimepicker table tr td.today:hover.disabled,\\r\\n.datetimepicker table tr td.today.disabled.disabled,\\r\\n.datetimepicker table tr td.today.disabled:hover.disabled,\\r\\n.datetimepicker table tr td.today[disabled],\\r\\n.datetimepicker table tr td.today:hover[disabled],\\r\\n.datetimepicker table tr td.today.disabled[disabled],\\r\\n.datetimepicker table tr td.today.disabled:hover[disabled] {\\r\\n\\tbackground-color: #fdf59a;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.today:active,\\r\\n.datetimepicker table tr td.today:hover:active,\\r\\n.datetimepicker table tr td.today.disabled:active,\\r\\n.datetimepicker table tr td.today.disabled:hover:active,\\r\\n.datetimepicker table tr td.today.active,\\r\\n.datetimepicker table tr td.today:hover.active,\\r\\n.datetimepicker table tr td.today.disabled.active,\\r\\n.datetimepicker table tr td.today.disabled:hover.active {\\r\\n\\tbackground-color: #fbf069;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.active,\\r\\n.datetimepicker table tr td.active:hover,\\r\\n.datetimepicker table tr td.active.disabled,\\r\\n.datetimepicker table tr td.active.disabled:hover {\\r\\n\\tbackground-color: #006dcc;\\r\\n\\tbackground-image: -moz-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -ms-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\\r\\n\\tbackground-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -o-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: linear-gradient(to bottom, #0088cc, #0044cc);\\r\\n\\tbackground-repeat: repeat-x;\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\\r\\n\\tborder-color: #0044cc #0044cc #002a80;\\r\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\r\\n\\tcolor: #ffffff;\\r\\n\\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.active:hover,\\r\\n.datetimepicker table tr td.active:hover:hover,\\r\\n.datetimepicker table tr td.active.disabled:hover,\\r\\n.datetimepicker table tr td.active.disabled:hover:hover,\\r\\n.datetimepicker table tr td.active:active,\\r\\n.datetimepicker table tr td.active:hover:active,\\r\\n.datetimepicker table tr td.active.disabled:active,\\r\\n.datetimepicker table tr td.active.disabled:hover:active,\\r\\n.datetimepicker table tr td.active.active,\\r\\n.datetimepicker table tr td.active:hover.active,\\r\\n.datetimepicker table tr td.active.disabled.active,\\r\\n.datetimepicker table tr td.active.disabled:hover.active,\\r\\n.datetimepicker table tr td.active.disabled,\\r\\n.datetimepicker table tr td.active:hover.disabled,\\r\\n.datetimepicker table tr td.active.disabled.disabled,\\r\\n.datetimepicker table tr td.active.disabled:hover.disabled,\\r\\n.datetimepicker table tr td.active[disabled],\\r\\n.datetimepicker table tr td.active:hover[disabled],\\r\\n.datetimepicker table tr td.active.disabled[disabled],\\r\\n.datetimepicker table tr td.active.disabled:hover[disabled] {\\r\\n\\tbackground-color: #0044cc;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td.active:active,\\r\\n.datetimepicker table tr td.active:hover:active,\\r\\n.datetimepicker table tr td.active.disabled:active,\\r\\n.datetimepicker table tr td.active.disabled:hover:active,\\r\\n.datetimepicker table tr td.active.active,\\r\\n.datetimepicker table tr td.active:hover.active,\\r\\n.datetimepicker table tr td.active.disabled.active,\\r\\n.datetimepicker table tr td.active.disabled:hover.active {\\r\\n\\tbackground-color: #003399;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span {\\r\\n\\tdisplay: block;\\r\\n\\twidth: 23%;\\r\\n\\theight: 54px;\\r\\n\\tline-height: 54px;\\r\\n\\tfloat: left;\\r\\n\\tmargin: 1%;\\r\\n\\tcursor: pointer;\\r\\n\\t-webkit-border-radius: 4px;\\r\\n\\t-moz-border-radius: 4px;\\r\\n\\tborder-radius: 4px;\\r\\n}\\r\\n\\r\\n.datetimepicker .datetimepicker-hours span {\\r\\n\\theight: 26px;\\r\\n\\tline-height: 26px;\\r\\n}\\r\\n\\r\\n.datetimepicker .datetimepicker-hours table tr td span.hour_am,\\r\\n.datetimepicker .datetimepicker-hours table tr td span.hour_pm {\\r\\n\\twidth: 14.6%;\\r\\n}\\r\\n\\r\\n.datetimepicker .datetimepicker-hours fieldset legend,\\r\\n.datetimepicker .datetimepicker-minutes fieldset legend {\\r\\n\\tmargin-bottom: inherit;\\r\\n\\tline-height: 30px;\\r\\n}\\r\\n\\r\\n.datetimepicker .datetimepicker-minutes span {\\r\\n\\theight: 26px;\\r\\n\\tline-height: 26px;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span:hover {\\r\\n\\tbackground: #eeeeee;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span.disabled,\\r\\n.datetimepicker table tr td span.disabled:hover {\\r\\n\\tbackground: none;\\r\\n\\tcolor: #999999;\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span.active,\\r\\n.datetimepicker table tr td span.active:hover,\\r\\n.datetimepicker table tr td span.active.disabled,\\r\\n.datetimepicker table tr td span.active.disabled:hover {\\r\\n\\tbackground-color: #006dcc;\\r\\n\\tbackground-image: -moz-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -ms-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\\r\\n\\tbackground-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: -o-linear-gradient(top, #0088cc, #0044cc);\\r\\n\\tbackground-image: linear-gradient(to bottom, #0088cc, #0044cc);\\r\\n\\tbackground-repeat: repeat-x;\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\\r\\n\\tborder-color: #0044cc #0044cc #002a80;\\r\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\r\\n\\tcolor: #ffffff;\\r\\n\\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span.active:hover,\\r\\n.datetimepicker table tr td span.active:hover:hover,\\r\\n.datetimepicker table tr td span.active.disabled:hover,\\r\\n.datetimepicker table tr td span.active.disabled:hover:hover,\\r\\n.datetimepicker table tr td span.active:active,\\r\\n.datetimepicker table tr td span.active:hover:active,\\r\\n.datetimepicker table tr td span.active.disabled:active,\\r\\n.datetimepicker table tr td span.active.disabled:hover:active,\\r\\n.datetimepicker table tr td span.active.active,\\r\\n.datetimepicker table tr td span.active:hover.active,\\r\\n.datetimepicker table tr td span.active.disabled.active,\\r\\n.datetimepicker table tr td span.active.disabled:hover.active,\\r\\n.datetimepicker table tr td span.active.disabled,\\r\\n.datetimepicker table tr td span.active:hover.disabled,\\r\\n.datetimepicker table tr td span.active.disabled.disabled,\\r\\n.datetimepicker table tr td span.active.disabled:hover.disabled,\\r\\n.datetimepicker table tr td span.active[disabled],\\r\\n.datetimepicker table tr td span.active:hover[disabled],\\r\\n.datetimepicker table tr td span.active.disabled[disabled],\\r\\n.datetimepicker table tr td span.active.disabled:hover[disabled] {\\r\\n\\tbackground-color: #0044cc;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span.active:active,\\r\\n.datetimepicker table tr td span.active:hover:active,\\r\\n.datetimepicker table tr td span.active.disabled:active,\\r\\n.datetimepicker table tr td span.active.disabled:hover:active,\\r\\n.datetimepicker table tr td span.active.active,\\r\\n.datetimepicker table tr td span.active:hover.active,\\r\\n.datetimepicker table tr td span.active.disabled.active,\\r\\n.datetimepicker table tr td span.active.disabled:hover.active {\\r\\n\\tbackground-color: #003399;\\r\\n}\\r\\n\\r\\n.datetimepicker table tr td span.old {\\r\\n\\tcolor: #999999;\\r\\n}\\r\\n\\r\\n.datetimepicker th.switch {\\r\\n\\twidth: 145px;\\r\\n}\\r\\n\\r\\n.datetimepicker th span.glyphicon {\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n.datetimepicker thead tr:first-child th,\\r\\n.datetimepicker tfoot th {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.datetimepicker thead tr:first-child th:hover,\\r\\n.datetimepicker tfoot th:hover {\\r\\n\\tbackground: #eeeeee;\\r\\n}\\r\\n\\r\\n.input-append.date .add-on i,\\r\\n.input-prepend.date .add-on i,\\r\\n.input-group.date .input-group-addon span {\\r\\n\\tcursor: pointer;\\r\\n\\twidth: 14px;\\r\\n\\theight: 14px;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/external/bootstrap-datetimepicker.css?./node_modules/css-loader"); +eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\n * Datetimepicker for Bootstrap\\n *\\n * Copyright 2012 Stefan Petre\\n * Improvements by Andrew Rowls\\n * Licensed under the Apache License v2.0\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n */\\n.datetimepicker {\\n\\tpadding: 4px;\\n\\tmargin-top: 1px;\\n\\t-webkit-border-radius: 4px;\\n\\t-moz-border-radius: 4px;\\n\\tborder-radius: 4px;\\n\\tdirection: ltr;\\n}\\n\\n.datetimepicker-inline {\\n\\twidth: 220px;\\n}\\n\\n.datetimepicker.datetimepicker-rtl {\\n\\tdirection: rtl;\\n}\\n\\n.datetimepicker.datetimepicker-rtl table tr td span {\\n\\tfloat: right;\\n}\\n\\n.datetimepicker-dropdown, .datetimepicker-dropdown-left {\\n\\ttop: 0;\\n\\tleft: 0;\\n}\\n\\n[class*=\\\" datetimepicker-dropdown\\\"]:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tborder-left: 7px solid transparent;\\n\\tborder-right: 7px solid transparent;\\n\\tborder-bottom: 7px solid #cccccc;\\n\\tborder-bottom-color: rgba(0, 0, 0, 0.2);\\n\\tposition: absolute;\\n}\\n\\n[class*=\\\" datetimepicker-dropdown\\\"]:after {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tborder-left: 6px solid transparent;\\n\\tborder-right: 6px solid transparent;\\n\\tborder-bottom: 6px solid #ffffff;\\n\\tposition: absolute;\\n}\\n\\n[class*=\\\" datetimepicker-dropdown-top\\\"]:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tborder-left: 7px solid transparent;\\n\\tborder-right: 7px solid transparent;\\n\\tborder-top: 7px solid #cccccc;\\n\\tborder-top-color: rgba(0, 0, 0, 0.2);\\n\\tborder-bottom: 0;\\n}\\n\\n[class*=\\\" datetimepicker-dropdown-top\\\"]:after {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tborder-left: 6px solid transparent;\\n\\tborder-right: 6px solid transparent;\\n\\tborder-top: 6px solid #ffffff;\\n\\tborder-bottom: 0;\\n}\\n\\n.datetimepicker-dropdown-bottom-left:before {\\n\\ttop: -7px;\\n\\tright: 6px;\\n}\\n\\n.datetimepicker-dropdown-bottom-left:after {\\n\\ttop: -6px;\\n\\tright: 7px;\\n}\\n\\n.datetimepicker-dropdown-bottom-right:before {\\n\\ttop: -7px;\\n\\tleft: 6px;\\n}\\n\\n.datetimepicker-dropdown-bottom-right:after {\\n\\ttop: -6px;\\n\\tleft: 7px;\\n}\\n\\n.datetimepicker-dropdown-top-left:before {\\n\\tbottom: -7px;\\n\\tright: 6px;\\n}\\n\\n.datetimepicker-dropdown-top-left:after {\\n\\tbottom: -6px;\\n\\tright: 7px;\\n}\\n\\n.datetimepicker-dropdown-top-right:before {\\n\\tbottom: -7px;\\n\\tleft: 6px;\\n}\\n\\n.datetimepicker-dropdown-top-right:after {\\n\\tbottom: -6px;\\n\\tleft: 7px;\\n}\\n\\n.datetimepicker > div {\\n\\tdisplay: none;\\n}\\n\\n.datetimepicker.minutes div.datetimepicker-minutes {\\n\\tdisplay: block;\\n}\\n\\n.datetimepicker.hours div.datetimepicker-hours {\\n\\tdisplay: block;\\n}\\n\\n.datetimepicker.days div.datetimepicker-days {\\n\\tdisplay: block;\\n}\\n\\n.datetimepicker.months div.datetimepicker-months {\\n\\tdisplay: block;\\n}\\n\\n.datetimepicker.years div.datetimepicker-years {\\n\\tdisplay: block;\\n}\\n\\n.datetimepicker table {\\n\\tmargin: 0;\\n}\\n\\n.datetimepicker td,\\n.datetimepicker th {\\n\\ttext-align: center;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\t-webkit-border-radius: 4px;\\n\\t-moz-border-radius: 4px;\\n\\tborder-radius: 4px;\\n\\tborder: none;\\n}\\n\\n.table-striped .datetimepicker table tr td,\\n.table-striped .datetimepicker table tr th {\\n\\tbackground-color: transparent;\\n}\\n\\n.datetimepicker table tr td.minute:hover {\\n\\tbackground: #eeeeee;\\n\\tcursor: pointer;\\n}\\n\\n.datetimepicker table tr td.hour:hover {\\n\\tbackground: #eeeeee;\\n\\tcursor: pointer;\\n}\\n\\n.datetimepicker table tr td.day:hover {\\n\\tbackground: #eeeeee;\\n\\tcursor: pointer;\\n}\\n\\n.datetimepicker table tr td.old,\\n.datetimepicker table tr td.new {\\n\\tcolor: #999999;\\n}\\n\\n.datetimepicker table tr td.disabled,\\n.datetimepicker table tr td.disabled:hover {\\n\\tbackground: none;\\n\\tcolor: #999999;\\n\\tcursor: default;\\n}\\n\\n.datetimepicker table tr td.today,\\n.datetimepicker table tr td.today:hover,\\n.datetimepicker table tr td.today.disabled,\\n.datetimepicker table tr td.today.disabled:hover {\\n\\tbackground-color: #fde19a;\\n\\tbackground-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);\\n\\tbackground-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));\\n\\tbackground-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);\\n\\tbackground-image: -o-linear-gradient(top, #fdd49a, #fdf59a);\\n\\tbackground-image: linear-gradient(to bottom, #fdd49a, #fdf59a);\\n\\tbackground-repeat: repeat-x;\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);\\n\\tborder-color: #fdf59a #fdf59a #fbed50;\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\n}\\n\\n.datetimepicker table tr td.today:hover,\\n.datetimepicker table tr td.today:hover:hover,\\n.datetimepicker table tr td.today.disabled:hover,\\n.datetimepicker table tr td.today.disabled:hover:hover,\\n.datetimepicker table tr td.today:active,\\n.datetimepicker table tr td.today:hover:active,\\n.datetimepicker table tr td.today.disabled:active,\\n.datetimepicker table tr td.today.disabled:hover:active,\\n.datetimepicker table tr td.today.active,\\n.datetimepicker table tr td.today:hover.active,\\n.datetimepicker table tr td.today.disabled.active,\\n.datetimepicker table tr td.today.disabled:hover.active,\\n.datetimepicker table tr td.today.disabled,\\n.datetimepicker table tr td.today:hover.disabled,\\n.datetimepicker table tr td.today.disabled.disabled,\\n.datetimepicker table tr td.today.disabled:hover.disabled,\\n.datetimepicker table tr td.today[disabled],\\n.datetimepicker table tr td.today:hover[disabled],\\n.datetimepicker table tr td.today.disabled[disabled],\\n.datetimepicker table tr td.today.disabled:hover[disabled] {\\n\\tbackground-color: #fdf59a;\\n}\\n\\n.datetimepicker table tr td.today:active,\\n.datetimepicker table tr td.today:hover:active,\\n.datetimepicker table tr td.today.disabled:active,\\n.datetimepicker table tr td.today.disabled:hover:active,\\n.datetimepicker table tr td.today.active,\\n.datetimepicker table tr td.today:hover.active,\\n.datetimepicker table tr td.today.disabled.active,\\n.datetimepicker table tr td.today.disabled:hover.active {\\n\\tbackground-color: #fbf069;\\n}\\n\\n.datetimepicker table tr td.active,\\n.datetimepicker table tr td.active:hover,\\n.datetimepicker table tr td.active.disabled,\\n.datetimepicker table tr td.active.disabled:hover {\\n\\tbackground-color: #006dcc;\\n\\tbackground-image: -moz-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -ms-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\\n\\tbackground-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -o-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: linear-gradient(to bottom, #0088cc, #0044cc);\\n\\tbackground-repeat: repeat-x;\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\\n\\tborder-color: #0044cc #0044cc #002a80;\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\n\\tcolor: #ffffff;\\n\\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\\n}\\n\\n.datetimepicker table tr td.active:hover,\\n.datetimepicker table tr td.active:hover:hover,\\n.datetimepicker table tr td.active.disabled:hover,\\n.datetimepicker table tr td.active.disabled:hover:hover,\\n.datetimepicker table tr td.active:active,\\n.datetimepicker table tr td.active:hover:active,\\n.datetimepicker table tr td.active.disabled:active,\\n.datetimepicker table tr td.active.disabled:hover:active,\\n.datetimepicker table tr td.active.active,\\n.datetimepicker table tr td.active:hover.active,\\n.datetimepicker table tr td.active.disabled.active,\\n.datetimepicker table tr td.active.disabled:hover.active,\\n.datetimepicker table tr td.active.disabled,\\n.datetimepicker table tr td.active:hover.disabled,\\n.datetimepicker table tr td.active.disabled.disabled,\\n.datetimepicker table tr td.active.disabled:hover.disabled,\\n.datetimepicker table tr td.active[disabled],\\n.datetimepicker table tr td.active:hover[disabled],\\n.datetimepicker table tr td.active.disabled[disabled],\\n.datetimepicker table tr td.active.disabled:hover[disabled] {\\n\\tbackground-color: #0044cc;\\n}\\n\\n.datetimepicker table tr td.active:active,\\n.datetimepicker table tr td.active:hover:active,\\n.datetimepicker table tr td.active.disabled:active,\\n.datetimepicker table tr td.active.disabled:hover:active,\\n.datetimepicker table tr td.active.active,\\n.datetimepicker table tr td.active:hover.active,\\n.datetimepicker table tr td.active.disabled.active,\\n.datetimepicker table tr td.active.disabled:hover.active {\\n\\tbackground-color: #003399;\\n}\\n\\n.datetimepicker table tr td span {\\n\\tdisplay: block;\\n\\twidth: 23%;\\n\\theight: 54px;\\n\\tline-height: 54px;\\n\\tfloat: left;\\n\\tmargin: 1%;\\n\\tcursor: pointer;\\n\\t-webkit-border-radius: 4px;\\n\\t-moz-border-radius: 4px;\\n\\tborder-radius: 4px;\\n}\\n\\n.datetimepicker .datetimepicker-hours span {\\n\\theight: 26px;\\n\\tline-height: 26px;\\n}\\n\\n.datetimepicker .datetimepicker-hours table tr td span.hour_am,\\n.datetimepicker .datetimepicker-hours table tr td span.hour_pm {\\n\\twidth: 14.6%;\\n}\\n\\n.datetimepicker .datetimepicker-hours fieldset legend,\\n.datetimepicker .datetimepicker-minutes fieldset legend {\\n\\tmargin-bottom: inherit;\\n\\tline-height: 30px;\\n}\\n\\n.datetimepicker .datetimepicker-minutes span {\\n\\theight: 26px;\\n\\tline-height: 26px;\\n}\\n\\n.datetimepicker table tr td span:hover {\\n\\tbackground: #eeeeee;\\n}\\n\\n.datetimepicker table tr td span.disabled,\\n.datetimepicker table tr td span.disabled:hover {\\n\\tbackground: none;\\n\\tcolor: #999999;\\n\\tcursor: default;\\n}\\n\\n.datetimepicker table tr td span.active,\\n.datetimepicker table tr td span.active:hover,\\n.datetimepicker table tr td span.active.disabled,\\n.datetimepicker table tr td span.active.disabled:hover {\\n\\tbackground-color: #006dcc;\\n\\tbackground-image: -moz-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -ms-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\\n\\tbackground-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: -o-linear-gradient(top, #0088cc, #0044cc);\\n\\tbackground-image: linear-gradient(to bottom, #0088cc, #0044cc);\\n\\tbackground-repeat: repeat-x;\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\\n\\tborder-color: #0044cc #0044cc #002a80;\\n\\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\\n\\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\\n\\tcolor: #ffffff;\\n\\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\\n}\\n\\n.datetimepicker table tr td span.active:hover,\\n.datetimepicker table tr td span.active:hover:hover,\\n.datetimepicker table tr td span.active.disabled:hover,\\n.datetimepicker table tr td span.active.disabled:hover:hover,\\n.datetimepicker table tr td span.active:active,\\n.datetimepicker table tr td span.active:hover:active,\\n.datetimepicker table tr td span.active.disabled:active,\\n.datetimepicker table tr td span.active.disabled:hover:active,\\n.datetimepicker table tr td span.active.active,\\n.datetimepicker table tr td span.active:hover.active,\\n.datetimepicker table tr td span.active.disabled.active,\\n.datetimepicker table tr td span.active.disabled:hover.active,\\n.datetimepicker table tr td span.active.disabled,\\n.datetimepicker table tr td span.active:hover.disabled,\\n.datetimepicker table tr td span.active.disabled.disabled,\\n.datetimepicker table tr td span.active.disabled:hover.disabled,\\n.datetimepicker table tr td span.active[disabled],\\n.datetimepicker table tr td span.active:hover[disabled],\\n.datetimepicker table tr td span.active.disabled[disabled],\\n.datetimepicker table tr td span.active.disabled:hover[disabled] {\\n\\tbackground-color: #0044cc;\\n}\\n\\n.datetimepicker table tr td span.active:active,\\n.datetimepicker table tr td span.active:hover:active,\\n.datetimepicker table tr td span.active.disabled:active,\\n.datetimepicker table tr td span.active.disabled:hover:active,\\n.datetimepicker table tr td span.active.active,\\n.datetimepicker table tr td span.active:hover.active,\\n.datetimepicker table tr td span.active.disabled.active,\\n.datetimepicker table tr td span.active.disabled:hover.active {\\n\\tbackground-color: #003399;\\n}\\n\\n.datetimepicker table tr td span.old {\\n\\tcolor: #999999;\\n}\\n\\n.datetimepicker th.switch {\\n\\twidth: 145px;\\n}\\n\\n.datetimepicker th span.glyphicon {\\n\\tpointer-events: none;\\n}\\n\\n.datetimepicker thead tr:first-child th,\\n.datetimepicker tfoot th {\\n\\tcursor: pointer;\\n}\\n\\n.datetimepicker thead tr:first-child th:hover,\\n.datetimepicker tfoot th:hover {\\n\\tbackground: #eeeeee;\\n}\\n\\n.input-append.date .add-on i,\\n.input-prepend.date .add-on i,\\n.input-group.date .input-group-addon span {\\n\\tcursor: pointer;\\n\\twidth: 14px;\\n\\theight: 14px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/external/bootstrap-datetimepicker.css?./node_modules/css-loader"); /***/ }), @@ -137,7 +137,7 @@ eval("exports = module.exports = __webpack_require__(/*! ../../../node_modules/c /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var escape = __webpack_require__(/*! ../../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*! jQuery UI - v1.12.1 - 2017-10-13\\r\\n* http://jqueryui.com\\r\\n* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, theme.css\\r\\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif\\r\\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\\r\\n\\r\\n.ui-draggable-handle {\\r\\n\\t-ms-touch-action: none;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n/* Layout helpers\\r\\n----------------------------------*/\\r\\n.ui-helper-hidden {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n.ui-helper-hidden-accessible {\\r\\n\\tborder: 0;\\r\\n\\tclip: rect(0 0 0 0);\\r\\n\\theight: 1px;\\r\\n\\tmargin: -1px;\\r\\n\\toverflow: hidden;\\r\\n\\tpadding: 0;\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1px;\\r\\n}\\r\\n.ui-helper-reset {\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 0;\\r\\n\\tborder: 0;\\r\\n\\toutline: 0;\\r\\n\\tline-height: 1.3;\\r\\n\\ttext-decoration: none;\\r\\n\\tfont-size: 100%;\\r\\n\\tlist-style: none;\\r\\n}\\r\\n.ui-helper-clearfix:before,\\r\\n.ui-helper-clearfix:after {\\r\\n\\tcontent: \\\"\\\";\\r\\n\\tdisplay: table;\\r\\n\\tborder-collapse: collapse;\\r\\n}\\r\\n.ui-helper-clearfix:after {\\r\\n\\tclear: both;\\r\\n}\\r\\n.ui-helper-zfix {\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\tposition: absolute;\\r\\n\\topacity: 0;\\r\\n\\tfilter:Alpha(Opacity=0); /* support: IE8 */\\r\\n}\\r\\n\\r\\n.ui-front {\\r\\n\\tz-index: 100;\\r\\n}\\r\\n\\r\\n\\r\\n/* Interaction Cues\\r\\n----------------------------------*/\\r\\n.ui-state-disabled {\\r\\n\\tcursor: default !important;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n\\r\\n/* Icons\\r\\n----------------------------------*/\\r\\n.ui-icon {\\r\\n\\tdisplay: inline-block;\\r\\n\\tvertical-align: middle;\\r\\n\\tmargin-top: -.25em;\\r\\n\\tposition: relative;\\r\\n\\ttext-indent: -99999px;\\r\\n\\toverflow: hidden;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ui-widget-icon-block {\\r\\n\\tleft: 50%;\\r\\n\\tmargin-left: -8px;\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n/* Misc visuals\\r\\n----------------------------------*/\\r\\n\\r\\n/* Overlays */\\r\\n.ui-widget-overlay {\\r\\n\\tposition: fixed;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n.ui-resizable {\\r\\n\\tposition: relative;\\r\\n}\\r\\n.ui-resizable-handle {\\r\\n\\tposition: absolute;\\r\\n\\tfont-size: 0.1px;\\r\\n\\tdisplay: block;\\r\\n\\t-ms-touch-action: none;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n.ui-resizable-disabled .ui-resizable-handle,\\r\\n.ui-resizable-autohide .ui-resizable-handle {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n.ui-resizable-n {\\r\\n\\tcursor: n-resize;\\r\\n\\theight: 7px;\\r\\n\\twidth: 100%;\\r\\n\\ttop: -5px;\\r\\n\\tleft: 0;\\r\\n}\\r\\n.ui-resizable-s {\\r\\n\\tcursor: s-resize;\\r\\n\\theight: 7px;\\r\\n\\twidth: 100%;\\r\\n\\tbottom: -5px;\\r\\n\\tleft: 0;\\r\\n}\\r\\n.ui-resizable-e {\\r\\n\\tcursor: e-resize;\\r\\n\\twidth: 7px;\\r\\n\\tright: -5px;\\r\\n\\ttop: 0;\\r\\n\\theight: 100%;\\r\\n}\\r\\n.ui-resizable-w {\\r\\n\\tcursor: w-resize;\\r\\n\\twidth: 7px;\\r\\n\\tleft: -5px;\\r\\n\\ttop: 0;\\r\\n\\theight: 100%;\\r\\n}\\r\\n.ui-resizable-se {\\r\\n\\tcursor: se-resize;\\r\\n\\twidth: 12px;\\r\\n\\theight: 12px;\\r\\n\\tright: 1px;\\r\\n\\tbottom: 1px;\\r\\n}\\r\\n.ui-resizable-sw {\\r\\n\\tcursor: sw-resize;\\r\\n\\twidth: 9px;\\r\\n\\theight: 9px;\\r\\n\\tleft: -5px;\\r\\n\\tbottom: -5px;\\r\\n}\\r\\n.ui-resizable-nw {\\r\\n\\tcursor: nw-resize;\\r\\n\\twidth: 9px;\\r\\n\\theight: 9px;\\r\\n\\tleft: -5px;\\r\\n\\ttop: -5px;\\r\\n}\\r\\n.ui-resizable-ne {\\r\\n\\tcursor: ne-resize;\\r\\n\\twidth: 9px;\\r\\n\\theight: 9px;\\r\\n\\tright: -5px;\\r\\n\\ttop: -5px;\\r\\n}\\r\\n.ui-selectable {\\r\\n\\t-ms-touch-action: none;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n.ui-selectable-helper {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 100;\\r\\n\\tborder: 1px dotted black;\\r\\n}\\r\\n.ui-sortable-handle {\\r\\n\\t-ms-touch-action: none;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n\\r\\n/* Component containers\\r\\n----------------------------------*/\\r\\n.ui-widget {\\r\\n\\tfont-family: Arial,Helvetica,sans-serif;\\r\\n\\tfont-size: 1em;\\r\\n}\\r\\n.ui-widget .ui-widget {\\r\\n\\tfont-size: 1em;\\r\\n}\\r\\n.ui-widget input,\\r\\n.ui-widget select,\\r\\n.ui-widget textarea,\\r\\n.ui-widget button {\\r\\n\\tfont-family: Arial,Helvetica,sans-serif;\\r\\n\\tfont-size: 1em;\\r\\n}\\r\\n.ui-widget.ui-widget-content {\\r\\n\\tborder: 1px solid #c5c5c5;\\r\\n}\\r\\n.ui-widget-content {\\r\\n\\tborder: 1px solid #dddddd;\\r\\n\\tbackground: #ffffff;\\r\\n\\tcolor: #333333;\\r\\n}\\r\\n.ui-widget-content a {\\r\\n\\tcolor: #333333;\\r\\n}\\r\\n.ui-widget-header {\\r\\n\\tborder: 1px solid #dddddd;\\r\\n\\tbackground: #e9e9e9;\\r\\n\\tcolor: #333333;\\r\\n\\tfont-weight: bold;\\r\\n}\\r\\n.ui-widget-header a {\\r\\n\\tcolor: #333333;\\r\\n}\\r\\n\\r\\n/* Interaction states\\r\\n----------------------------------*/\\r\\n.ui-state-default,\\r\\n.ui-widget-content .ui-state-default,\\r\\n.ui-widget-header .ui-state-default,\\r\\n.ui-button,\\r\\n\\r\\n/* We use html here because we need a greater specificity to make sure disabled\\r\\nworks properly when clicked or hovered */\\r\\nhtml .ui-button.ui-state-disabled:hover,\\r\\nhtml .ui-button.ui-state-disabled:active {\\r\\n\\tborder: 1px solid #c5c5c5;\\r\\n\\tbackground: #f6f6f6;\\r\\n\\tfont-weight: normal;\\r\\n\\tcolor: #454545;\\r\\n}\\r\\n.ui-state-default a,\\r\\n.ui-state-default a:link,\\r\\n.ui-state-default a:visited,\\r\\na.ui-button,\\r\\na:link.ui-button,\\r\\na:visited.ui-button,\\r\\n.ui-button {\\r\\n\\tcolor: #454545;\\r\\n\\ttext-decoration: none;\\r\\n}\\r\\n.ui-state-hover,\\r\\n.ui-widget-content .ui-state-hover,\\r\\n.ui-widget-header .ui-state-hover,\\r\\n.ui-state-focus,\\r\\n.ui-widget-content .ui-state-focus,\\r\\n.ui-widget-header .ui-state-focus,\\r\\n.ui-button:hover,\\r\\n.ui-button:focus {\\r\\n\\tborder: 1px solid #cccccc;\\r\\n\\tbackground: #ededed;\\r\\n\\tfont-weight: normal;\\r\\n\\tcolor: #2b2b2b;\\r\\n}\\r\\n.ui-state-hover a,\\r\\n.ui-state-hover a:hover,\\r\\n.ui-state-hover a:link,\\r\\n.ui-state-hover a:visited,\\r\\n.ui-state-focus a,\\r\\n.ui-state-focus a:hover,\\r\\n.ui-state-focus a:link,\\r\\n.ui-state-focus a:visited,\\r\\na.ui-button:hover,\\r\\na.ui-button:focus {\\r\\n\\tcolor: #2b2b2b;\\r\\n\\ttext-decoration: none;\\r\\n}\\r\\n\\r\\n.ui-visual-focus {\\r\\n\\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\\r\\n}\\r\\n.ui-state-active,\\r\\n.ui-widget-content .ui-state-active,\\r\\n.ui-widget-header .ui-state-active,\\r\\na.ui-button:active,\\r\\n.ui-button:active,\\r\\n.ui-button.ui-state-active:hover {\\r\\n\\tborder: 1px solid #003eff;\\r\\n\\tbackground: #007fff;\\r\\n\\tfont-weight: normal;\\r\\n\\tcolor: #ffffff;\\r\\n}\\r\\n.ui-icon-background,\\r\\n.ui-state-active .ui-icon-background {\\r\\n\\tborder: #003eff;\\r\\n\\tbackground-color: #ffffff;\\r\\n}\\r\\n.ui-state-active a,\\r\\n.ui-state-active a:link,\\r\\n.ui-state-active a:visited {\\r\\n\\tcolor: #ffffff;\\r\\n\\ttext-decoration: none;\\r\\n}\\r\\n\\r\\n/* Interaction Cues\\r\\n----------------------------------*/\\r\\n.ui-state-highlight,\\r\\n.ui-widget-content .ui-state-highlight,\\r\\n.ui-widget-header .ui-state-highlight {\\r\\n\\tborder: 1px solid #dad55e;\\r\\n\\tbackground: #fffa90;\\r\\n\\tcolor: #777620;\\r\\n}\\r\\n.ui-state-checked {\\r\\n\\tborder: 1px solid #dad55e;\\r\\n\\tbackground: #fffa90;\\r\\n}\\r\\n.ui-state-highlight a,\\r\\n.ui-widget-content .ui-state-highlight a,\\r\\n.ui-widget-header .ui-state-highlight a {\\r\\n\\tcolor: #777620;\\r\\n}\\r\\n.ui-state-error,\\r\\n.ui-widget-content .ui-state-error,\\r\\n.ui-widget-header .ui-state-error {\\r\\n\\tborder: 1px solid #f1a899;\\r\\n\\tbackground: #fddfdf;\\r\\n\\tcolor: #5f3f3f;\\r\\n}\\r\\n.ui-state-error a,\\r\\n.ui-widget-content .ui-state-error a,\\r\\n.ui-widget-header .ui-state-error a {\\r\\n\\tcolor: #5f3f3f;\\r\\n}\\r\\n.ui-state-error-text,\\r\\n.ui-widget-content .ui-state-error-text,\\r\\n.ui-widget-header .ui-state-error-text {\\r\\n\\tcolor: #5f3f3f;\\r\\n}\\r\\n.ui-priority-primary,\\r\\n.ui-widget-content .ui-priority-primary,\\r\\n.ui-widget-header .ui-priority-primary {\\r\\n\\tfont-weight: bold;\\r\\n}\\r\\n.ui-priority-secondary,\\r\\n.ui-widget-content .ui-priority-secondary,\\r\\n.ui-widget-header .ui-priority-secondary {\\r\\n\\topacity: .7;\\r\\n\\tfilter:Alpha(Opacity=70); /* support: IE8 */\\r\\n\\tfont-weight: normal;\\r\\n}\\r\\n.ui-state-disabled,\\r\\n.ui-widget-content .ui-state-disabled,\\r\\n.ui-widget-header .ui-state-disabled {\\r\\n\\topacity: .35;\\r\\n\\tfilter:Alpha(Opacity=35); /* support: IE8 */\\r\\n\\tbackground-image: none;\\r\\n}\\r\\n.ui-state-disabled .ui-icon {\\r\\n\\tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\\r\\n}\\r\\n\\r\\n/* Icons\\r\\n----------------------------------*/\\r\\n\\r\\n/* states and images */\\r\\n.ui-icon {\\r\\n\\twidth: 16px;\\r\\n\\theight: 16px;\\r\\n}\\r\\n.ui-icon,\\r\\n.ui-widget-content .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_444444_256x240.png */ \"./src/form/external/images/ui-icons_444444_256x240.png\")) + \");\\r\\n}\\r\\n.ui-widget-header .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_444444_256x240.png */ \"./src/form/external/images/ui-icons_444444_256x240.png\")) + \");\\r\\n}\\r\\n.ui-state-hover .ui-icon,\\r\\n.ui-state-focus .ui-icon,\\r\\n.ui-button:hover .ui-icon,\\r\\n.ui-button:focus .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_555555_256x240.png */ \"./src/form/external/images/ui-icons_555555_256x240.png\")) + \");\\r\\n}\\r\\n.ui-state-active .ui-icon,\\r\\n.ui-button:active .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_ffffff_256x240.png */ \"./src/form/external/images/ui-icons_ffffff_256x240.png\")) + \");\\r\\n}\\r\\n.ui-state-highlight .ui-icon,\\r\\n.ui-button .ui-state-highlight.ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_777620_256x240.png */ \"./src/form/external/images/ui-icons_777620_256x240.png\")) + \");\\r\\n}\\r\\n.ui-state-error .ui-icon,\\r\\n.ui-state-error-text .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_cc0000_256x240.png */ \"./src/form/external/images/ui-icons_cc0000_256x240.png\")) + \");\\r\\n}\\r\\n.ui-button .ui-icon {\\r\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_777777_256x240.png */ \"./src/form/external/images/ui-icons_777777_256x240.png\")) + \");\\r\\n}\\r\\n\\r\\n/* positioning */\\r\\n.ui-icon-blank { background-position: 16px 16px; }\\r\\n.ui-icon-caret-1-n { background-position: 0 0; }\\r\\n.ui-icon-caret-1-ne { background-position: -16px 0; }\\r\\n.ui-icon-caret-1-e { background-position: -32px 0; }\\r\\n.ui-icon-caret-1-se { background-position: -48px 0; }\\r\\n.ui-icon-caret-1-s { background-position: -65px 0; }\\r\\n.ui-icon-caret-1-sw { background-position: -80px 0; }\\r\\n.ui-icon-caret-1-w { background-position: -96px 0; }\\r\\n.ui-icon-caret-1-nw { background-position: -112px 0; }\\r\\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\\r\\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\\r\\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\\r\\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\\r\\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\\r\\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\\r\\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\\r\\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\\r\\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\\r\\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\\r\\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\\r\\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\\r\\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\\r\\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\\r\\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\\r\\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\\r\\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\\r\\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\\r\\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\\r\\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\\r\\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\\r\\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\\r\\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\\r\\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\\r\\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\\r\\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\\r\\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\\r\\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\\r\\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\\r\\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\\r\\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\\r\\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\\r\\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\\r\\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\\r\\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\\r\\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\\r\\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\\r\\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\\r\\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\\r\\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\\r\\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\\r\\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\\r\\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\\r\\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\\r\\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\\r\\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\\r\\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\\r\\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\\r\\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\\r\\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\\r\\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\\r\\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\\r\\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\\r\\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\\r\\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\\r\\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\\r\\n.ui-icon-arrow-4 { background-position: 0 -80px; }\\r\\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\\r\\n.ui-icon-extlink { background-position: -32px -80px; }\\r\\n.ui-icon-newwin { background-position: -48px -80px; }\\r\\n.ui-icon-refresh { background-position: -64px -80px; }\\r\\n.ui-icon-shuffle { background-position: -80px -80px; }\\r\\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\\r\\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\\r\\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\\r\\n.ui-icon-folder-open { background-position: -16px -96px; }\\r\\n.ui-icon-document { background-position: -32px -96px; }\\r\\n.ui-icon-document-b { background-position: -48px -96px; }\\r\\n.ui-icon-note { background-position: -64px -96px; }\\r\\n.ui-icon-mail-closed { background-position: -80px -96px; }\\r\\n.ui-icon-mail-open { background-position: -96px -96px; }\\r\\n.ui-icon-suitcase { background-position: -112px -96px; }\\r\\n.ui-icon-comment { background-position: -128px -96px; }\\r\\n.ui-icon-person { background-position: -144px -96px; }\\r\\n.ui-icon-print { background-position: -160px -96px; }\\r\\n.ui-icon-trash { background-position: -176px -96px; }\\r\\n.ui-icon-locked { background-position: -192px -96px; }\\r\\n.ui-icon-unlocked { background-position: -208px -96px; }\\r\\n.ui-icon-bookmark { background-position: -224px -96px; }\\r\\n.ui-icon-tag { background-position: -240px -96px; }\\r\\n.ui-icon-home { background-position: 0 -112px; }\\r\\n.ui-icon-flag { background-position: -16px -112px; }\\r\\n.ui-icon-calendar { background-position: -32px -112px; }\\r\\n.ui-icon-cart { background-position: -48px -112px; }\\r\\n.ui-icon-pencil { background-position: -64px -112px; }\\r\\n.ui-icon-clock { background-position: -80px -112px; }\\r\\n.ui-icon-disk { background-position: -96px -112px; }\\r\\n.ui-icon-calculator { background-position: -112px -112px; }\\r\\n.ui-icon-zoomin { background-position: -128px -112px; }\\r\\n.ui-icon-zoomout { background-position: -144px -112px; }\\r\\n.ui-icon-search { background-position: -160px -112px; }\\r\\n.ui-icon-wrench { background-position: -176px -112px; }\\r\\n.ui-icon-gear { background-position: -192px -112px; }\\r\\n.ui-icon-heart { background-position: -208px -112px; }\\r\\n.ui-icon-star { background-position: -224px -112px; }\\r\\n.ui-icon-link { background-position: -240px -112px; }\\r\\n.ui-icon-cancel { background-position: 0 -128px; }\\r\\n.ui-icon-plus { background-position: -16px -128px; }\\r\\n.ui-icon-plusthick { background-position: -32px -128px; }\\r\\n.ui-icon-minus { background-position: -48px -128px; }\\r\\n.ui-icon-minusthick { background-position: -64px -128px; }\\r\\n.ui-icon-close { background-position: -80px -128px; }\\r\\n.ui-icon-closethick { background-position: -96px -128px; }\\r\\n.ui-icon-key { background-position: -112px -128px; }\\r\\n.ui-icon-lightbulb { background-position: -128px -128px; }\\r\\n.ui-icon-scissors { background-position: -144px -128px; }\\r\\n.ui-icon-clipboard { background-position: -160px -128px; }\\r\\n.ui-icon-copy { background-position: -176px -128px; }\\r\\n.ui-icon-contact { background-position: -192px -128px; }\\r\\n.ui-icon-image { background-position: -208px -128px; }\\r\\n.ui-icon-video { background-position: -224px -128px; }\\r\\n.ui-icon-script { background-position: -240px -128px; }\\r\\n.ui-icon-alert { background-position: 0 -144px; }\\r\\n.ui-icon-info { background-position: -16px -144px; }\\r\\n.ui-icon-notice { background-position: -32px -144px; }\\r\\n.ui-icon-help { background-position: -48px -144px; }\\r\\n.ui-icon-check { background-position: -64px -144px; }\\r\\n.ui-icon-bullet { background-position: -80px -144px; }\\r\\n.ui-icon-radio-on { background-position: -96px -144px; }\\r\\n.ui-icon-radio-off { background-position: -112px -144px; }\\r\\n.ui-icon-pin-w { background-position: -128px -144px; }\\r\\n.ui-icon-pin-s { background-position: -144px -144px; }\\r\\n.ui-icon-play { background-position: 0 -160px; }\\r\\n.ui-icon-pause { background-position: -16px -160px; }\\r\\n.ui-icon-seek-next { background-position: -32px -160px; }\\r\\n.ui-icon-seek-prev { background-position: -48px -160px; }\\r\\n.ui-icon-seek-end { background-position: -64px -160px; }\\r\\n.ui-icon-seek-start { background-position: -80px -160px; }\\r\\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\\r\\n.ui-icon-seek-first { background-position: -80px -160px; }\\r\\n.ui-icon-stop { background-position: -96px -160px; }\\r\\n.ui-icon-eject { background-position: -112px -160px; }\\r\\n.ui-icon-volume-off { background-position: -128px -160px; }\\r\\n.ui-icon-volume-on { background-position: -144px -160px; }\\r\\n.ui-icon-power { background-position: 0 -176px; }\\r\\n.ui-icon-signal-diag { background-position: -16px -176px; }\\r\\n.ui-icon-signal { background-position: -32px -176px; }\\r\\n.ui-icon-battery-0 { background-position: -48px -176px; }\\r\\n.ui-icon-battery-1 { background-position: -64px -176px; }\\r\\n.ui-icon-battery-2 { background-position: -80px -176px; }\\r\\n.ui-icon-battery-3 { background-position: -96px -176px; }\\r\\n.ui-icon-circle-plus { background-position: 0 -192px; }\\r\\n.ui-icon-circle-minus { background-position: -16px -192px; }\\r\\n.ui-icon-circle-close { background-position: -32px -192px; }\\r\\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\\r\\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\\r\\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\\r\\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\\r\\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\\r\\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\\r\\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\\r\\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\\r\\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\\r\\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\\r\\n.ui-icon-circle-check { background-position: -208px -192px; }\\r\\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\\r\\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\\r\\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\\r\\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\\r\\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\\r\\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\\r\\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\\r\\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\\r\\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\\r\\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\\r\\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\\r\\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\\r\\n\\r\\n\\r\\n/* Misc visuals\\r\\n----------------------------------*/\\r\\n\\r\\n/* Corner radius */\\r\\n.ui-corner-all,\\r\\n.ui-corner-top,\\r\\n.ui-corner-left,\\r\\n.ui-corner-tl {\\r\\n\\tborder-top-left-radius: 3px;\\r\\n}\\r\\n.ui-corner-all,\\r\\n.ui-corner-top,\\r\\n.ui-corner-right,\\r\\n.ui-corner-tr {\\r\\n\\tborder-top-right-radius: 3px;\\r\\n}\\r\\n.ui-corner-all,\\r\\n.ui-corner-bottom,\\r\\n.ui-corner-left,\\r\\n.ui-corner-bl {\\r\\n\\tborder-bottom-left-radius: 3px;\\r\\n}\\r\\n.ui-corner-all,\\r\\n.ui-corner-bottom,\\r\\n.ui-corner-right,\\r\\n.ui-corner-br {\\r\\n\\tborder-bottom-right-radius: 3px;\\r\\n}\\r\\n\\r\\n/* Overlays */\\r\\n.ui-widget-overlay {\\r\\n\\tbackground: #aaaaaa;\\r\\n\\topacity: .3;\\r\\n\\tfilter: Alpha(Opacity=30); /* support: IE8 */\\r\\n}\\r\\n.ui-widget-shadow {\\r\\n\\t-webkit-box-shadow: 0px 0px 5px #666666;\\r\\n\\tbox-shadow: 0px 0px 5px #666666;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/external/jquery-ui.css?./node_modules/css-loader"); +eval("var escape = __webpack_require__(/*! ../../../node_modules/css-loader/lib/url/escape.js */ \"./node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*! jQuery UI - v1.12.1 - 2017-10-13\\n* http://jqueryui.com\\n* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, theme.css\\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif\\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\\n\\n.ui-draggable-handle {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n/* Layout helpers\\n----------------------------------*/\\n.ui-helper-hidden {\\n\\tdisplay: none;\\n}\\n.ui-helper-hidden-accessible {\\n\\tborder: 0;\\n\\tclip: rect(0 0 0 0);\\n\\theight: 1px;\\n\\tmargin: -1px;\\n\\toverflow: hidden;\\n\\tpadding: 0;\\n\\tposition: absolute;\\n\\twidth: 1px;\\n}\\n.ui-helper-reset {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\toutline: 0;\\n\\tline-height: 1.3;\\n\\ttext-decoration: none;\\n\\tfont-size: 100%;\\n\\tlist-style: none;\\n}\\n.ui-helper-clearfix:before,\\n.ui-helper-clearfix:after {\\n\\tcontent: \\\"\\\";\\n\\tdisplay: table;\\n\\tborder-collapse: collapse;\\n}\\n.ui-helper-clearfix:after {\\n\\tclear: both;\\n}\\n.ui-helper-zfix {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tposition: absolute;\\n\\topacity: 0;\\n\\tfilter:Alpha(Opacity=0); /* support: IE8 */\\n}\\n\\n.ui-front {\\n\\tz-index: 100;\\n}\\n\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-disabled {\\n\\tcursor: default !important;\\n\\tpointer-events: none;\\n}\\n\\n\\n/* Icons\\n----------------------------------*/\\n.ui-icon {\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n\\tmargin-top: -.25em;\\n\\tposition: relative;\\n\\ttext-indent: -99999px;\\n\\toverflow: hidden;\\n\\tbackground-repeat: no-repeat;\\n}\\n\\n.ui-widget-icon-block {\\n\\tleft: 50%;\\n\\tmargin-left: -8px;\\n\\tdisplay: block;\\n}\\n\\n/* Misc visuals\\n----------------------------------*/\\n\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n.ui-resizable {\\n\\tposition: relative;\\n}\\n.ui-resizable-handle {\\n\\tposition: absolute;\\n\\tfont-size: 0.1px;\\n\\tdisplay: block;\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-resizable-disabled .ui-resizable-handle,\\n.ui-resizable-autohide .ui-resizable-handle {\\n\\tdisplay: none;\\n}\\n.ui-resizable-n {\\n\\tcursor: n-resize;\\n\\theight: 7px;\\n\\twidth: 100%;\\n\\ttop: -5px;\\n\\tleft: 0;\\n}\\n.ui-resizable-s {\\n\\tcursor: s-resize;\\n\\theight: 7px;\\n\\twidth: 100%;\\n\\tbottom: -5px;\\n\\tleft: 0;\\n}\\n.ui-resizable-e {\\n\\tcursor: e-resize;\\n\\twidth: 7px;\\n\\tright: -5px;\\n\\ttop: 0;\\n\\theight: 100%;\\n}\\n.ui-resizable-w {\\n\\tcursor: w-resize;\\n\\twidth: 7px;\\n\\tleft: -5px;\\n\\ttop: 0;\\n\\theight: 100%;\\n}\\n.ui-resizable-se {\\n\\tcursor: se-resize;\\n\\twidth: 12px;\\n\\theight: 12px;\\n\\tright: 1px;\\n\\tbottom: 1px;\\n}\\n.ui-resizable-sw {\\n\\tcursor: sw-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tleft: -5px;\\n\\tbottom: -5px;\\n}\\n.ui-resizable-nw {\\n\\tcursor: nw-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tleft: -5px;\\n\\ttop: -5px;\\n}\\n.ui-resizable-ne {\\n\\tcursor: ne-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tright: -5px;\\n\\ttop: -5px;\\n}\\n.ui-selectable {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-selectable-helper {\\n\\tposition: absolute;\\n\\tz-index: 100;\\n\\tborder: 1px dotted black;\\n}\\n.ui-sortable-handle {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n\\n/* Component containers\\n----------------------------------*/\\n.ui-widget {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget .ui-widget {\\n\\tfont-size: 1em;\\n}\\n.ui-widget input,\\n.ui-widget select,\\n.ui-widget textarea,\\n.ui-widget button {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget.ui-widget-content {\\n\\tborder: 1px solid #c5c5c5;\\n}\\n.ui-widget-content {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #ffffff;\\n\\tcolor: #333333;\\n}\\n.ui-widget-content a {\\n\\tcolor: #333333;\\n}\\n.ui-widget-header {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #e9e9e9;\\n\\tcolor: #333333;\\n\\tfont-weight: bold;\\n}\\n.ui-widget-header a {\\n\\tcolor: #333333;\\n}\\n\\n/* Interaction states\\n----------------------------------*/\\n.ui-state-default,\\n.ui-widget-content .ui-state-default,\\n.ui-widget-header .ui-state-default,\\n.ui-button,\\n\\n/* We use html here because we need a greater specificity to make sure disabled\\nworks properly when clicked or hovered */\\nhtml .ui-button.ui-state-disabled:hover,\\nhtml .ui-button.ui-state-disabled:active {\\n\\tborder: 1px solid #c5c5c5;\\n\\tbackground: #f6f6f6;\\n\\tfont-weight: normal;\\n\\tcolor: #454545;\\n}\\n.ui-state-default a,\\n.ui-state-default a:link,\\n.ui-state-default a:visited,\\na.ui-button,\\na:link.ui-button,\\na:visited.ui-button,\\n.ui-button {\\n\\tcolor: #454545;\\n\\ttext-decoration: none;\\n}\\n.ui-state-hover,\\n.ui-widget-content .ui-state-hover,\\n.ui-widget-header .ui-state-hover,\\n.ui-state-focus,\\n.ui-widget-content .ui-state-focus,\\n.ui-widget-header .ui-state-focus,\\n.ui-button:hover,\\n.ui-button:focus {\\n\\tborder: 1px solid #cccccc;\\n\\tbackground: #ededed;\\n\\tfont-weight: normal;\\n\\tcolor: #2b2b2b;\\n}\\n.ui-state-hover a,\\n.ui-state-hover a:hover,\\n.ui-state-hover a:link,\\n.ui-state-hover a:visited,\\n.ui-state-focus a,\\n.ui-state-focus a:hover,\\n.ui-state-focus a:link,\\n.ui-state-focus a:visited,\\na.ui-button:hover,\\na.ui-button:focus {\\n\\tcolor: #2b2b2b;\\n\\ttext-decoration: none;\\n}\\n\\n.ui-visual-focus {\\n\\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\\n}\\n.ui-state-active,\\n.ui-widget-content .ui-state-active,\\n.ui-widget-header .ui-state-active,\\na.ui-button:active,\\n.ui-button:active,\\n.ui-button.ui-state-active:hover {\\n\\tborder: 1px solid #003eff;\\n\\tbackground: #007fff;\\n\\tfont-weight: normal;\\n\\tcolor: #ffffff;\\n}\\n.ui-icon-background,\\n.ui-state-active .ui-icon-background {\\n\\tborder: #003eff;\\n\\tbackground-color: #ffffff;\\n}\\n.ui-state-active a,\\n.ui-state-active a:link,\\n.ui-state-active a:visited {\\n\\tcolor: #ffffff;\\n\\ttext-decoration: none;\\n}\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-highlight,\\n.ui-widget-content .ui-state-highlight,\\n.ui-widget-header .ui-state-highlight {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n\\tcolor: #777620;\\n}\\n.ui-state-checked {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n}\\n.ui-state-highlight a,\\n.ui-widget-content .ui-state-highlight a,\\n.ui-widget-header .ui-state-highlight a {\\n\\tcolor: #777620;\\n}\\n.ui-state-error,\\n.ui-widget-content .ui-state-error,\\n.ui-widget-header .ui-state-error {\\n\\tborder: 1px solid #f1a899;\\n\\tbackground: #fddfdf;\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error a,\\n.ui-widget-content .ui-state-error a,\\n.ui-widget-header .ui-state-error a {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error-text,\\n.ui-widget-content .ui-state-error-text,\\n.ui-widget-header .ui-state-error-text {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-priority-primary,\\n.ui-widget-content .ui-priority-primary,\\n.ui-widget-header .ui-priority-primary {\\n\\tfont-weight: bold;\\n}\\n.ui-priority-secondary,\\n.ui-widget-content .ui-priority-secondary,\\n.ui-widget-header .ui-priority-secondary {\\n\\topacity: .7;\\n\\tfilter:Alpha(Opacity=70); /* support: IE8 */\\n\\tfont-weight: normal;\\n}\\n.ui-state-disabled,\\n.ui-widget-content .ui-state-disabled,\\n.ui-widget-header .ui-state-disabled {\\n\\topacity: .35;\\n\\tfilter:Alpha(Opacity=35); /* support: IE8 */\\n\\tbackground-image: none;\\n}\\n.ui-state-disabled .ui-icon {\\n\\tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\\n}\\n\\n/* Icons\\n----------------------------------*/\\n\\n/* states and images */\\n.ui-icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n}\\n.ui-icon,\\n.ui-widget-content .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_444444_256x240.png */ \"./src/form/external/images/ui-icons_444444_256x240.png\")) + \");\\n}\\n.ui-widget-header .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_444444_256x240.png */ \"./src/form/external/images/ui-icons_444444_256x240.png\")) + \");\\n}\\n.ui-state-hover .ui-icon,\\n.ui-state-focus .ui-icon,\\n.ui-button:hover .ui-icon,\\n.ui-button:focus .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_555555_256x240.png */ \"./src/form/external/images/ui-icons_555555_256x240.png\")) + \");\\n}\\n.ui-state-active .ui-icon,\\n.ui-button:active .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_ffffff_256x240.png */ \"./src/form/external/images/ui-icons_ffffff_256x240.png\")) + \");\\n}\\n.ui-state-highlight .ui-icon,\\n.ui-button .ui-state-highlight.ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_777620_256x240.png */ \"./src/form/external/images/ui-icons_777620_256x240.png\")) + \");\\n}\\n.ui-state-error .ui-icon,\\n.ui-state-error-text .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_cc0000_256x240.png */ \"./src/form/external/images/ui-icons_cc0000_256x240.png\")) + \");\\n}\\n.ui-button .ui-icon {\\n\\tbackground-image: url(\" + escape(__webpack_require__(/*! ./images/ui-icons_777777_256x240.png */ \"./src/form/external/images/ui-icons_777777_256x240.png\")) + \");\\n}\\n\\n/* positioning */\\n.ui-icon-blank { background-position: 16px 16px; }\\n.ui-icon-caret-1-n { background-position: 0 0; }\\n.ui-icon-caret-1-ne { background-position: -16px 0; }\\n.ui-icon-caret-1-e { background-position: -32px 0; }\\n.ui-icon-caret-1-se { background-position: -48px 0; }\\n.ui-icon-caret-1-s { background-position: -65px 0; }\\n.ui-icon-caret-1-sw { background-position: -80px 0; }\\n.ui-icon-caret-1-w { background-position: -96px 0; }\\n.ui-icon-caret-1-nw { background-position: -112px 0; }\\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\\n.ui-icon-arrow-4 { background-position: 0 -80px; }\\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\\n.ui-icon-extlink { background-position: -32px -80px; }\\n.ui-icon-newwin { background-position: -48px -80px; }\\n.ui-icon-refresh { background-position: -64px -80px; }\\n.ui-icon-shuffle { background-position: -80px -80px; }\\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\\n.ui-icon-folder-open { background-position: -16px -96px; }\\n.ui-icon-document { background-position: -32px -96px; }\\n.ui-icon-document-b { background-position: -48px -96px; }\\n.ui-icon-note { background-position: -64px -96px; }\\n.ui-icon-mail-closed { background-position: -80px -96px; }\\n.ui-icon-mail-open { background-position: -96px -96px; }\\n.ui-icon-suitcase { background-position: -112px -96px; }\\n.ui-icon-comment { background-position: -128px -96px; }\\n.ui-icon-person { background-position: -144px -96px; }\\n.ui-icon-print { background-position: -160px -96px; }\\n.ui-icon-trash { background-position: -176px -96px; }\\n.ui-icon-locked { background-position: -192px -96px; }\\n.ui-icon-unlocked { background-position: -208px -96px; }\\n.ui-icon-bookmark { background-position: -224px -96px; }\\n.ui-icon-tag { background-position: -240px -96px; }\\n.ui-icon-home { background-position: 0 -112px; }\\n.ui-icon-flag { background-position: -16px -112px; }\\n.ui-icon-calendar { background-position: -32px -112px; }\\n.ui-icon-cart { background-position: -48px -112px; }\\n.ui-icon-pencil { background-position: -64px -112px; }\\n.ui-icon-clock { background-position: -80px -112px; }\\n.ui-icon-disk { background-position: -96px -112px; }\\n.ui-icon-calculator { background-position: -112px -112px; }\\n.ui-icon-zoomin { background-position: -128px -112px; }\\n.ui-icon-zoomout { background-position: -144px -112px; }\\n.ui-icon-search { background-position: -160px -112px; }\\n.ui-icon-wrench { background-position: -176px -112px; }\\n.ui-icon-gear { background-position: -192px -112px; }\\n.ui-icon-heart { background-position: -208px -112px; }\\n.ui-icon-star { background-position: -224px -112px; }\\n.ui-icon-link { background-position: -240px -112px; }\\n.ui-icon-cancel { background-position: 0 -128px; }\\n.ui-icon-plus { background-position: -16px -128px; }\\n.ui-icon-plusthick { background-position: -32px -128px; }\\n.ui-icon-minus { background-position: -48px -128px; }\\n.ui-icon-minusthick { background-position: -64px -128px; }\\n.ui-icon-close { background-position: -80px -128px; }\\n.ui-icon-closethick { background-position: -96px -128px; }\\n.ui-icon-key { background-position: -112px -128px; }\\n.ui-icon-lightbulb { background-position: -128px -128px; }\\n.ui-icon-scissors { background-position: -144px -128px; }\\n.ui-icon-clipboard { background-position: -160px -128px; }\\n.ui-icon-copy { background-position: -176px -128px; }\\n.ui-icon-contact { background-position: -192px -128px; }\\n.ui-icon-image { background-position: -208px -128px; }\\n.ui-icon-video { background-position: -224px -128px; }\\n.ui-icon-script { background-position: -240px -128px; }\\n.ui-icon-alert { background-position: 0 -144px; }\\n.ui-icon-info { background-position: -16px -144px; }\\n.ui-icon-notice { background-position: -32px -144px; }\\n.ui-icon-help { background-position: -48px -144px; }\\n.ui-icon-check { background-position: -64px -144px; }\\n.ui-icon-bullet { background-position: -80px -144px; }\\n.ui-icon-radio-on { background-position: -96px -144px; }\\n.ui-icon-radio-off { background-position: -112px -144px; }\\n.ui-icon-pin-w { background-position: -128px -144px; }\\n.ui-icon-pin-s { background-position: -144px -144px; }\\n.ui-icon-play { background-position: 0 -160px; }\\n.ui-icon-pause { background-position: -16px -160px; }\\n.ui-icon-seek-next { background-position: -32px -160px; }\\n.ui-icon-seek-prev { background-position: -48px -160px; }\\n.ui-icon-seek-end { background-position: -64px -160px; }\\n.ui-icon-seek-start { background-position: -80px -160px; }\\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\\n.ui-icon-seek-first { background-position: -80px -160px; }\\n.ui-icon-stop { background-position: -96px -160px; }\\n.ui-icon-eject { background-position: -112px -160px; }\\n.ui-icon-volume-off { background-position: -128px -160px; }\\n.ui-icon-volume-on { background-position: -144px -160px; }\\n.ui-icon-power { background-position: 0 -176px; }\\n.ui-icon-signal-diag { background-position: -16px -176px; }\\n.ui-icon-signal { background-position: -32px -176px; }\\n.ui-icon-battery-0 { background-position: -48px -176px; }\\n.ui-icon-battery-1 { background-position: -64px -176px; }\\n.ui-icon-battery-2 { background-position: -80px -176px; }\\n.ui-icon-battery-3 { background-position: -96px -176px; }\\n.ui-icon-circle-plus { background-position: 0 -192px; }\\n.ui-icon-circle-minus { background-position: -16px -192px; }\\n.ui-icon-circle-close { background-position: -32px -192px; }\\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\\n.ui-icon-circle-check { background-position: -208px -192px; }\\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\\n\\n\\n/* Misc visuals\\n----------------------------------*/\\n\\n/* Corner radius */\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-left,\\n.ui-corner-tl {\\n\\tborder-top-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-right,\\n.ui-corner-tr {\\n\\tborder-top-right-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-left,\\n.ui-corner-bl {\\n\\tborder-bottom-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-right,\\n.ui-corner-br {\\n\\tborder-bottom-right-radius: 3px;\\n}\\n\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tbackground: #aaaaaa;\\n\\topacity: .3;\\n\\tfilter: Alpha(Opacity=30); /* support: IE8 */\\n}\\n.ui-widget-shadow {\\n\\t-webkit-box-shadow: 0px 0px 5px #666666;\\n\\tbox-shadow: 0px 0px 5px #666666;\\n}\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/form/external/jquery-ui.css?./node_modules/css-loader"); /***/ }), @@ -182,7 +182,7 @@ eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAu /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FormBuilder; });\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css/iconfont.css */ \"./src/form/css/iconfont.css\");\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_iconfont_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_form_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./css/form.css */ \"./src/form/css/form.css\");\n/* harmony import */ var _css_form_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_form_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./external/jquery-ui.css */ \"./src/form/external/jquery-ui.css\");\n/* harmony import */ var _external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./external/bootstrap-datetimepicker.css */ \"./src/form/external/bootstrap-datetimepicker.css\");\n/* harmony import */ var _external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../node_modules/bootstrap/dist/js/bootstrap.js */ \"./node_modules/bootstrap/dist/js/bootstrap.js\");\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Utils.js */ \"./src/form/Utils.js\");\n/* harmony import */ var _container_CanvasContainer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./container/CanvasContainer.js */ \"./src/form/container/CanvasContainer.js\");\n/* harmony import */ var _Toolbar_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Toolbar.js */ \"./src/form/Toolbar.js\");\n/* harmony import */ var _Palette_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Palette.js */ \"./src/form/Palette.js\");\n/* harmony import */ var _property_PageProperty_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./property/PageProperty.js */ \"./src/form/property/PageProperty.js\");\n/* harmony import */ var _component_Component_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./component/Component.js */ \"./src/form/component/Component.js\");\n/**\r\n * Created by Jacky.Gao on 2017-10-12.\r\n */\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormBuilder {\n constructor(container) {\n window.formBuilder = this;\n this.container = container;\n this.formPosition = \"up\";\n this.toolbar = new _Toolbar_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n this.container.append(this.toolbar.toolbar);\n\n var palette = new _Palette_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n this.propertyPalette = palette.propertyPalette;\n this.components = palette.components;\n this.pageProperty = new _property_PageProperty_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]();\n this.propertyPalette.append(this.pageProperty.propertyContainer);\n this.pageProperty.propertyContainer.show();\n\n this.container.append(palette.tabControl);\n this.containers = [];\n this.instances = [];\n this.initRootContainer();\n }\n initRootContainer() {\n const body = $(\"
                                                                                                \");\n this.container.append(body);\n const shadowContainer = $(\"
                                                                                                \");\n body.append(shadowContainer);\n const container = $(\"
                                                                                                \");\n shadowContainer.append(container);\n const row = $(\"
                                                                                                \");\n const canvas = $(\"
                                                                                                \");\n row.append(canvas);\n container.append(row);\n this.rootContainer = new _container_CanvasContainer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](canvas);\n this.containers.push(this.rootContainer);\n _Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].attachSortable(canvas);\n }\n initData(reportDef) {\n this.reportDef = reportDef;\n reportDef._formBuilder = this;\n let datasources = reportDef.datasources;\n if (!datasources) {\n datasources = [];\n }\n let params = [];\n let datasetMap = new Map();\n for (let ds of datasources) {\n const datasets = ds.datasets || [];\n for (let dataset of datasets) {\n const parameters = dataset.parameters || [];\n params = params.concat(parameters);\n datasetMap.set(dataset.name, dataset.fields);\n }\n }\n this.reportParameters = params;\n this.datasetMap = datasetMap;\n const form = reportDef.searchForm || {};\n if (form) {\n this.formPosition = form.formPosition;\n const components = form.components;\n this.buildPageElements(components, this.rootContainer);\n }\n this.pageProperty.refreshValue();\n }\n\n buildData() {\n this.reportDef.searchFormXml = this.toXml();\n this.reportDef.searchForm = this.toJson();\n }\n\n buildPageElements(elements, parentContainer) {\n if (!elements || elements.length === 0) {\n return;\n }\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var type = element.type;\n var targetComponent;\n $.each(this.components, function (index, c) {\n if (c.component.support(type)) {\n targetComponent = c.component;\n return false;\n }\n });\n if (!targetComponent) {\n throw \"Unknow component : \" + type + \"\";\n }\n _Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].attachComponent(targetComponent, parentContainer, element);\n }\n }\n getInstance(id) {\n let target;\n $.each(this.instances, function (index, item) {\n if (item.id === id) {\n target = item.instance;\n return false;\n }\n });\n return target;\n }\n toJson() {\n const json = { formPosition: this.formPosition };\n json.components = this.rootContainer.toJson();\n return json;\n }\n toXml() {\n let xml = ``;\n xml += this.rootContainer.toXml();\n xml += '';\n return xml;\n }\n getContainer(containerId) {\n var targetContainer;\n $.each(this.containers, function (index, container) {\n if (container.id === containerId) {\n targetContainer = container;\n return false;\n }\n });\n return targetContainer;\n }\n selectElement(instance) {\n var children = this.propertyPalette.children();\n children.each(function (i, item) {\n $(item).hide();\n });\n if (!instance) {\n this.select = null;\n this.pageProperty.refreshValue();\n this.pageProperty.propertyContainer.show();\n return;\n }\n if (this.select) {\n var sameInstance = false;\n if (this.select.prop(\"id\") === instance.prop(\"id\")) {\n sameInstance = true;\n }\n this.select.removeClass(\"pb-hasFocus\");\n this.select = null;\n if (sameInstance) {\n this.pageProperty.refreshValue();\n this.pageProperty.propertyContainer.show();\n return;\n }\n }\n if (!this.select) {\n this.select = instance;\n this.select.addClass(\"pb-hasFocus\");\n } else {\n this.select.removeClass(\"pb-hasFocus\");\n if (this.select != instance) {\n this.select = instance;\n this.select.addClass(\"pb-hasFocus\");\n }\n }\n var instanceId = instance.prop(\"id\");\n $.each(this.instances, function (index, item) {\n if (item.id === instanceId) {\n var instance = item.instance;\n var property = item.property;\n if (!property) {\n return false;\n }\n property.refreshValue(instance);\n property.propertyContainer.show();\n return false;\n }\n });\n }\n addInstance(newInstance, newElement, component) {\n this.instances.push({\n id: newElement.prop(\"id\"),\n instance: newInstance,\n property: component.property\n });\n }\n getComponent(item) {\n var componentId = item.attr(_component_Component_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].ID);\n var target = null;\n $(this.components).each(function (i, item) {\n var id = item.id;\n if (id === componentId) {\n target = item.component;\n return false;\n }\n });\n return target;\n }\n}\n\n//# sourceURL=webpack:///./src/form/FormBuilder.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FormBuilder; });\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css/iconfont.css */ \"./src/form/css/iconfont.css\");\n/* harmony import */ var _css_iconfont_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_iconfont_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_form_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./css/form.css */ \"./src/form/css/form.css\");\n/* harmony import */ var _css_form_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_form_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./external/jquery-ui.css */ \"./src/form/external/jquery-ui.css\");\n/* harmony import */ var _external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_external_jquery_ui_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./external/bootstrap-datetimepicker.css */ \"./src/form/external/bootstrap-datetimepicker.css\");\n/* harmony import */ var _external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_external_bootstrap_datetimepicker_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../node_modules/bootstrap/dist/js/bootstrap.js */ \"./node_modules/bootstrap/dist/js/bootstrap.js\");\n/* harmony import */ var _node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_bootstrap_dist_js_bootstrap_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Utils.js */ \"./src/form/Utils.js\");\n/* harmony import */ var _container_CanvasContainer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./container/CanvasContainer.js */ \"./src/form/container/CanvasContainer.js\");\n/* harmony import */ var _Toolbar_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Toolbar.js */ \"./src/form/Toolbar.js\");\n/* harmony import */ var _Palette_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Palette.js */ \"./src/form/Palette.js\");\n/* harmony import */ var _property_PageProperty_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./property/PageProperty.js */ \"./src/form/property/PageProperty.js\");\n/* harmony import */ var _component_Component_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./component/Component.js */ \"./src/form/component/Component.js\");\n/**\n * Created by Jacky.Gao on 2017-10-12.\n */\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormBuilder {\n constructor(container) {\n window.formBuilder = this;\n this.container = container;\n this.formPosition = \"up\";\n this.toolbar = new _Toolbar_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n this.container.append(this.toolbar.toolbar);\n\n var palette = new _Palette_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n this.propertyPalette = palette.propertyPalette;\n this.components = palette.components;\n this.pageProperty = new _property_PageProperty_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]();\n this.propertyPalette.append(this.pageProperty.propertyContainer);\n this.pageProperty.propertyContainer.show();\n\n this.container.append(palette.tabControl);\n this.containers = [];\n this.instances = [];\n this.initRootContainer();\n }\n initRootContainer() {\n const body = $(\"
                                                                                                \");\n this.container.append(body);\n const shadowContainer = $(\"
                                                                                                \");\n body.append(shadowContainer);\n const container = $(\"
                                                                                                \");\n shadowContainer.append(container);\n const row = $(\"
                                                                                                \");\n const canvas = $(\"
                                                                                                \");\n row.append(canvas);\n container.append(row);\n this.rootContainer = new _container_CanvasContainer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](canvas);\n this.containers.push(this.rootContainer);\n _Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].attachSortable(canvas);\n }\n initData(reportDef) {\n this.reportDef = reportDef;\n reportDef._formBuilder = this;\n let datasources = reportDef.datasources;\n if (!datasources) {\n datasources = [];\n }\n let params = [];\n let datasetMap = new Map();\n for (let ds of datasources) {\n const datasets = ds.datasets || [];\n for (let dataset of datasets) {\n const parameters = dataset.parameters || [];\n params = params.concat(parameters);\n datasetMap.set(dataset.name, dataset.fields);\n }\n }\n this.reportParameters = params;\n this.datasetMap = datasetMap;\n const form = reportDef.searchForm || {};\n if (form) {\n this.formPosition = form.formPosition;\n const components = form.components;\n this.buildPageElements(components, this.rootContainer);\n }\n this.pageProperty.refreshValue();\n }\n\n buildData() {\n this.reportDef.searchFormXml = this.toXml();\n this.reportDef.searchForm = this.toJson();\n }\n\n buildPageElements(elements, parentContainer) {\n if (!elements || elements.length === 0) {\n return;\n }\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var type = element.type;\n var targetComponent;\n $.each(this.components, function (index, c) {\n if (c.component.support(type)) {\n targetComponent = c.component;\n return false;\n }\n });\n if (!targetComponent) {\n throw \"Unknow component : \" + type + \"\";\n }\n _Utils_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].attachComponent(targetComponent, parentContainer, element);\n }\n }\n getInstance(id) {\n let target;\n $.each(this.instances, function (index, item) {\n if (item.id === id) {\n target = item.instance;\n return false;\n }\n });\n return target;\n }\n toJson() {\n const json = { formPosition: this.formPosition };\n json.components = this.rootContainer.toJson();\n return json;\n }\n toXml() {\n let xml = ``;\n xml += this.rootContainer.toXml();\n xml += '';\n return xml;\n }\n getContainer(containerId) {\n var targetContainer;\n $.each(this.containers, function (index, container) {\n if (container.id === containerId) {\n targetContainer = container;\n return false;\n }\n });\n return targetContainer;\n }\n selectElement(instance) {\n var children = this.propertyPalette.children();\n children.each(function (i, item) {\n $(item).hide();\n });\n if (!instance) {\n this.select = null;\n this.pageProperty.refreshValue();\n this.pageProperty.propertyContainer.show();\n return;\n }\n if (this.select) {\n var sameInstance = false;\n if (this.select.prop(\"id\") === instance.prop(\"id\")) {\n sameInstance = true;\n }\n this.select.removeClass(\"pb-hasFocus\");\n this.select = null;\n if (sameInstance) {\n this.pageProperty.refreshValue();\n this.pageProperty.propertyContainer.show();\n return;\n }\n }\n if (!this.select) {\n this.select = instance;\n this.select.addClass(\"pb-hasFocus\");\n } else {\n this.select.removeClass(\"pb-hasFocus\");\n if (this.select != instance) {\n this.select = instance;\n this.select.addClass(\"pb-hasFocus\");\n }\n }\n var instanceId = instance.prop(\"id\");\n $.each(this.instances, function (index, item) {\n if (item.id === instanceId) {\n var instance = item.instance;\n var property = item.property;\n if (!property) {\n return false;\n }\n property.refreshValue(instance);\n property.propertyContainer.show();\n return false;\n }\n });\n }\n addInstance(newInstance, newElement, component) {\n this.instances.push({\n id: newElement.prop(\"id\"),\n instance: newInstance,\n property: component.property\n });\n }\n getComponent(item) {\n var componentId = item.attr(_component_Component_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].ID);\n var target = null;\n $(this.components).each(function (i, item) {\n var id = item.id;\n if (id === componentId) {\n target = item.component;\n return false;\n }\n });\n return target;\n }\n}\n\n//# sourceURL=webpack:///./src/form/FormBuilder.js?"); /***/ }), @@ -194,7 +194,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Palette; });\n/* harmony import */ var _component_Grid2X2Component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component/Grid2X2Component.js */ \"./src/form/component/Grid2X2Component.js\");\n/* harmony import */ var _component_GridSingleComponent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component/GridSingleComponent.js */ \"./src/form/component/GridSingleComponent.js\");\n/* harmony import */ var _component_Grid3x3x3Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component/Grid3x3x3Component.js */ \"./src/form/component/Grid3x3x3Component.js\");\n/* harmony import */ var _component_Grid4x4x4x4Component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./component/Grid4x4x4x4Component.js */ \"./src/form/component/Grid4x4x4x4Component.js\");\n/* harmony import */ var _component_GridCustomComponent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./component/GridCustomComponent.js */ \"./src/form/component/GridCustomComponent.js\");\n/* harmony import */ var _component_TextComponent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./component/TextComponent.js */ \"./src/form/component/TextComponent.js\");\n/* harmony import */ var _component_RadioComponent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./component/RadioComponent.js */ \"./src/form/component/RadioComponent.js\");\n/* harmony import */ var _component_CheckboxComponent_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./component/CheckboxComponent.js */ \"./src/form/component/CheckboxComponent.js\");\n/* harmony import */ var _component_SelectComponent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./component/SelectComponent.js */ \"./src/form/component/SelectComponent.js\");\n/* harmony import */ var _component_SubmitButtonComponent_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./component/SubmitButtonComponent.js */ \"./src/form/component/SubmitButtonComponent.js\");\n/* harmony import */ var _component_ResetButtonComponent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./component/ResetButtonComponent.js */ \"./src/form/component/ResetButtonComponent.js\");\n/* harmony import */ var _component_DatetimeComponent_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./component/DatetimeComponent.js */ \"./src/form/component/DatetimeComponent.js\");\n/**\r\n * Created by Jacky.Gao on 2017-10-12.\r\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Palette {\n constructor() {\n this.components = [];\n this.initContainer();\n this.initComponents();\n }\n initComponents() {\n this.addComponent(new _component_GridSingleComponent_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n icon: \"form form-1col\",\n label: \"一列布局\"\n }));\n this.addComponent(new _component_Grid2X2Component_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n icon: \"form form-2col\",\n label: \"两列布局\"\n }));\n this.addComponent(new _component_Grid3x3x3Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n icon: \"form form-3col\",\n label: \"三列布局\"\n }));\n this.addComponent(new _component_Grid4x4x4x4Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n icon: \"form form-4col\",\n label: \"四列布局\"\n }));\n this.addComponent(new _component_GridCustomComponent_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n icon: \"form form-custom-col\",\n label: \"自定义列布局\"\n }));\n this.addComponent(new _component_TextComponent_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n icon: \"form form-textbox\",\n label: \"文本框\"\n }));\n this.addComponent(new _component_DatetimeComponent_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n icon: \"glyphicon glyphicon-calendar\",\n label: \"日期选择框\"\n }));\n this.addComponent(new _component_RadioComponent_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n icon: \"form form-radio\",\n label: \"单选框\"\n }));\n this.addComponent(new _component_CheckboxComponent_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n icon: \"form form-checkbox\",\n label: \"复选框\"\n }));\n this.addComponent(new _component_SelectComponent_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n icon: \"form form-dropdown\",\n label: \"单选列表\"\n }));\n this.addComponent(new _component_SubmitButtonComponent_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]({\n icon: \"form form-submit\",\n label: \"提交按钮\"\n }));\n this.addComponent(new _component_ResetButtonComponent_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]({\n icon: \"form form-reset\",\n label: \"重置按钮\"\n }));\n }\n initContainer() {\n this.tabControl = $(\"
                                                                                                \");\n var ul = $(\"